第3章---汇编语言及编程N.pptVIP

  1. 1、本文档共81页,可阅读全部内容。
  2. 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  5. 5、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  6. 6、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  7. 7、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  8. 8、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
第3章---汇编语言及编程N

第三章 汇编语言及编程 3.1 汇编语言程序结构与汇编语句 3.1.1 汇编语言源程序结构 3.1.2 汇编语言的语句 3.1.1 汇编语言源程序结构 1. 标准的单模块源程序框架 2.返回DOS状态的方法 (4) 将主程序定义为远过程 3.1.2 汇编语言的语句 指令语句 伪指令语句 宏指令语句 1. 语句格式 标号和名字——分别是给指令单元和伪指令起的符号名称,统称为标识符。(注意组成的语法规则) 助记符和定义符——分别用于规定指令语句的操作性质和伪指令语句的伪操作功能,统称操作符。 操作数——操作数允许有多个,这时各操作数之间要用逗号“,”隔开。 2. 数 据 (2) 变量与标号 变量与标号区别 标号可以用作转移控制类指令的操作数,但变量不能。 变量可以用作基址、变址或基址加变址寻址的位移量,但标号不能。 例3.1 假设VAR1和VAR2为字变量,LAB为程序中的一个标号,判断下列指令是否正确,若错误请指出错误之处: ① ADD VAR1,VAR2 ② SUB AL,VAR1 ③ JNZ VAR1 ④ JMP LAB[SI] ⑤ JMP NEAR LAB ⑥ MOV AX,VAR1[BX] ⑦ JMP VAR2[BX] 3. 表达式 地址表达式 3.2 伪指令语句 3.2.1 程序结构伪指令语句 方式选择伪指令 完整段定义伪指令 指定地址伪指令 模块定义伪指令 1. 方式选择伪指令 2. 完整段定义伪指令 ⑴ 段定义语句 ? 组合连接举例: 3. 指定地址伪指令 4. 模块定义伪指令 3.2.2 符号定义伪指令 2. 定义符号名伪指令 3.2.3 数据定义伪指令 ⑵ 使用SEG、OFFSET、TYPE、LENGTH和SIZE运算符求变量的各种属性时,特别要注意: 对LENGTH运算符,如果变量是用重复数据操作符DUP说明的,则返回外层DUP给定的值;如果没有DUP说明,则返回值总是1。 对SIZE运算符有:SIZE =TYPE×LENGTH 解: 此题有两层DUP定义,但最外层DUP给定的值为100,所以: (BX)= 数组ARRAY的偏移地址; (CX)= 数组ARRAY的长度 = 100; (SI)= 数组ARRAY的类型 = 2。 ⑶ 操作符“$”是取地址计数器的当前值,常用于表达式定义数组长度。 ⑷ 使用DB、DW、DD定义串数据(用‘ ’定义的字符串)时,允许定义的串长度不同,字符的存放顺序也不相同: DB是从左至右顺序为每个字符分配一个字节单元; DW是从左至右顺序为每2 个字符分配一个字单元,且前面的字符在高字节,串长度不能超过2; DD是从左至右顺序为每4 个字符分配一个双字单元,也是按前面的字符在高字节顺序存放,串长度不能超过4。 3.2.4 过程与宏定义伪指令 过程定义伪指令 宏定义伪指令 宏和过程的比较 1.过程定义伪指令 2. 宏定义伪指令 例3.7 定义宏MOVE,其功能是将一个有100个字节元素的数组搬移到另一个数据区。 3. 宏和过程的比较 3.2.5 结构定义伪指令 1. 结构类型说明语句(STRUC/ENDS) 2. 结构变量说明与赋初值语句 3.3 汇编语言编程环境 需求分析 根据需求和规模等因素划分模块 确定各功能模块的求解算法、并定义所需的数据结构 进行编程和调试 3.4 DOS/BIOS功能调用 3.5 三种基本结构程序的设计 顺序结构 分支结构 循环结构 3.5.1 顺序结构程序设计 在实际应用中,纯粹用顺序结构编写的完整程序很少见,但是在程序段中它却是大量的存在。所以掌握它是编写复杂应用程序的基础。 3.5.2 分支结构程序设计 分支程序的结构有三种形式: 1. 利用比较与条件转移指令实现分支 例3.9程序: 2. 利用跳转表实现分支 使用跳转表实现分支时,要特别注意表内地址分支和表内指令分支两种结构跳转表的定义方法和正确的寻址方式。 表内地址分支在数据段定义跳转表,用存储器间接寻址; 表内指令分支在代码段定义跳转表,用寄存器间接寻址。 例3.10 例3.10 表内地址分支程序 方法二: 用表内指令分支 3.5.3 循环结构程序设计 初始化部分 循环体 循环修改 循环控制 循环结构的组织方式 循环结束的控制方式 计数控制 条件控制 状态控制 逻辑尺控制 1. 计数控制循环程序设计 例3.11 程序 2. 条件/状态控制循环程序设计 例3.12 将16位二进制数,转换成等值的十进制数从显示器输出。 例3.12 程序 3. 逻辑尺循环程序设计

文档评论(0)

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

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

1亿VIP精品文档

相关文档