第4章_汇编语言程序设计-H02.ppt

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

* ASCI: ADD AL,30H MOV [DI],AL ;存结果 INC DI DEC CH ;计数 JNZ CONV1 MOV AH,4CH INT 21H COSEG ENDS END BINHEX * 作业 P124 9 , 10 11 , 12 * 微机原理软件上机实验 编程实验 P125: 15、17、19 编程实验 P126: 22(1)并显示。 用MASM 6.11(M6)汇编、连接、用TD调试完成。 上交调试完成的 *.LST打印文件,要有注释。(A4纸) 最好在实验室上机完成软件实验 * * 例1. 计算Y= 解:定义数组名TABL存放 a1~a20;和存放于单元YY中。 中间结果存于寄存器AX中。BX寄存器为地址指针,CX寄存器作计数器。 设 a1,a2,···a20是一组无符号十六位二进制数,并设其和不大于2个字节 。 (程序演示e4-2.asm) * DATA SEGMENT TABL DW 20 DUP(2) YY DW ? DATA ENDS CODE SEGMENT ASSUME CS:CODE,DS:DATA START:MOV AX,DATA MOV DS,AX ; ; MOV AH,4CH INT 21H CODE ENDS END START * MOV AX,0 MOV BX,OFFSET TABL MOV CX,20 LOP:ADD AX,[BX] INC BX INC BX DEC CX JNZ LOP MOV YY,AX 修改部分 LOOP LOP 初始化部分 循环体 控制部分 * (A).循环的基本结构 1.先执行,后判断结构 流程图如右: 入口 初始化部分 循环体 修改部分 循环结束? 出口 Y N * 例2.编程统计数据块中正数的个数,并将其送 RS单元中。(程序演示count.asm) 解:数据块定义为 D1,RS单元存放正数的个数,数据块长度用 COUNT表示。BX作地址指针,CX作计数器,DX记录正数的个数。 * START 预置段R BX ← D1 DX ← 0 CX ←COUNT [BX]0? DX ← DX+1 BX ← BX+1 CX ← CX-1 CX=0? RS ←(DX) END N Y N Y * DATA SEGMENT D1 DB -1,-3,5,7,-9,-6,8,4 COUNT EQU $-D1 RS DW ? DATA ENDS CODE SEGMENT ASSUME CS:CODE,DS:DATA START:MOV AX,DATA MOV DS,AX ; ; MOV AH,4CH INT 21H CODE ENDS END START 补码表示:FFH 表示当前偏移地址. * MOV RS,DX JUSTI: INC BX DEC CX JNZ LOP1 MOV BX,OFFSET D1 MOV CX,COUNT MOV DX,0 LOP1: MOV AL,[BX] CMP AL,0 JLE JUSTI INC DX 如果求数据块中大于0的数之和,结果送RS单元,试修改程序. LOOP LOP1 初始化部分 循环体 修改部分 控制部分 * 2.先判断,后执行结构 流程图如右 入口 初始化部分 循环结束? 循环体 修改部分 出口 Y N * 例3. AX寄存器中有一个 16位的二进制数,编

文档评论(0)

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

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

1亿VIP精品文档

相关文档