3)三字节指令(17条) 这类指令的指令码的第一字节为操作码,第 二、三字节为操作数或操作数地址 操作码 例如:指令 MOV DPTR,#data161 操作数1 操作数2 10010000 Data15-8 Data7-0
这类指令的指令码的第一字节为操作码,第 二、三字节为操作数或操作数地址。 3)三字节指令(17条) 操作码 操作数1 操作数2 例如:指令MOV DPTR,#data16 10010000 Data15-8 Data7-0
3.2寻址方式 寻址方式中常用符号的说明 (1)Rn:表示当前工作岢存器组中8个工作岢存 器,(n=0-7)中的一个。 (2)@Ri:表示岢存器间接寻址,Ri只能 是R0或R1。 (3)#data8:8t立即数(常数),实际使用时 data应是00H-0FFH中的一个。 (4)# datal6:表示包含在指令中的16位立 即数。范围:0000H-0 FFFFH
一、寻址方式中常用符号的说明 (1)Rn:表示当前工作寄存器组中8个工作寄存 器,(n=0-7)中的一个。 (2) @ Ri: 表 示 寄 存 器 间 接 寻 址 , Ri只 能 是R0或R1。 (3)#data8:8位立即数(常数),实际使用时 data应是00H-0FFH中的一个。 (4)#data16: 表 示 包 含 在 指 令 中 的 16 位 立 即数。范围: 0000H-0FFFFH 3.2 寻址方式
(5) direct:表示8位片内数据存储器(RAM) 单元的直接地址。 (6addr16:表示16的目的地址。 (7addr1l:表示1位的目的地址。 (8)re:表示8位带符号的偏移量。 9DPTR:为数据指针,用作16位 的地址岢存器。 (10)Bit:表示间部RAM或专用寄存器中 的直接寻址俭地址
(5)direct:表示8位片内数据存储器(RAM) 单元的直接地址。 (6)addr16:表示16位的目的地址。 (7)addr11:表示11位的目的地址。 (8)rel:表示8位带符号的偏移量。 (9)DPTR:为数据指针,用作16位 的地址寄存器。 (10)Bit:表示内部RAM或专用寄存器中 的直接寻址位地址
(11)A:累加器ACC。 (12)B:专用岢存器,用于MUL和DⅠⅤ指 令中。 (13)@:为间址睿存器或基址岢存器的前 级。如@Ri,@A+PC,@A+DPTR。 (14):位操数的前级,表示对该位操作 数取反。如/bit (15)$:正在执行的指令的地址。 (16)(×):×中的内容。 (17)(×):由×指出的地址单元中的内容
(11)A:累加器ACC。 (12)B : 专 用 寄 存 器 , 用 于 MUL 和 DIV 指 令中。 (13)@ :为间址寄存器或基址寄存器的前 缀。如@Ri, @A+PC,@A+DPTR。 (14)/ : 位 操 数 的 前 缀 , 表 示 对 该 位 操 作 数取反。如/bit. (15)$:正在执行的指令的地址。 (16)(×): ×中的内容。 (17)((×)): 由×指出的地址单元中的内容
指令字节數判断 操作码目的搡作凱,源搡怍飘 1、操作數都在Rn(n=0-)、A、B、DPTR、Cy、@Ri A+DPTR、@A+PC范围中,是单字节指令。 2、两操作數中有一个在此范围,指令字节數需恨据 另一操作飘来判断,如是8的地址或立即數则是飘 字节指令;如是的地扯或立即數则是三字节指令。 3、操作数都不在此范围,则肯定是三字节指今
指令字节数判断 操作码 目的操作数 ,源操作数 1、操作数都在Rn(n=0-7)、A、B、DPTR、Cy 、@Ri、 @A+DPTR、@A+PC范围中,是单字节指令。 2、两操作数中有一个在此范围,指令字节数需根据 另一操作数来判断,如是8位的地址或立即数则是双 字节指令;如是16位的地址或立即数则是三字节指令。 3、操作数都不在此范围,则肯定是三字节指令