- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
第三章 汇编语言与汇编程序设计
第三章 汇编语言及汇编程序设计;一、概述;3、用符号代表操作数或操作数地址。 操作数是本指令执行需要的数据。 有些指令不需要指明操作数,可以默认;有些指令需要两个操作数;还有些操作数可以用表达式。
4 、注释项是可选项,用分号开始。
; 用汇编语言编写的程序称为源程序,常用的汇编程序有ASM-86和宏汇编MASM-86。
汇编语言源程序的组成部分:
① 可以使用CPU指令系统所提供的指令(硬指令);
② 可以使用各种符合汇编语法的表达式, 运算符以及自行定义生成满足需要的目标代码的指令。;1、标号;二、 汇编语言源程序基本结构
1、汇编语言的语句类别
语句是构成程序的基本单位。构成汇编源程序的语句按功能可分为2大类:指令语句和伪指令语句。
a. 指令语句:指令语句是在汇编时计算机可直接执行的目标代码,故又称为可执行语句。
指令语句的格式:
[标号:] 指令助记符 [目的操作数] [,源操作数] [;注释]
指令语句由四项组成,其中用方括号括中的项是可选项。; (1) 标号:标号是指令的符号地址。标号有段、偏移、类型3个属性。
1)段属性:所在程序段的段基值。
2)偏移属性(16位无符号数):段内的偏移地址,代表从段起始地址到定义标号的位置之间距离的字节数。
3)类型属性:NEAR和FAR两种。用来指出该标号是在本段内引用还是在其它段中引用。段内为NEAR类,段外为FAR类。 注意:标号以冒号(:)作为结束符。
(2) 指令助记符:是用符号表示的机器指令操作码,它规定了CPU所要执行的操作。如:ADD为加法操作,SUB减法操作。; (3) 操作数:给执行的操作提供原始数据及结果数据存储的地方。可是0个、1个或2个。目的操作数参与指令操作同时暂存操作结果。指令中通常给出操作数地址,如寄存器、存储器单元的地址和变量名等。
源操作数提供另一个操作对象,面向所有寻址方式,可以常量、变量、表达式、寄存器和标号。
1)常量:程序运行时值不发生变化的操作数,有数值常量、字符串常量和符号常量。
① 数值常量即常数,可是二、八、十或十六进制数,用不同的后缀加以区别。
注意:在指令中写十六进制数时,若最高位是A到F之间的数字,应在首位前加0,避免数值常量与变量或标号混淆。;② 字符串常量:是单引号内的1个以上ASCII字符构成的字符串。汇编程序把它们表示成一个字节序列,每个字节对应一个字符,把引号中的字符翻译成它的ASCII码值。如:‘A’等价于41H,‘ABCD’等价于41H,42H,43H,44H,‘1234’等价于31H,32H,33H,34H。
③ 符号常量:即用EQU伪指令定义的常量引用符号名。
2)变量:程序运行时其值可发生变化的操作数。它可存放在存储单元或寄存器中,故分为寄存器和存储器变量。寄存器有它固定的名字,存储单元的数据常以变量名的形式;出现,是存储单元的符号地址。通常所说的变量是指存储器变量。
变量有3个属性:段、偏移量和类型。
根据用途可以将变量分为普通变量、地址变量、数组变量和字符串变量及汇编地址指针变量等。
3)表达式:由常量、变量、标号通过操作运算符连接而成。表达式的值在汇编时就已经确定而不是在程序运行时求得。
(4) 注释:用来说明程序或语句的功能。
注意:分号(;)为注释项的开始引导符,也作为注释项与操作数项的分界符。分号(;)也可以从一行的第一个字符开始,此时整行都是注释,常用来说明下面一段程序的功能。; b.伪指令语句:在对源程序汇编期间由汇编程序处理的一些操作,完成如数据定义、分配存储区、符号定义等功能。而不是在程序运行期间由计算机来执行的指令,它不会产生可执行的机器指令代码,它仅是伪指令语句的格式:
[标号名] 伪指令定义符 [操作数] [;注释]
伪指令也由四项组成,其中用方括号括起来的项是可选的项。
(1) 标号名:标号名后面没有冒号,这是伪指令语句和指令语句在格式上的一个区别。它可是常量名、变量名、过程名等。; (2) 伪指令定义符:即要求汇编程序完成的具体操作命令。
(3) 操作数:操作数是否需要由具体的伪指令来说明,可以没有,也可以是1个或若干个常量、字符串、符号常量以及专用的符号(如NEAR、FAR、BYTE、WORD)等。
(4) 注释:和指令语句注释相同。
2、 汇编语言源程序的构成
由于存储器分段管理,所以在编制任一源程序时也必须按段来构造程序。1个汇编语言源程序应由若干个逻辑段组成。段由若干语
文档评论(0)