中级会员
 
- 积分
- 291
- 金钱
- 291
- 注册时间
- 2014-11-6
- 在线时间
- 24 小时
|

楼主 |
发表于 2015-6-28 22:12:35
|
显示全部楼层
回复【2楼】正点原子:
---------------------------------
PLC_MAIN
LDR R12,=S_start
;R12=#0x20000200=#S_start
MOV R11,#STACK0;R11=#STACK0=#0x20000000
MOV R10,#0x0001;R10=#1
LDR R0,=PLC_PC_SP
MOV R1,#0
STR R1,[R0]
LDR R7,=PLC_CODE
PLC_MAIN_NEXT
LDRH R0,[R7]
LSR R1,R0,#12;R1=R0>>12
TBH.W [PC,R1,LSL #1]
branchtable
DCI ((CMD_0 - branchtable)/2) ;0xxx
DCI ((CMD_1 - branchtable)/2) ;1xxx
DCI ((LD_ - branchtable)/2) ;2xxx LD
DCI ((LDI_ - branchtable)/2) ;3xxx LDI
DCI ((AND_ - branchtable)/2) ;4xxx AND
DCI ((ANI_ - branchtable)/2) ;5xxx ANI
DCI ((OR_ - branchtable)/2) ;6xxx OR
DCI ((ORI_ - branchtable)/2) ;7xxx ORI
DCI ((CMD_ERROR - branchtable)/2) ;8xxx
DCI ((CMD_ERROR - branchtable)/2) ;9xxx
DCI ((CMD_ERROR - branchtable)/2) ;Axxx
DCI ((CMD_ERROR - branchtable)/2) ;Bxxx  n
DCI ((OUT_YM - branchtable)/2) ;Cxxx OUT_YM
DCI ((SET_YM - branchtable)/2) ;Dxxx SET_YM
DCI ((RST_YM - branchtable)/2) ;Exxx RST_YM
DCI ((CMD_F - branchtable)/2) ;Fxxx |
|