汇编语言实验报告四.docVIP

  1. 1、本文档共4页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  5. 5、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  6. 6、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  7. 7、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  8. 8、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
汇编语言实验报告四

《汇编程序设计》 实验报告 项目名称 实验四 专业班级 1206 学 号 3901120607 姓 名 陈祖煌 实验成绩: 批阅教师: 2013年 11 月 4 日 实验4 实验学时: 2 实验地点: 二综 实验日期: 一、实验目的 掌握汇编编程规范,熟悉编程环境。 二、实验内容 编程计算3550H-2320H,按16进制输出计算所得的差1230H。再输出3550H-2321H的差,检验程序的正确性。 提示:考虑依次将1230H(即0001 0010 0011 0000B)从高位到低位,每4位二进制数一组分离出来,再将4位二进制数转换为ASCII码,利用DOS系统功能调用的2号子功能输出,就得到16进制数据的输出效果。本题要求综合应用移位操作、逻辑操作等指令,并利用条件转移指令实现简单的循环程序,程序流程如图1所示。DOS系统功能调用的2号子功能格式见dos调用表。 三、实验步骤算法及关键代码 DATAS SEGMENT ;此处输入数据段代码 DATAS ENDS STACKS SEGMENT ;此处输入堆栈段代码 STACKS ENDS CODES SEGMENT ASSUME CS:CODES,DS:DATAS,SS:STACKS START: MOV AX,DATAS MOV DS,AX ;此处输入代码段代码 MOV BX, 3550H MOV AX, 2320H SUB BX, AX CALL P ;再输出3550H-2321H的差以进行验证 MOV BX, 3550H MOV AX, 2321H SUB BX, AX CALL P MOV AH,4CH INT 21H ;将其十六进制输出的子程序 P: MOV CL, 4H MOV CH, 4H S: ROL BX, CL MOV DL, BL ;取出低八位 AND DL, ;取出低四位 CALL A ;转换为ASCII MOV AH, 2 INT 21H DEC CH CMP CH, 0 JNE S RET ;DL的数据转换成对应的ASCII码的子程序 A: CMP DL, 10 JB L ;DL的数小于10则跳转到L ADD DL, 55 JMP E ;跳转至返回段 L: ADD DL, 48 E: RET ;返回 CODES ENDS END START 1 开 始 减法计算 bx(二进制数(差) ch(循环次数4 (bx)循环左移4位(用rol指令) dl(分离出(bx)的最低4位(用and指令) dl(将(dl)转换为ASCII码 输出dl中的数字字符 (利用2号DOS系统功能调用) ch((ch)-1 否 (ch) = 0? 是 结 束 图1 16进制数据输出程序流程图

您可能关注的文档

文档评论(0)

ctuorn0371 + 关注
实名认证
文档贡献者

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

1亿VIP精品文档

相关文档