- 1、本文档共67页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
[计算机硬件及网络]【汇编语言第3版】第5章 基本结构程序设计
5.2 转移指令 5.2.2 条件转移指令 5.3 分支结构程序设计 2.双分支结构程序设计举例 5.3.2多分支结构程序设计 1.由多个双分支结构实现多分支结构程序设计 2.利用地址表法实现多分支程序设计 3.转移表法多分支程序设计 4.逻辑分解法多分支程序设计 例:根据AL中的值(0~4),执行不同的操作,用逻辑分解法编写程序 5.4 循环控制指令 1.用分支指令控制循环 循环控制指令应用举例 5.5 循环程序的结构 5.6 多重循环程序设计 5.7 串操作程序 5.8 循环程序设计举例 目的: 本章主要介绍了转移指令和分支结构程序设计。 转移指令分无条件转移指令和条件转移指令。 无条件转移指令有:段内直接转移、段内间接转移、段间直接转移、 段间间接转移等形式。条件转移指令有:单条件转移指令、组合条件转移 指令。 分支程序分为双分支程序和多分支程序。 多分支程序的设计方法主要有:转移表法、地址表法和逻辑分解法。 【例5-18】非压缩BCD码乘法程序 N Y 转换为相应的ASCII码并存储 置地址指针,循环次数初值 相乘并调整 修改地址指针,循环次数减1 次数=0? 相加并调整 取乘数,屏蔽掉高四位 取一位被乘数,屏蔽高四位 开始 结束 L1:LODSB AND AL,0FH MUL ADR2 AAM ADD AL,[DI] AAA OR AL,30H STOSB MOV [DI],AH LOOP L1 OR BYTE PTR [DI],30H MOV AH,4CH INT 21H CODE ENDS END START DATA SEGMENT ADR1 DB ‘49375’ ADR2 DB ’8’ RES DB 6 DUP(?) DATA ENDS CODE SEGMENT ASSUME CS:CODE,DS:DATA,ES:DATA START:MOV AX,DATA MOV DS,AX MOV ES,AX CLD LEA SI, ADR1 LEA DI, RES MOV CX,5 AND ADR2,0FH MOV BYTE PTR[DI],0 * * 本章小结 本章主要介绍了汇编语言的基本指令系统和顺序结构程序的设计。 汇编语言的基本指令系统包括数据传送指令、算术运算指令、逻辑 运算指令等。 顺序结构程序是最简单的程序,在顺序结构程序中,指令按照先 后顺序一条条执行。 本章主要介绍了循环结构程序有关的指令及循环结构程序的设计方法、技巧。 循环指令有:LOOP、LOOPZ/LOOPE、LOONZ/LOOPNE三种形式。 一个循环程序一般由循环体、循环结束条件、循环初态几部分组 成。循环程序有两种基本结构形式:先执行后判断结构、先判断后执行部分。循环程序设计可以采用计数器控制循环、按问题的条件控制循环、用逻辑变量控制循环的方式。 串操作指令有:串传送指令(MOVS)、串存储指令(STOS)、串读取指令(LODS)、串比较指令(CMPS)、串搜索指令(SCAS)。 5.5.2循环程序的结构 (1)先执行后判断(非0次循环结构) 修改部分 控制部分 初始化部分 工作部分 结尾部分 (2)先判断后执行(0次循环结构) 初始化部分 修改部分 结尾部分 控制部分 工作部分 5.5.3循环次数的控制方法 1.用计数器控制循环 含义:利用循环次数作为控制条件 应用场合:循环次数已知 分类:正计数法和倒计数法 设计方法:初值放入CX 正计数法程序设计举例 【例5-6】已
文档评论(0)