汇编实验四.doc

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

汇编实验四 学号 姓名 班级 时间 实验题目 输入一个字的数字,用debug进行查看。 实验的算法思路 一开始和以前的一样定义缓冲区和一些必要的变量; 将输入的数字放到NAM缓冲区中,输入的数字个数移到CL中,然后使SI指向输入数字的第一个数字; 将第一个数字移到BL中,并将其的ASCII转换成本身数字放到AL中; 判断CL是否等于0,由于一开始的时候将输入数字的个数减一,用于后面的循环,所以这里判断是否等于0,如果等于就跳过循环,直接将数字的本身放到Sum中,若不等于,就执行循环; 循环体主要是将AX中的值乘以10,使SI指向下一个数字,与此同时使AX加上第二个数字,如此循直到最后一个数字; 结束程序。 实验步骤 用汇编程序建立ASM源文件,编辑程序,如EDIT.EXE; 用汇编程序把ASM文件转换成OBJ文件; 用连接程序将OBJ文件转换成EXE文件; 用DOS命令直接输入文件名就可执行该程序。 用DEBUG调试程序,首先查看反汇编,确定数字的最后地址,利用G命令格式,执行到当前位置,查看数字的十六进制数; 利用Q跳出调试,结束。 实验源代码 DATAS SEGMENT SUM DW ? mesg DB PLEASE INTPUT A NUMBER:,0AH,0DH,$ A DW 10 NAM DB 7 DB ? DB 7 DUP(?) DATAS ENDS CODES SEGMENT ASSUME CS:CODES,DS:DATAS START: MOV AX,DATAS MOV DS,AX MOV AH,09H LEA DX,MESG INT 21H MOV DL,OFFSET NAM MOV AH,0AH INT 21H MOV CH,0 MOV CL,NAM+1 DEC CL MOV SI,OFFSET NAM+2 MOV BL,[SI] SUB BL,30H MOV BH,0 MOV AH,0 MOV AX,BX CMP CL,0 JBE L3 L1: MUL A INC SI MOV BL,[SI] SUB BL,30H ADD AX,BX LOOP L1 L3:MOV SUM, AX MOV AH,4CH INT 21H CODES ENDS END START 实验结果 1.汇编程序: 2.连接程序: 3.调试程序: 实验心得 每次试验都是一次成长,不仅使自己对汇编调试的过程进一步掌握,更重要的是进一步的了解汇编语言,了解课堂上学习到的汇编语句,巩固学到的知识。这个程序最后虽然不难,但一开始真的不理解什么意思,将题目的意思理解失误,将问题复杂化。同时自己也不是很理解程序运行时的内部情况,一些数字存放的形式还有待进一步学习。

文档评论(0)

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

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

1亿VIP精品文档

相关文档