第7章 汇编语言程序设计.ppt

  1. 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
第7章汇编语言程序设计要点

循环程序结构可分为五个部分。 (1)初始化部分 设置循环的初始值,是循环的准备部分。 (2)循环体部分 这是循环程序的主体,用来完成主要的计算任务和操作。 (3)循环修改部分 修改循环工作部分的变量地址等,为下一次循环作准备。 (4)循环控制部分 修改循环次数计数器并判断结束条件。 (5)结束部分 循环结束后,用于分析和存放结果。 第7章 作业 P 7.5.2 常用的DOS输入/输出系统功能调用 2.键盘输出(2号调用) 调用格式: MOV DL,待显示字符的ASCII码 MOV AH,2 INT 21H 功 能:将DL中的字符送显示器显示,若DL中为CTRL+Break的ASCII码,则从本调用的执行中退出。 例如:MOV DL,‘H MOV AH,2 INT 2lH 则在屏幕上显示一个H字符。 7.5.2 常用的DOS输入/输出系统功能调用 3.打印输出(5号调用) 调用格式: MOV DL,待打印字符的ASCII码 MOV AH,5 INT 2lH 功 能:将DL中的字符送打印机打印。例如:将A字符送打印机打印 MOV DL,41H MOV AH,5 INT 21H 7.3.3 循环程序设计举例 数据段定义如下: DATA SEGMENT X DW 3,65,96,45,86,8,50,7,76,45,75,5 Y DW 9,45,23,6,74,8,21,45,12,4,64,87 Z DW 12 DUP(?) RULER DW 0000100110000100B DATA ENDS 主要程序段如下: … … MOV BX,0 ;置地址指针 MOV CX, 12 ;置循环次数 MOV DX, RULER 7.3.3 循环程序设计举例 AGAIN:MOV AX, X[BX] ;取数组X一元素 SHR DX, 1 ;逻辑尺右移一位 JC SUBS ;移出位为1则相减 ADD AX, Y[BX] ;否则相加 JMP NEXT SUBS: SUB AX, Y[BX] NEXT: MOV Z[BX], AX ;将结果存入Z数组 ADD BX, 2 ;修改地址指针 LOOP AGAIN ;循环控制 EXIT: MOV ... ... ;结束 7.3.3 循环程序设计举例 例7.11 用冒泡排序法对有符号字型数组ARY按升序排列。 下面是对有7个元素的无序表进行冒泡排序: 表的初始状态: [ 36 48 66 98 75 13 28 ] 第一遍比较之后:[ 36 48 66 75 13 28 ] 98 第二遍比较之后:[ 36 48 66 13 28 ] 75 98 第三遍比较之后:[ 36 48 13 28 ] 66 75 98 第四遍比较之后:[ 36 13 28 ] 48 66 75 98 第五遍比较之后:[ 13 28 ] 36 48 66 75 98 第六遍比较之后: 13 28 36 48 66 75 98 2.多重循环程序设计举例 7.3.3 循环程序设计举例 数据段定义如下: DATA SEGMENT ARY DW n1, n2, n3, …… N EQU ($-ARY)/2 ;数组元素个数 DATA ENDS 主要程序段定义如下: … … MOV CX, N-1 ;置外循环次数 LOOP1:PUSH CX ;保存外循环计数器的值 MOV BX, 0 ;置地址指针 7.3.3 循环程序设计举例 LOOP2:MOV AX, ARY[BX] ;取前面元素到AX CMP AX, ARY[BX+2] ;与后面元素比较 JLE OK ;

文档评论(0)

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

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

1亿VIP精品文档

相关文档