第3章CS-5指令系统 (3)对于低128字节内部RAM,可以用直接寻址方式,也可 以用寄存器间接寻址方式,例如: MOV32H#23H;将立即数23H传送到内部RAM的 32H单元中,目的操作数使用了直 接寻址方式 MOV@RQ,#23H;假设该指令执行前,R0中的内容 为32H,则该指令的作用与上条指 令相同, ;也是将立即数23H传送到内部RAM 的32H单元中,只是目的操作数采 用寄存器间接寻址方式
第3章 MCS-51指令系统 (3) 对于低128字节内部RAM,可以用直接寻址方式,也可 以用寄存器间接寻址方式,例如: MOV 32H,#23H ; 将立即数23H传送到内部RAM的 32H单元中,目的操作数使用了直 接寻址方式 MOV @R0,#23H ; 假设该指令执行前,R0中的内容 为32H,则该指令的作用与上条指 令相同, ; 也是将立即数23H传送到内部RAM 的32H单元中,只是目的操作数采 用寄存器间接寻址方式
第3章CS-5指令系统 (4)对于特殊功能寄存器,在指令中除了可以使用寄存器直 接地址外,还可以引用寄存器名,如“MOVP1,#23H”与 “MOV9OH,#23H等价。 (5)由于存在多种寻址方式,因此实现同一操作可用不同的指令 灵活性大。例如,“MOV32H,#23H与“MOV@R0,#23H(假 设此时R内容为32H)的功能相同,只是机器码不同
第3章 MCS-51指令系统 (4) 对于特殊功能寄存器,在指令中除了可以使用寄存器直 接地址外,还可以引用寄存器名,如“MOV P1,#23H”与 “MOV 90H,#23H”等价。 (5) 由于存在多种寻址方式,因此实现同一操作可用不同的指令, 灵活性大。例如,“MOV 32H,#23H”与“MOV @R0,#23H (假 设此时R0内容为32H)”的功能相同,只是机器码不同
第3章CS-5指令系统 (6)尽管寄存器B是CPU内寄存器,但MCS-51指令系统没有提 供B寄存器的寄存器寻址方式(只有乘法指令例外),例如“MOV B,A指令中目的操作数的寻址方式是直接寻址方式,并不是寄 存器寻址方式
第3章 MCS-51指令系统 (6) 尽管寄存器B是CPU内寄存器,但MCS-51指令系统没有提 供B寄存器的寄存器寻址方式(只有乘法指令例外),例如“MOV B,A”指令中目的操作数的寻址方式是直接寻址方式,并不是寄 存器寻址方式
第3章CS-5指令系统 (7)在同一指令中,只允许其中的一个操作数使用寄存器间 接寻址方式,因而如下指令将是非法指令: MOV ORO, aRI 52子系列内部RAM高128字节之间不能直接传送,必须通过累 加器A或内部RAM作为中介,例如将内部RAM的82H单元传送 到内部RAM的8FH单元时,可用如下指令实现 MOV RO.#82H MOⅤA,@RO MOV RO.#8FH MOV aRO.A
第3章 MCS-51指令系统 (7) 在同一指令中,只允许其中的一个操作数使用寄存器间 接寻址方式,因而如下指令将是非法指令: MOV @R0,@R1 52子系列内部RAM高128字节之间不能直接传送,必须通过累 加器A或内部RAM作为中介,例如将内部RAM的82H单元传送 到内部RAM的8FH单元时,可用如下指令实现: MOV R0, #82H MOV A, @R0 MOV R0, #8FH MOV @R0, A
第3章CS-5指令系统 【例用单步方式执下列指令并观家指令执行而后, 内部RAM有关单元内容和程序状态字PSW中Cy、Ac、OV、P等 标志位的变化,了解数据传送指令对标志位的影响。 MOV 30H.#O1H 把立即数01H传送到内部RAM 30H单元 MOVA,30H;该指令执行后累加器A内容为01H,含有奇数个 因此P标志位为 MOV A#03H ;该指令执行后累加器Acc内容为03H,含 有偶数个“1”,因此P标志位为0 MOV 30H#03H ;尽管执行后,30H单元内容也是03H,但 传送的目的地址不是累加器Acc,因此标志 位没有变化
第3章 MCS-51指令系统 【例3.1】 用单步方式执行下列指令,并观察指令执行前后, 内部RAM有关单元内容和程序状态字PSW中Cy、Ac、OV、P等 标志位的变化,了解数据传送指令对标志位的影响。 MOV 30H, #01H ;把立即数01H传送到内部RAM 30H单元 MOV A, 30H ;该指令执行后累加器A内容为01H,含有奇数个“1” , 因此P标志位为1 MOV A, #03H ;该指令执行后累加器Acc内容为03H,含 有偶数个“1” ,因此P标志位为0 MOV 30H, #03H ;尽管执行后,30H单元内容也是03H,但 传送的目的地址不是累加器Acc,因此标志 位没有变化