第3章 MCS-51系列单片机的指令系统及汇编语言程序设计

时间:2026-01-17

第3章 MCS-51系列单片机的指令系统 章 系列单片机的指令系统 及汇编语言程序设计主要内容寻址方式 指令系统 传送与交换指令 算术运算、 算术运算、逻辑运算指令 控制转移指令 位操作指令 伪指令 程序设计举例

计算机通过执行程序完成人们指定的任务, 计算机通过执行程序完成人们指定的任务, 程序由一条一条指令构成,能为CPU CPU识别并执行的 程序由一条一条指令构成,能为CPU识别并执行的 指令的集合就是该CPU 指令系统。 CPU的 指令的集合就是该CPU的指令系统。 MCS-51单片机汇编语言指令格式: MCS-51单片机汇编语言指令格式: 单片机汇编语言指令格式 操作符 目的操作数,源操作数 目的操作数,

操作符指明该指令完成什么操作; 操作符指明该指令完成什么操作; 操作数是指明该指令的操作对象。 操作数是指明该指令的操作对象。 目的操作数是存放结果的。 目的操作数是存放结果的。 寻址方式。 指令中操作数提供的方式称为寻址方式 指令中操作数提供的方式称为寻址方式。

指令中的常用符号 Rn: Ri: 表示当前工作寄存器R0~R7中的一个。 表示当前工作寄存器R0~R7中的一个。 R0 中的一个 代表R0和R1寄存器中的一个,用作间接寻址寄存器。 代表R0和R1寄存器中的一个,用作间接寻址寄存器。 R0 寄存器中的一个

位直接字节地址( dir : 8 位直接字节地址(片内 RAM 和 SFR ) #data: 8位立即数,即8位常数。可以为2进制(B)、 10进 位立即数, 位常数。可以为2进制( 10进 16进制 进制( 字符( 制、16进制(H)、 字符(‘ ’) #data16: 表示16位立即数, 16位常数 取值范围为: 16位立即数 位常数, #data16: 表示16位立即数,即16位常数,取值范围为: 16 #0000H~#0FFFFH 0000H addr16 表示16 16位地址 addr16 : 表示16位地址 addr11 表示11 11位地址 addr11 : 表示11位地址 相对偏移量(为一字节补码) rel : 相对偏移量(为一字节补码)用于相对转移指令中 位地址,在位地址空间中。 bit : 位地址,在位地址空间中。 $: 表示当前指令的地址。 表示当前指令的地址。

3.1 寻址方式3.1.1 立即寻址 指令中直接给出操作数的寻址方式。在 指令中直接给出操作数的寻址方式。 51系列单片机的指令系统中 系列单片机的指令系统中, 51系列单片机的指令系统中,立即数用一个 #”号的 位数(#data 号的8 (#data, #30H)或 前面加 “#”号的8位数(#data,如#30H)或 16位数(#data16, #2052H)表示 位数(#data16 表示。 16位数(#data16,如#2052H)表示。立即寻 址中的数,称为立即数。 址中的数,称为立即数。 例如指令: A,#58H; 例如指令:MOV A,#58H;58H→A

3.1.2 直接寻址操作数的地址直接出现在指

令中。 操作数的地址直接出现在指令中。 寻址对象: 寻址对象: 内部数据存贮器:使用它的地址。 ①内部数据存贮器:使用它的地址。 特殊功能寄存器:既可使用它的地址, ②特殊功能寄存器:既可使用它的地址,也可以直接使用 寄存器名。 寄存器名。 ③位地址空间 ④程序存储器空间 A, ;(40H) 例:MOV A,40H ;(40H)→A 40H, ;(41H) 40H) MOV 40H,41H ;(41H)→(40H) P0, MOV P0,#45H ; 45H→P0 80H, MOV 80H,#45H ; 45H→P0 C, 位地址18 18H→C MOV C,18H ; 位地址18H→C

3.1.3 寄存器寻址操作数存放在寄存器中。 操作数存放在寄存器中。 寻址对象: 寻址对象:A,B,C,DPTR,R0~R7 。 C,DPTR,R0~ 仅在乘除法指令中为寄存器寻址, B仅在乘除法指令中为寄存器寻址,在其他指 令中为直接寻址。 令中为直接寻址。 可以寄存器寻址又可以直接寻址, A可以寄存器寻址又可以直接寻址,直接寻址 时写作ACC 时写作ACC 例如: A, 例如:MOV A,R0 ;R0→A MUL AB ;A*B→BA ADD A,ACC ;A+A→A A,

3.1.4 寄存器间址操作数存放在以寄存器内容为地址的单元中, 操作数存放在以寄存器内容为地址的单元中,用做间址 的寄存器为Ri(i=0,1)、DPTR。 的寄存器为Ri(i=0, )、DPTR。 Ri DPTR 对片内的间接寻址用Ri i=0, Ri( ① 对片内的间接寻址用Ri(i=0,1) R0, 如: MOV R0,#20H @R0, MOV @R0,A ;A→(20H) 对片外的间接寻址可用Ri i=0, Ri( ② 对片外的间接寻址可用Ri(i=0,1)或DPTR @DPTR, A→以DPTR的内容为地址的外部RAM中 的内容为地址的外部RAM 如: MOVX @DPTR,A ;A→以DPTR的内容为地址的外部RAM中 A, A→以 R1内容为地址的外部RAM中 内容为地址的外部RAM MOVX A,@R1 ;A→以P2 R1内容为地址的外部RAM中 PUSH和POP指令的源操作数是以SP间接寻址 指令的源操作数是以SP ③ PUSH和POP指令的源操作数是以SP间接寻址 注意:寄存器间接寻址不能访问SFR 注意:寄存器间接寻址不能访问SFR MOV R1,#81H 不能访问SP SP, MOV A,@R1 ;不能访问SP,只能用 MOV A,SP

3.1.5 变址寻址变址寻址只能访问程序存储器。 变址寻址只能访问程序存储器。操作数所在位置 的地址由DPTR或PC寄存器与A的内容相加后形成。其 的地址由DPTR或PC寄存器与A的内容相加后形成。 DPTR 寄存器与 中累加器A内容是可变的。变址寻址只有三条指令。 中累加器A内容是可变的。变址寻址只有三条指令。 MOVC A, @A+DPTR ;(A+DPTR)→A MOVC A, @A+PC JMP @A+DPTR ;(A+PC)→A ;A+DPTR→PC

注意: 注意:①A的内容是无符号数。 的内容是无符号数。 ②PC值是指令的当前PC值,即下条指令的PC值 PC值是指令的当前PC值 即下条指令的PC值 值是指令的当前PC PC

3.1.6 相对寻址

变址寻址只能访问程序存储器。 变址寻址只能访问程序存储器。相对寻址是将程序计数器 PC的当前值与指 …… 此处隐藏:2475字,全部文档内容请下载后查看。喜欢就下载吧 ……

第3章 MCS-51系列单片机的指令系统及汇编语言程序设计.doc 将本文的Word文档下载到电脑

    精彩图片

    热门精选

    大家正在看

    × 游客快捷下载通道(下载后可以自由复制和排版)

    限时特价:4.9 元/份 原价:20元

    支付方式:

    开通VIP包月会员 特价:19元/月

    注:下载文档有可能“只有目录或者内容不全”等情况,请下载之前注意辨别,如果您已付费且无法下载或内容有问题,请联系我们协助你处理。
    微信:fanwen365 QQ:370150219