- 1、本文档共116页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
第三章 MCS-51指令系统 机器语言、汇编语言和高级语言 用于程序设计的语言基本上分为3种:机器语言、汇编语言和高级语言。 1.机器语言:二进制代码表示指令、数字和符号简称为机器语言。 2.汇编语言:英文助记符表示指令称为符号语言或汇编语言。 将汇编语言程序转换成为二进制代码表示的机器语言的程序称为汇编程序。 经汇编程序“汇编(翻译)”得到的机器语言程序称目标程序,原汇编语言程序称源程序。 汇编语言和机器语言都脱离不开具体机器的硬件,均是面向“机器”的语言,缺乏通用性。 3.高级语言 不受具体机器的限制,使用了许多数学公式和数学计算上的习惯用语,非常擅长于科学计算。常用的如BASIC、FORTRAN以及C语言等。 使用C语言(C51)语言来进行MCS-51的应用程序设计。 3-1 汇编指令格式 一、 两种基本类型:指令语句和伪指令语句 (1)指令语句 每一条指令语句在汇编时都产生一个机器代码 (2)伪指令语句 在汇编时没有机器代码与之对应。 [标号:]操作码 [操作数1],[操作数2] [;注释] 例3-1:LOOP:MOV A,#40H ;40H - A 1.标号:是语句所在地址的标志符号 (1)以字母开始,跟1~8个字母、数字或“_”。 (2)惟一性。 (3)不能使用汇编保留字。 2.操作码:唯一不能缺。 3.操作数 :有单、双和无操作数三种。 (1)十六进制、二进制和十进制形式的操作数 (2)工作寄存器和特殊功能寄存器的表示 采用代号或地址表示。 A(或Acc)也可用0E0H。 (3)美元符号$ 用于表示该转移指令操作码所在的地址。 例2 HERE:SJMP HERE 可写为: SJMP $ JNB F0, $ 与如下指令是等价的: HERE:JNB F0,HERE 再如: 4.注释字段 3.1.3 伪指令 向汇编程序发出的指示信息,告诉它如何完成汇编工作,汇编时不产生机器码. 1.定位伪指令:ORG m 例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。 例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 子程序 7.数据地址赋值伪指令: 字符名 DATA 表达式;不可为汇编符 FIRST DATA 22H SECOND DATA 21H 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 (2)对片外数据存储器的64K字节的间接寻址,例如: MOVX A,@DPT
文档评论(0)