操作码 | 操作数 | 条 件 | 转 移 地 址 | 说 明 | ||||
AJMP | addr11 | 无条件 | (PC)←(PC)+2 (PC)0-10←addr11 | 短转移,只改变PC的低11位,转移范围2K。 | ||||
LJMP | addr16 | 无条件 | (PC)←addr16 | 长转移,转移范围全64K空间 | ||||
SJMP | rel | 无条件 | (PC)←(PC)+2+rel | 相对转移 ,范围-126~+129。 | ||||
JMP | @A+DPTR | 无条件 | (PC)←(A)+(DPTR) | 散转指令,根据A值变址转移 | ||||
ACALL | addr11 | 无条件 | (PC)←(PC)+ 2 (PC)L、(PC)H压栈 (PC)0-10←addr11 | 短调用,只改变PC的低11位,转移范围2K。 | ||||
LCALL | addr16 | 无条件 | (PC)←(PC)+ 3 (PC)L、(PC)H压栈 (PC)←addr16 | 长调用,调用范围全64K空间 | ||||
RET | 隐含 ((SP)) | 无条件 | (PC)H←((SP)) (PC)L←((SP)-1)) | 子程序返回。 | ||||
RETI | 中断返回。 | |||||||
JZ | rel | (A)= 0 | (PC)←(PC)+2+rel | 根据A的值条件转移。 | ||||
JNZ | (A)≠0 | |||||||
JC | rel | (C)= 0 | (PC)←(PC)+2+rel | 根据C的值条件转移。 | ||||
JNC | (C)= 1 | |||||||
JNB | bit, rel | (bit)=0 | (PC)←(PC)+3+rel | 位值判别转移。(负逻辑) | ||||
JB | (bit)=1 | 位值判别转移。(正逻辑) | ||||||
JBC | (bit)=1 | 同 JB ,加(bit)清零功能。 | ||||||
DJNZ | Rn, rel | (Rn)-1≠0 | (PC)←(PC)+2+rel | 循环指令。循环计数器自动 减1,归0则退出循环。 | ||||
dir, rel | (dir)-1≠0 | (PC)←(PC)+3+rel | ||||||
操作码 | 操作数 | 条 件 | 转 移 地 址 | 说 明 | ||||
CJNE | A,dir,rel A,#data,rel Rn,#data,rel @Ri,#data,rel | (A)≠(direct) (A)≠#data (Rn)≠#data ((Ri))≠#data | (PC)←(PC)+3+rel | 按无符号数比较,两数不等则转移。若前一数小,C置1;若前一数不小于后一数,C清零。 | ||||
NOP | 无 | 无 | (PC)←(PC)+1 | 空操作,顺序执行。 | ||||
指令 | 转移地址 | 转移范围 | 说明 |
AJMP addr11 | (PC)+2的高5位 + addr11 | (PC)+2所在的2k页 | 2k页:X000H~X7FFH X800H~XFFFH |
LJMP addr16 | addr16 | 全64k空间 | |
SJMP rel | (PC)+2+rel | (PC)-126~(PC)+129 | Rel是8位有符号数 |
文章评论(0条评论)
登录后参与讨论