欢迎来到天天文库
浏览记录
ID:51631394
大小:1.80 MB
页数:100页
时间:2020-03-26
《微机原理与接口技术 教学课件 ppt 作者 第2版电子教案 4.ppt》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库。
1、概述汇编语言语句伪指令系统基本结构程序设计DOS/BIOS功能调用第4章汇编语言程序设计汇编语言程序的结构1机器语言机器指令是CPU能直接识别的命令又称硬指令。机器指令是由一组能为计算机所接受的0和1组成的二进制代码。4.1.1机器语言和汇编语言机器指令的集合构成了机器语言,用机器语言编写的程序就是机器语言程序。4.1概述2汇编语言汇编指令是由助记符号表示的机器指令,它与机器指令一一对应。伪指令是向汇编程序提供如何进行汇编工作的命令。汇编指令、伪指令、宏指令和汇编程序一起组成了汇编语言。用汇编语言编制的用户程序称为汇编语言源程序。补充例
2、题4.1.2汇编与连接将一个汇编指令翻译成机器语言的过程称为汇编。汇编程序就是把汇编语言源程序翻译成机器语言程序的一种系统软件。由汇编程序生成的目标程序文件不能执行,必须经过连接程序连接以后,才能变成可执行文件。通过连接程序可将若干个目标文件连接成一个地址可浮动的、可由装入程序对地址定位的可执行文件。4.2汇编语言语句汇编语言源程序由若干语句组成,这些语句可分为三类:4.2.1汇编语言语句的种类指令语句。用助记符表示的机器指令,它们由汇编程序汇编成相应的能被CPU直接识别并执行的目标代码。宏指令语句。允许用户为多次重复使用的程序段命一个
3、名字,然后可在程序中用这个名字代替该程序段,将定义的过程称为宏定义。将该程序段称为宏。宏指令语句就是宏的引用。伪指令语句。向汇编程序提供汇编过程要求的一些辅助信息。如:给变量分配内存单元地址、定义各种符号、实现分段等。伪指令与指令性语句最大区别是:伪指令语句经汇编后不产生任何机器代码,而指令性语句经汇编后会产生相应的机器代码;其次,伪指令语句所指示的操作是在程序汇编时就完成了的,而指令性语句的操作必须在程序运行时才能完成。4.2.2汇编语言的语句格式[标识项]操作项[操作数][;注释项]其中带方括号的项表示可选项。是用标识符表示的符号。
4、是语句要进行某种操作的助记符,可以是前述三类语句之一。操作数项根据不同的语句,操作数项由0个、1个或多个表达式组成,并由它提供执行指定操作所需要的操作数或地址,当操作数不止一个时,相互之间应该用逗号隔开。必须以分号开头,主要用来说明程序或重要语句的功能。也可单独出现在程序的任何位置。语句书写时项与项之间必须用空格或“TAB”符分隔。补充例题1.标识项标识项出现在指令语句或宏指令语句前时,称该标识项为标号且对应的标识符后面必须跟有冒号,标号在汇编以后分配有地址。标号又称为符号地址,可作为转移指令或子程序调用的目标地址。若标识项出现在伪指令
5、语句前,则该标识项称为符号名,根据不同的伪指令,这些符号又可分为变量名、符号常数名、子程序名或段名等。标识项的书写有严格的规定,这可使用下列字符;字母A~Z、a~z;数字0~9;特殊符号?、·、@、$等。标识项的第1个字符不可以是数字,必须是字母或特殊字符,但是问号本身不能单独作为标识,标识中如果用到“·”,则必须是第一个字符。标识最多31个字符组成,多则无效。注意:标识不能使用汇编语言的专用保留字。寄存器名,8086、8088汇编语言中的指令助记符,伪指令名,表达式中使用的运算符和属性运算符等均不能作为标识项,否则汇编时会给出错误信息
6、;标识项在程序中不能重复定义。2.操作项操作项表示语句要实现的的具体操作,可以是指令、宏指令语句、伪指令的助记符,操作项是汇编语句中不可缺少的部分。汇编程序对上述三类语句会作不同的处理。对指令语句,汇编程序会将它翻译成二进制代码;对于伪指令语句,汇编程序会按其指定的伪操作进行处理。对于宏指令语句,汇编程序将其展开,也就是用宏体替代原来的宏指令语句,并翻译成机器指令。3.操作数项操作数项根据不同的语句由一个或多个表达式组成,它给执行的操作提供原始数据并指出结果数据存储位置。操作数项常见形式有:常数、寄存器、标号、变量或表达式等。其中表达式
7、是由常数、变量、标号通过操作数运算符连接而成的式子。注意:表达式的值是在汇编过程中计算出来的,根据表达式中的成分,计算出来的结果可能是操作数的地址值,也可能就是操作数。两个以上的表达式要用逗号分开。4.注释项注释项主要来说明程序或语句功能,增加程序的可读性。分号“;”放在某一行的开头,用来说明下一段程序的功能。分号加到指令前,可暂时冻结有疑问的指令,调试正确后,再把这些指令解冻或删除。分号“;”放在语句后,用来说明该语句的功能。4.2.3指令语句的操作数组成1常数常数分为数值常数、字符串常数和符号常数。数值常数可为二、八、十、十六进制数
8、,用不同的后缀来区别。当操作数或地址使用十六进制数表示时,若数值的最高位以A~F开头,则必须在它前面加上1个0,以免和变量、标号或寄存器名混淆。字符串常数是指用单引号括起来的一个字符或多个字符的序列。符号常
此文档下载收益归作者所有