第3章MCS51的指令糸统 介绍MCS-51汇编语言的指令系统。 3.1指令糸统概述 McS-51的基本指令共111条,按指令所占的字节来分: (1)单字节指令49条; (2)双字节指令45条; (3)三字节指令17条。 按指令的执行时间来分: (1)1个机器周期(12个时钟振荡周期)的指令64 条条 (2)2个机器周期(24个时钟振荡周期)的指令45
第3章 MCS-51的指令系统 介绍MCS-51汇编语言的指令系统。 3.1 指令系统概述 MCS-51的基本指令共111条,按指令所占的字节来分: (1) 单字节指令49条; (2) 双字节指令45条; (3) 三字节指令17条。 按指令的执行时间来分: (1) 1个机器周期(12个时钟振荡周期)的指令64 条; (2) 2个机器周期(24个时钟振荡周期)的指令45 条;
(3)只有乘、除两条指令的执行时间为4个机器周期 (48个时钟振荡周期) 12MHz晶振:机器周期为1μs。 3.2指令格式 两部分组成,即操作码和操作数。 操作码用来规定指令进行什么操作 操作数则是指令操作的对象 有单字节指令、双字节指令、三字节不同长度的指令, 格式不同: (1)单字节指令:指令只有一个字节,操作码和操 作数同在一个字节中
(3) 只有乘、除两条指令的执行时间为4个机器周期 (48个时钟振荡周期)。 12MHz晶振:机器周期为1s。 3.2 指令格式 两部分组成,即操作码和操作数。 操作码用来规定指令进行什么操作 操作数则是指令操作的对象 有单字节指令、双字节指令、三字节不同长度的指令, 格式不同: (1)单字节指令:指令只有一个字节,操作码和操 作数同在一个字节中
(2)双字节指令:一个字节为操作码,另一个字节 是操作数。 (3)三字节指令:操作码占一个字节,操作数占二 个字节。其中操作数既可能是数据,也可能是地址。 3.3指令条统的寻址方式 寻址方式就是在指令中说明操作数所在地址的方法。 共7种寻址方式。 1.寄存器寻址方式 操作数在寄存器中 MOv A Rn: (Rn)A, n=0-7 表示把寄存器Rn的内容传送给累加器A
(2)双字节指令:一个字节为操作码,另一个字节 是操作数。 (3)三字节指令:操作码占一个字节,操作数占二 个字节。其中操作数既可能是数据,也可能是地址。 3.3 指令系统的寻址方式 寻址方式就是在指令中说明操作数所在地址的方法。 共7种寻址方式。 1.寄存器寻址方式 操作数在寄存器中 MOV A,Rn ;(Rn)→A,n=0~7 表示把寄存器Rn的内容传送给累加器A
寻址范围包括: (1)4组通用工作寄存区共32个工作寄存器。 (2)部分特殊功能寄存器,例如A、B以及数据指针 寄存器DPTR等。 2.直接寻址方式 操作数直接以单元地址的形式给出: MOV A 40H 寻址范围: (1)内部RAM的128个单元 (2)特殊功能寄存器。除了以单元地址的形式外, 还可用寄存器符号的形式给出。例如: M0VA,80H与MVA,P0是等价的。 直接寻址方式是访问特殊功能寄存器的唯一寻址方式
寻址范围包括: (1)4组通用工作寄存区共32个工作寄存器。 (2)部分特殊功能寄存器,例如A、B 以及数据指针 寄存器DPTR等。 2.直接寻址方式 操作数直接以单元地址的形式给出: MOV A,40H 寻址范围: (1) 内部RAM的128个单元 (2) 特殊功能寄存器。除了以单元地址的形式外, 还可用寄存器符号的形式给出。例如: MOV A,80H 与 MOV A,P0是等价的。 直接寻址方式是访问特殊功能寄存器的唯一寻址方式
3.寄存器间接寻址方式 寄存器中存放的是操作数的地址 在寄存器的名称前面加前缓标志“@” 访问内部RAM或外部数据存储器的低256个字节时,只 能采用R或R1作为间址寄存器。例如: Mov A, @Ri ;i=0或1 其中R中的内容为40H,把内部RAM中40H单元的内容送 到A 寻址范围: (1)访问内部RAM低128个单元,其通用形式为@Ri (2)对片外数据存储器的64K字节的间接寻址,例如: MOVX A @DPTR
3. 寄存器间接寻址方式 寄存器中存放的是操作数的地址 在寄存器的名称前面加前缀标志“@” 访问内部RAM或外部数据存储器的低256个字节时,只 能采用R0或R1作为间址寄存器。例如: MOV A,@Ri ;i=0或1 其中Ri中的内容为40H,把内部RAM中40H单元的内容送 到A。 寻址范围: (1)访问内部RAM低128个单元,其通用形式为@Ri (2)对片外数据存储器的64K字节的间接寻址,例如: MOVX A,@DPTR