第八次课-汇编语言程序设计基础(1).docVIP

  1. 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  4. 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  5. 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  6. 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  7. 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
第四章 汇编语言程序设计基础 4.1 概述 在前面的课程中以汇编指令的形式介绍了8080/88的指令系统,这次课对汇编语言程序设计的基本方法进行介绍。 所谓程序实际上就是指令的有序排列,而组成程序的指令在微机中是以机器码(二进制)的形式存在的,我们用汇编语言编写的程序需要经过汇编后才能成为CPU可以识别的目标程序。 实现汇编的方法:手工汇编、机器汇编,机器汇编是利用微机生产厂家提供的汇编程序对用汇编写的汇编语言源程序进行翻译的过程。为了利用汇编程序对自己编写的汇编语言程序源程序进行汇编,要求汇编语言源程序必须符合一定的(规范)语法规则。比如 段的定义、标号的书写等。 1、汇编语句的格式 在汇编程序中,与高级语言程序一样是由一条一条的语句组成的,而在汇编语言程序中,语句分为两种: 指令性语句:是指令系统中指令,在程序执行过程中产生操作的指令。 指示性语句:是为了使汇编程序能够对汇编语言源程序进行正确汇编,对汇编源程序中的符号地址、变量、段等进行定义、说明的语句,这些语句在最终的目标程序中不产生代码。 指令性语句的格式: 标号字段:操作码字段 操作数字段 ;注释字段 其中: 标号字段: 不能以数字开头 最大长度31个字符 不允许使用保留字(指令助记符、伪指令名、存储器名等) 以冒号结束 操作码字段:指令系统中的操作码 操作数字段:两个操作数间用逗号分隔 指令中的常数可以用各种数制给出: 10D 1111H 当用十六进制数时,如果最高位为字母,前面需加零 注释字段:对语句进行注解,方便阅读,不产生机器码,用分号开始 指示性语句格式与指令性指令在格式上基本相同包括: 标号段(变量名段) 操作码段 操作数段 ; 注释段 标号段 以空格结束, 命令段是伪指令 其它与指令性指令相同 2、汇编语句中常数、变量、标号、表达式 在汇编语句中操作数可以是存储器的地址、立即数(常数)、寄存器名甚至还可以用一个表达式予以表示。 1)常数(数值常数、字符常数) 指令中的常数可以用各种数制给出: 10D 1111H ‘AB’=4142H 2)变量与标号(内存单元的符号地址) 变量:一般指一个内存单元,分为:字节型变量、字形变量、双字型变量、4、8、10字节类型等 一旦你在你的程序中定义了一个变量,这个变量就可以出现在你的程序的指令中,这个变量有以下属性: 段属性:该数据块的首地址在内存单元所在段的段值 偏移属性:该地址在段中的偏移地址(有效地址) 类型属性:其中存放数据的数据类型:字节、字型、双字型 长度属性:以该标号为起始地址存放数据块的数据个数 尺寸属性:该数据块所包括的字节数 例 DAT1 DB 20H, 30H,40H DAT2 DW 2000H,3000H 标号:放在一条指令前表示,表示该指令在内存中的存放地址,程序中的每个标号有如下属性: 段属性:该指令所在的短 偏移属性:该指令在段中的偏移地址 类型属性:段内使用(NEAR) 段间使用(FAR) 3)表达式 无论指示性指令或指令性指令均可以用一个表达式来表示操作数,所谓表达式由运算符号和运算对象组成,运算符号可分五类: 算术运算符、逻辑运算符、关系运算符、分析运算符、合成运算符 表达式一般是由运算符和操作数组成,其中运算符主要包括:算数运算符、逻辑运算符、关系运算符、分析运算符、综合运算符五种,以下分别进行介绍: 算术运算符 常用的算术运算符包括:+、-、*、/ 、MOD(取余运算符) 例: MOV AL,8+5 A MOD B 逻辑运算符 常用的逻辑运算符包括:AND、OR、NOT、XOR 例 MOV DX, ABC AND 0F0H 关系运算符 常用的关系运算符包括:QE(=)、NE(()、LT()、GT()、 LE(()、 GE(() 用关系运算符组成的表达式的结果只有两种取值:0000H或0FFFFH 00H 或FFH 例: MOV AX,DAT QE 1000H 当表达式成立时: DAT QE 1000H=0FFFFH 当表达式部成立时:DAT QE 1000H=0000H 分析运算符 常用的分析运算符包括:OFFSET、SEG、TYPE 、SIZE、LENGTH 格

文档评论(0)

peace0308 + 关注
实名认证
文档贡献者

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

1亿VIP精品文档

相关文档