第三章_单片机的指令系统.ppt

  1. 1、本文档共46页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
第三章_单片机的指令系统

第三章 MCS-51指令系统 3-1 汇编指令格式 一、 两种基本类型:指令语句和伪指令语句 (1)指令语句 每一条指令语句在汇编时都产生一个机器代码 (2)伪指令语句 在汇编时没有机器代码与之对应。 [标号:]操作码 [操作数1],[操作数2] [;注释] 例3-1 LOOP:MOV A,#40H ;40H - A 1.标号:是语句所在地址的标志符号,子程序调用、转移转入和调试。 (1)以字母开始,跟1~8个字母、数字或“_”。 (2)惟一性。 (3)不能使用汇编保留字。 2.操作码:2~5个字母。唯一不能缺。 3.操作数 :有单、双、三和无操作数三种。 (1)十六进制、二进制和十进制形式的操作数 (2)工作寄存器和特殊功能寄存器的表示 采用代号或地址表示。 A(或Acc)也可用0E0H。 3.1.3 伪指令 向汇编程序发出的指示信息,告诉它如何完成汇编工作,汇编时不产生机器码. 1.定位伪指令:ORG m 机器指令在程序存储器中的16位地址。 例3-3 ORG 0000H START:SJMP MAIN … ORG 0030H MAIN: MOV SP,# 30H 地址必须由小到大排列,地址不能交叉、重叠。 5.定义空间伪指令:DS 表达式 例3-6 ORG 0F00H DS 10H DB 20H,40H 汇编后,得 (0F10H)=20H,(0F11H)=40H。 DB、DW、DS只对程序存贮器起作用。 例3-7 ORG 8500H AA EQU R1 A10 EQU 10H DELAY EQU 87E6H MOV R0,A10 ;R0←(10H) MOV A,AA ;A←(R1) LCALL DELAY;调起始地址87E6H的 END 子程序 3-2 指令寻址方式(共7种寻址方式) 寻找操作数的方法叫寻址方式。 1.立即寻址方式 指令中直接给出操作数,前面加前缀“#” 例如: MOV A,#40H MOV DPTR,#1234H 2.寄存器寻址方式 操作数在寄存器中 MOV A,Rn ;(Rn)→A,n=0~7 表示把寄存器Rn的内容传送给累加器A。 寻址范围: (1)4组通用工作寄存区共32个工作寄存器。 (2)部分特殊功能寄存器,例如A以及数据指针寄存器DPTR和C等。 例:CLR A INC DPTR MOV R5,#50H 3.直接寻址:以单元地址的形式给出操作数 1) SFR(只能用直接寻址)以单元地址或寄存器符号的形式给出; MOV 90H,#40H 等价于 MOV P1,#40H 2)内部RAM的低128字节(有高128字节的单片机,只能用寄存器间址) ; MOV R0,#90H MOV @R0 ,#40H 4. 寄存器间接寻址 寄存器中存放操作数的地址,加前缀标志“@” 例如:MOV A,@Ri ;i=0或1 ;寻址范围: (1)访问内部RAM低128个单元,其通用形式为@Ri MOV A,@R0;p34 (2)对片外数据存储器的64K字节的间接寻址,例如: MOVX A,@DPTR (3)提供外部数据存储器低8位地址 例如: MOVX A,@R1;A←外部RAM(P2R1) (4)堆栈区 堆栈操作指令PUSH(压栈)和POP(出栈)使用堆栈指针(SP)作间址寄存器 6.位寻址方式 :指令给出位地址 例如: MOV C,40H 寻址范围包括: (1)片内RAM中的位寻址区 字节地址20H~2FH,位地址是00H~7FH。 例如 MOV C,2BH; 25H.3 (2) 可位寻址的特殊功能寄存器位 可供位寻址的SFR有11个,有寻址位83位。 7.相对寻址方式 例:1005H SJMP 80H ;相对转移 以PC作基地址,加上偏移量,所得结果作为转移地址送PC 。 目的地址=转移指令所在地址+转移指令字节数+rel 偏移量在-128~+127之间,是一带符号的8位二进制数补码数 。 则转移地址是0F87H 3.3 MCS-51指令系统分类介绍 111条指令,按功能分类,分5大类: (1)数据传送类(28条) (2)算术操作类(24条) (3)逻辑运算类(25条) (4)控制转移类(1

文档评论(0)

bm5044 + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档