- 1、本文档共32页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
§4.1 汇编语言程序概述
§4.1.1 机器语言、汇编语言和高级语言
程序设计语言基本上分为3种:机器语言、汇编语言、高级语言
一、机器语言
二进制代码表示的指令、数字和符号简称为机器语言,不易懂,难记忆,易出错。
二、汇编语言
英文助记符表示的指令称为符号语言或汇编语言;
将汇编语言程序转换成为二进制代码表示的机器语言程序称为汇编程序;
经汇编程序“汇编(翻译)”得到的机器语言程序称为目标程序,原来的汇编语言程序称为源程序。; 能直接管理和控制硬件设备(功能部件),它能处理中断,也能直接访问存储器及I/O接口电路。
汇编语言和机器语言都脱离不开具体机器的硬件,均是面向“机器”的语言,缺乏通用性。
三、高级语言
不受具体机器的限制,使用了许多数学公式和数学计算上的习惯用语,非常擅长于科学计算。常用的如C语言等。
高级语言优点:通用性强,直观、易懂、易学,可读性好。
使用C语言(C51) 来进行MCS-51的应用程序设计。
对于程序的空间和时间要求很高的场合,汇编语言仍是必不可缺的。 ;§4.1.2 汇编语言语句的种类和格式
两种基本类型:指令语句和伪指令语句
1、指令语句,已在第3章介绍
每一条指令在汇编时都产生一个对应的机器代码
2、伪指令语句
是为汇编服务的,在汇编时没有机器代码与之对应。 ;MCS-51的汇编语言的四分段格式如下:
标号:操作码 目的操作数,源操作数 ;注释
如START: MOV A,#00H ;0→A
操作码字段为必选项,其余各段为任选项。
基本语法规则:
1、标号字段,编译时为指令的首地址
(1) 标号后边必须跟以冒号“:”
(2) 由1~8个字符组成 (字母\数字\下划线,首字符不能为数字)
(3) 同一标号在一个程序中只能定义一次
(4) 不能使用汇编语言的保留符号作为标号;2、操作码字段,汇编语言指令中唯一不能空缺的部分。
3、操作数字段
通常有单操作数、双操作数和无操作数三种情况。各操作数之间以逗号隔开。
(1)不同进制的操作数表示
二进制,后缀“B” ,如
十进制,后缀“D”,可省略。
十六进制,后缀“H” ,如78H。若字符A~F中的某个开头时,则需在它前面加 “0” ,如0A8H。;(2) 工作寄存器和特殊功能寄存器的表示
采用工作寄存器和特殊功能寄存器的代号来表示,也可用其地址来表示。如累加器可用A表示,也可用0E0H来表示。
(3) 美元符号$的使用
用于表示该指令操作码所在的地址(该指令的首地址) , 如
JNB F0, $
与 HERE:JNB F0,HERE 是等价的。
再如:HERE:SJMP HERE 可写为:
SJMP $
4.注释字段,必须以分号“;”开头汇编时,不会产生机器代码。;§4.1.3 伪指令
功能:在汇编语言源程序中向汇编程序发出指示信息,告诉它如何完成汇编工作,也称为汇编程序控制命令。
伪指令没有相应的机器代码产生。
常用的伪指令:
1、ORG汇编起始地址命令
规定程序在程序存储器中的起始地址。如:
ORG 2000H
START: MOV A,#00H
规定标号START开始的程序从地址2000H开始存放。
在一个源程序中,可多次使用ORG指令,但是,地址必须由小到大排列,不能交叉、重叠。;2、END汇编终止命令
源程序的结束标志,用于终止源程序的汇编工作。在整个源程序中只能有一条END命令,且位于程序的最后。
3、DB定义字节命令
在程序存储器单元中定义(存储)若干个字节数据。如
ORG 2000H
DB 30H,40H,24,"C","B"
汇编后,程序存储单元内容如下:
(2000H)= 30H
(2001H)= 40H
(2002H)= 18H(10进制数24)
(2003H)= 43H(字符“C”的ASCII码)
(2004H)= 42H(字符“B”的ASC
文档评论(0)