文档详情

第3章——指令系统及汇编程序设计3.ppt

发布:2017-08-27约2.03万字共86页下载文档
文本预览下载声明
第三章 指令系统及汇编程序设计 内容提要 预备知识 3.1 寻址方式 立即寻址 直接寻址 寄存器寻址 寄存器间接寻址 变址寻址 相对寻址 位寻址 3.2 指令系统 数据传送类指令 运算和移位指令 控制转移指令 位操作指令 3.3应用程序设计 3 指令系统与汇编程序设计 预备知识 指令系统是计算机能识别并执行的全部指令的集合,是应用计算机进行程序设计的基础。 MCS-51单片机汇编语言指令格式: [标号:] 操作符 目的操作数,[源操作数] 操作符指明该指令完成什么操作; 操作数是指明该指令的操作对象。 目的操作数是存放结果的。 指令中操作数提供的方式称为寻址方式。 3 指令系统与汇编程序设计 预备知识 指令中的常用符号 Rn: n=(0~7) 表示当前工作寄存器R0~R7中的一个; Ri: i=(0、1) 代表R0和R1寄存器中的一个, 用作间接寻址寄存器; dir 8 位直接字节地址(片内 RAM 和 SFR ); #data 8位立即数,即8位常数。可以为2进制(B)、 10进制、 16进制(H)、字符(‘ ’); #data16 表示16位立即数,即16位常数, 取值范围为#0000H~#0FFFFH; addr16 表示16位地址 ; addr11 表示11位地址; rel 相对偏移量(为一字节补码)是相对转移指令中; bit 位地址,在位地址空间中。 $ 表示当前指令的地址。 3 指令系统与汇编程序设计 3.1 寻址方式 3.1.1 立即寻址 指令中直接给出操作数的寻址方式。 跟在指令操作码后面的数就是参加运算的数, 称该操作数为立即数。 立即寻址中的操作数,称为立即数。立即数前面加 “#”号作为标志,表示立即数。 例:MOV A,#05H ; MOV DPTR, #1234H 3 指令系统与汇编程序设计 3.1 寻址方式 3.1.2 直接寻址 操作数的地址直接出现在指令中。 寻址对象: ①内部数据存贮器:使用它的地址。 ②特殊功能寄存器:既可使用它的地址,也可以直接使用寄存器名。 ③位地址 ④ 程序存储器 3 指令系统与汇编程序设计 3.1 寻址方式 MOV 40H,41H; 机器码为854140 内部RAM (41H)→(40H) (40H)=(41H)=78H 3 指令系统与汇编程序设计 3.1 寻址方式 3.1.3 寄存器寻址 操作数存放在寄存器中。 寻址对象:A,B,DPTR,R0~R7 。 B 仅在乘除法指令中为寄存器寻址,在其他指令中为直接寻址。 累加器A:即可以寄存器寻址又可以直接寻址, 寄存器寻址时写作A,直接寻址时写作ACC。 3 指令系统与汇编程序设计 3.1 寻址方式 例如:MOV A,R0; R0→A,A、R0均为寄存器寻址 MUL AB; A*B→BA,A、B为寄存器寻址 MOV B,R0; R0→B,R0为寄存器寻址; B为直接寻址 PUSH ACC; ADD A, ACC; 3 指令系统与汇编程序设计 3.1 寻址方式 3.1.4 寄存器间接寻址 以寄存器中的内容为地址,可以用做间址的寄存器为R0、R1和DPTR、SP,寄存器名前要加前缀‘@’。 操作数存放在内部和外部数据存储器。 MCS-51系列单片机的内部数据存储器最大为256字节,用寄存器R0和R1即可寻址整个存储空间。 而外部数据存储
显示全部
相似文档