弗原創IT教育中心 6.相对寻址 当前PC值加上指令中规定的偏移量re1,构成 实际的操作数地址 例: SJMP rel 操作:跳转到的目的地址=当前16位PC值+rel 注意: 1)“当前PC值”指程序中下一条指令所在的首地 址,是一个16位数; 2)符号“rel”表示“偏移量”,是一个带符号的单 字节数,范围是:-128+127(80H_-7F 在实际编程中,“re1”通常用标号代替
当前PC值加上指令中规定的偏移量 值加上指令中规定的偏移量 rel,构成 实际的操作数地址 实际的操作数地址 例: SJMP rel 操作:跳转到的目的地址 跳转到的目的地址 = 当前16位PC值 + rel ⒍ 相对寻址 注意: 1)“当前PC值”指程序中下一条指令所在的首地 址,是一个16位数; 2)符号“rel”表示“偏移量”,是一个带符号的单 字节数,范围是:-128—+127(80H—7FH) 在实际编程中,“rel” 通常用标号代替
弗原創IT教育中心 例:2000H:SJMP08H; 原PC值为2000H;执行这条指令后的当前PC 值为2002H,rel为08H。2002H+08H=200AH,转 移目的地址为200AH,程序就跳转至200AH去执行 右图为SJMP08H相对 ROM 寻址示意图 208S¥作码 通常用标号代替 02a 当前C207 例: SJMP LOOP1 200AH 转移目地址:0dH4
例:2000H:SJMP 08H ; 原PC值为2000H;执行这条指令后的当前PC 值为2002H,rel为08H。2002H+08H=200AH,转 移目的地址为200AH,程序就跳转至200AH去执行 右图为SJMP 08H相对 寻址示意图。 在实际编程中,“rel” 通常用标号代替 例:SJMP LOOP1
弗原創IT教育中心 7.位寻址 位寻址是对内RAM和特殊功能寄存器中的 可寻址位进行操作的寻址方式。 指令中直接给出了操作数所在的位地址 例:CLRP1.0;(P1.0)←0 SETB ACC.7;(ACC.7)←1 CPL C (C)←NOT(C MOVC.07H;将位地址07H(字节 地址2OH中最 高位)中的数据传 送至进位位Cy
;将位地址07H(字节 地址20H中最 高位)中的数据传 送至进位位Cy。 ⒎ 位寻址 位寻址是对内RAM和特殊功能寄存器中的 可寻址位进行操作的寻址方式。 MOV C,07H 指令中直接给出了操作数所在的位地址。 例: CLR P1.0 ;(P1.0) ← 0 SETB ACC.7 ;(ACC.7)← 1 CPL C ;( C )← NOT( C )
弗原創IT教育中心 注意 1)位地址里的数据只可能是一个0或1 2)有的位地址十分明确,如P1.0,ACC.7等,有 的位地址则“不太明确”,如: MOVA,17H;(A)←(17H),17H是字节地址 MOV ACO.0,17H;(ACC.0)←(17H),这里 ACC.0是位地址所以该指令中的17H是22H单元的 第7位
注意: 1)位地址里的数据只可能是一个 0 或 1 2)有的位地址十分明确,如 P1.0, ACC.7等,有 的位地址则“不太明确”,如: MOV A,17H ; (A)←(17H),17H是字节地址 MOV ACC.0 , 17H ;(ACC.0)←(17H), 这 里 ACC.0 是位地址所以该指令中的17H是22H单元的 第7位
弗原創IT教育中心 7-2指令系统 数据传送类指令 算术运算类指令 逻辑运算及移位指令 位操作类指令 控制转移类指令
7-2 指令系统 数据传送类指令 数据传送类指令 算术运算类指令 算术运算类指令 逻辑运算及移位指令 逻辑运算及移位指令 位操作类指令 控制转移类指令 控制转移类指令