网站大量收购闲置独家精品文档,联系QQ:2885784924

新一代汇编语言程序设计5(免费阅读).ppt

  1. 1、本文档共63页,可阅读全部内容。
  2. 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
第四章 汇编语言程序设计的基本方法 学习要点: ? 不同文件中各模块的相互引用和数据通信 ? 将键盘输入按十进制数转换的方法 设十进制数形式为: d2d1d0 d2?102+d1?101+d0 = ( ( ( ( 0?10 )+d2 )?10 )+d1 )?10+d0 第四章 汇编语言程序设计的基本方法 ? 模块1要引用模块2中的过程名btoh,因此必须将btoh说明为外部过程名,并且为far类型,同时模块1中的binum要被模块2引用,所以binum被定义为全局符号名。。 ? 模块2要从模块1的binum单元取得二进制数,因此必须将binum说明为外部符号名,并且为字类型word,同时还须将btoh定义为全局符号名以供模块1引用。 extern both:far public binum extern binum:word public both 第四章 汇编语言程序设计的基本方法 3 0 0 3 0 ?10 3 3 0 ?10 3 0 ?10+3 5 3 3 5 3 ?10 5 5 3 ?10 5 3 ?10+5 ax bx ax bx 设输入为: 35 循环次数: 1 2 = ( ( ( 0?10 )+3 )?10 )+5 binum binum 5.4 循环程序设计 根据条件重复执行一段指令就构成了循环程序结构 。 例: MOV AX,0 ;累加求和寄存器清0 MOV BX,OFFSET ARRAY ;数组始址送BX中 MOV CX,50 ;循环控制计数初始化 AGAIN : ADD AX,[BX] ADD BX,2 ;数组地址增2,BX指向下一个元素 DEC CX ;循环控制计数减1 JNZ AGAIN ;计数不为0时继续循环 MOV S,AX ;计数为0时循环结束,和存于S中 将ARRAY数组中的50个数求和,并将和存入字变量S中 。 保证循环正常执行和结束的条件: 正确地初始化循环控制计数和初始条件 1 正确地检测循环条件 2 必须保证能达到循环结束条件 (例如在循环体内有修改循环控制值的指令) 3 指令系统提供了专门用于循环结构的循环控制指令,更加简便的地实现循环结构。 5.4.1 循环控制指令 循环控制指令的转移范围为:-128~+127字节 格式:LOOP 标号 操作: 如右图所示 (段内短转移) (1)LOOP指令 (2)等于继续循环指令 格式:LOOPZ/LOOPE 标号 (3)不等于继续循环指令 格式:LOOPNZ/LOOPNE 标号 操作: 如右图所示 操作: 如右图所示 LOOP AGAIN 在前面的求和例子中,可用一条循环指令代替两条指令: DEC CX JNZ AGAIN 例: MOV CX,80 MOV SI,-1 MOV AL,?$? AGAIN: INC SI CMP AL,STRS[SI] LOOPNE AGAIN MOV LEN,SI 设: STRS DB ?string$ ? 求存放在STRS存储区中的字符串长度。 要求将 4230H= 0 1 0 0 0 0 1

文档评论(0)

kakaxi + 关注
实名认证
内容提供者

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

1亿VIP精品文档

相关文档