MCS-51汇编指令与编程技术.pptVIP

  • 9
  • 0
  • 约1.34万字
  • 约 75页
  • 2017-08-17 发布于河南
  • 举报
第3章 MCS-51汇编指令与编程技术 3.1 MCS-51指令系统格式及一般说明 3.1.1 指令分类 3.1.2 MCS-51系列指令格式 3.1.3 指令描述符号介绍 单片机应用程序实例 试编写程序,完成两个16位数的减法:7E56H-2B4EH。其结果存入内部RAM的30H和31H单元,31H单元存差的高8位,30H单元存差的低8位。 51系列单片机指令集含有111条指令: 按指令的功能分类,可分为5大类: 数据传送类(29条);算术运算类(24条) 逻辑运算及移位类(24);控制转移类(17条) 位操作类(17条) 按指令所占字节数分类: 单字节(49条);双字节(46条);3字节(16条) 按指令执行时间分类: 单周期(64条);双周期(45条);4周期(2条) [标号:]操作码 [目的操作数][,源操作数][;注释] 说明: 方括符[ ]表示可选项; 标号代表指令所在地址,可用1-8个字母/数字,以字母开头,“:”表示标号的结尾; 操作码就是指令功能助记符,指令实体; 目的操作数,参与运算并存放运算结果; 源操作数,参与运算; 注释以“;”开头。 说明 指令应具有以下功能: (1)操作码指明执行什么性质和类型的操作。例如,数的传送、加法、减法等。 (2)操作数指明操作的数本身或者是操作数所在的地址。 (3)指定操作结果存放的地址。 Rn ——当前选中的寄存器区中的8个工作寄存器R0~R7(n=0~7)。 Ri ——当前选中的寄存器区中的2个工作寄存器R0、R1(i=0,1)。 direct —— 8位的内部数据存储器单元中的地址。 #data——包含在指令中的8位常数。 #data16——包含在指令中的16位常数。 addr16——16位目的地址。 addr11——11位目的地址。 rel —— 8位带符号的偏移字节,简称偏移量。 DPTR——数据指针,可用作16位地址寄存器。 bit ——内部RAM或专用寄存器中的直接寻址位。 C ——进位标志或进位位,或布尔处理机中的累加器。 @ ——间址寄存器或基址寄存器的前缀,如@Ri。 / ——位操作数的前缀,表示对该位操作数取反。 × ——片内RAM的直接地址或寄存器。 (×) ——由×寻址的单元中的内容。 ——箭头左边的内容被箭头右边的内容所代替。 寻址方式:指令按地址获得操作数的方式,七种寻址方式,一条指令可能含多种寻址方式 寄存器寻址 立即寻址 寄存器间接寻址 直接寻址 变址寻址(基址寄存器+变址寄存器间接寻址) 相对寻址 位寻址 1.立即寻址方式 操作数直接就出现在指令中,立即操作数用前面加有#号的8位或16位数来表示。 例如:MOV A,# 60H ;A←#60H MOV DPTR,# 3400H ;DPTR←#3400H MOV 30H,# 40H ;30H单元←#40H 上述三条指令执行完后,累加器A中数据为立即数据60H,DPTR寄存器中数据为3400H,30H单元中数据为立即数40H。 注意:符号“#”表明其后跟的是立即数,立即数——就是数字量本身。 指令中直接给出了操作数所在单元的地址或名称 例如:MOV R1,1FH ;(R1) ←(1FH) MOV 30H,4AH ;(30H)←(4AH) 在本单片机中规定:访问特殊功能寄存器SFR只能采用直接寻址方式。 例如:MOV A, SP ; (A) ←(SP) MOV A, 81H ; (A) ←(SP) MOV P1, #5AH ; (P1)←(#5AH) MOV 90H,#5AH ; (P1)←(#5AH) MOV B, 30H ; (B) ←(30H) 3.寄存器寻址方式 以通用寄存器的内容为操作数的寻址方式。通用寄存器指A、B 、DPTR以及R0~R7 。 例如:CLR A ;A←0 INC DPTR ;DPTR←DPTR+1 ADD R5,# 20H ;R5←#20H+R5 MOV A,B ; A ←(B) MOV 30H,R0 ;(30H)←(R0) MOV A,R1 ; A ←(R1) 4.寄存器间接寻址方式 寄存器中的内容是一个地址,由该地址单元寻址到所需的操作数 例如: MOV R1,#30H ;R1← 立即数30H MOV @R1,#0FH ;(R1)←立即数0FH MOV A,@

文档评论(0)

1亿VIP精品文档

相关文档