文档详情

第三章MCS-51单片机的指令系统1.ppt

发布:2017-08-20约1.87万字共119页下载文档
文本预览下载声明
b) 转移地址范围的确定:转移地址通常以SJMP指令始址为参照点,但实际的参照点是对PC+2,因rel的取值范围是-128~+127, 故可得到转移地址的实际转移范围为-126~+129。 ④ 变址寻址转移指令 机器码: 73H 该类指令是一条单字节双周期无条件转移指令。 在64KB地址范围内无条件转移。 JMP @A+DPTR; PC A+DPTR JZ rel ; A=0 PC PC+2+rel A≠ 0 PC PC+2 JNZ rel ; A≠0 PC PC+2+rel A=0 PC PC+2 ①累加器A判零转移(2条) 2)条件转移指令 CJNE A, #data, rel ;不相等转移 ;#data=A, PC ← PC+3, C ← 0 ;#dataA, PC ← PC+3+rel, C ← 0 ;#dataA, PC ← PC+3+rel, C ← 1 CJNE A, direct,rel ;不相等转移 ;若A=(direct) ,则PC←PC+3,C←0 ;若A(direct) ,则PC←PC+3+rel, C←0 ;若A(direct) ,则PC←PC+3+rel, C←1 ②不相等转移(影响标志位) CJNE Rn, #data, rel ;不相等转移 ;若Rn=data ,则PC←PC+3,C←0 ;若Rndata ,则PC←PC+3+rel, C←0 ;若Rndata ,则PC←PC+3+rel, C←1 CJNE @Ri,#data, rel ;不相等转移 ;若(Ri)=data ,则PC←PC+3,C←0 ;若(Ri)data ,则PC←PC+3+rel, C←0 ;若(Ri)data ,则PC←PC+3+rel, C←1 ORG 2000H CLR A MOV R0, #30H LOOP0:CJNE @R0, #64H, LOOP1 INC A LOOP1: INC R0 CJNE R0, #3FH, LOOP0 SJMP $ 例3.19 在内部RAM 30H~3FH中找出值为100(64H)的单元有多少个? MOV R1, #0FH DJNZ R1, LOOP0 DJNZ direct, rel ;(direct) ←(direct)-1 ;若(direct)≠0,则PC←PC+3+rel ;若(direct)=0,则PC←PC+3 DJNZ Rn, rel ;Rn ← Rn-1 ;若Rn=0 则 PC ← PC+2 ;若Rn≠0 则PC ← PC+2+rel ③减一不为零转移   ORG 1000H MOV R0, #9 CLR A LOOP: ADD A, R0 DJNZ R0, LOOP
显示全部
相似文档