本帖最后由 吾要单片机 于 2013-10-3 00:00 编辑
X86指令MOVSB仿真:
MOVI R0, #256;
MRS RC, R0;//设置重复计数器
REPEAT: LDBRP R0, [R1+],#1,FJMP REP_EXIT;//取值,指针自增1个单位,条件码RP
STB R0, [R2+],#1,JMP REPEAT; //存值,指针自增1个单位
REP_EXIT:...
X86指令MOVSW仿真:
MOVI R0, #256;
MRS RC, R0;//设置重复计数器
REPEAT: LDHRP R0, [R1+],#1,FJMP REP_EXIT;//取值,指针自增1个单位,条件码RP
STH R0, [R2+],#1,JMP REPEAT; //存值,指针自增1个单位
REP_EXIT:...
X86指令MOVSD仿真:
MOVI R0, #256;
MRS RC, R0;//设置重复计数器
REPEAT: LDWRP R0, [R1+],#1,FJMP REP_EXIT;//取值,指针自增1个单位,条件码RP
STW R0, [R2+],#1,JMP REPEAT; //存值,指针自增1个单位
REP_EXIT:...
X86指令INSW仿真:
MOVI R0, #256;
MRS RC, R0;//设置重复计数器
REPEAT: INSWRP [R2+], [R1],JMP REPEAT;//R1为IO口地址,目的指针自增1个单位,
条件码RP
X86指令OUTSW仿真:
MOVI R0, #256;
MRS RC, R0;//设置重复计数器
REPEAT: OUTSWRP [R2+], [R1],JMP REPEAT;//R1为IO口地址,源指针自增1个单位,条件码RP
X86指令CMPSB仿真:
MOVI R0, #256;
MRS RC, R0;//设置重复计数器
CLR Z;
REPEAT: LDBRZ R2, [R1+],#1,FJMP REP_EXIT;//取值,指针自增1个单位,条件码RZ
LDB R4, [R3+],#1; //取值,指针自增1个单位
CMP R2, R4,JMP REPEAT; //比较
REP_EXIT:...
X86指令CMPSW仿真:
MOVI R0, #256;
MRS RC, R0;//设置重复计数器
CLR Z;
REPEAT: LDHRZ R2, [R1+],#1,FJMP REP_EXIT;//取值,指针自增1个单位,条件码RZ
LDH R4, [R3+],#1; //取值,指针自增1个单位
CMP R2, R4,JMP REPEAT; //比较
REP_EXIT:...
X86指令SCASW仿真:
MOVI R0, #256;
MRS RC, R0;//设置重复计数器
CLR Z;
REPEAT: LDHRZ R2, [R1+],#1,FJMP REP_EXIT;//取值,指针自增1个单位,条件码RZ
CMP R2, R4,JMP REPEAT; //比较
REP_EXIT:...
X86指令LODS仿真:
LDW Rd, [Rn+], #1;//取值,指针自增1个单位
X86指令STOS仿真:
STW Rd, [Rn+], #1;//存值,指针自增1个单位
|