西安交大微机原理第一次实验报告.docVIP

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

微机原理第一次实验报告 一.实验目的 (1) 学习8086/8088指令系统中一些基本指令的用法和程序设计的基本方法。 (2) 熟悉PC机上建立、汇编、连接、调试和运行8086、8088汇编语言程序的全过程。 (3) 学习提示信息的显示及键盘输入字符的方法。 (4) 掌握分支程序的设计方法。 二.实验内容 (1) 设a,b,c,d四个数分别以单字节压缩BCD码形式存放在内存NUM开始的四个单元,计算(a+b)-(c+d)并将结果放在Y1单元中,将结果在屏幕上显示出来。在debug中不断改变a,b,c,d内容并查看结果。 1. a=09, b=06, c=04, d=07 2. a=38, b=41, c=29, d=34 3. a=70, b=23, c=42, d=41 4. a=63, b=73, c=62, d=50 (2) 在提示信息下,从键盘输入原码表示的二位十六进制有符号数,当此数大于0时,屏幕上显示此数为正数;当此数小于0时,屏幕上显示此数为负数;当此数为0时,屏幕上显示此数为零。 三.实验调试过程 3.1 题目一调试过程 C:\DEBUG ONE.EXE -U 反汇编 -R 查看寄存器变量值 观察到0005时已完成数据初始化,利用g 5追踪到此处 利用-d0指令查看内存单元,在偏移地址为0,1,2,3的地方有9,6,4,7,正是我们在代码中赋的初值。 -g d,观察到此时AL已赋值a=15H -g 16,计算出a+b的值并赋给AL,值为0b,正确 -g 19,DAA调整后AL变为11,计算正确 -g 1b,cl=04H成功赋值给AL,正确 -g 1f,计算出(a+b)-(c+d)结果为04H,正确 题目二程序调试过程 -U0, 反汇编 -g 5,程序执行到此处时,完成DS寄存器赋值DS=0B5EH -g a,程序执行到此处时,完成SS寄存器赋值SS=0B69H -g 24,程序执行到此处,实现提示信息输出INPUT DATA:,手动输入C9 -U -g 2f,程序执行到此处,成功跳转,显示信息“THIS DATA IS –“ 四.程序及框图 4.1 题目一程序 DSEG SEGMENT ; 定义数据段 NUM DB 13H,27H,11H,12H ;定义a,b,c,d Y1 DB ? DSEG ENDS ; 数据段定义结束 SSEG SEGMENT PARA STACK ;定义堆栈段 DB 20 DUP(?) SSEG ENDS ; 堆栈段定义结束 CSEG SEGMENT ; 定义代码段 ASSUME CS:CSEG,DS:DSEG,SS:SSEG ;各段定义 START: MOV AX,DSEG MOV DS,AX ;数据段段地址送DS MOV AX,SSEG MOV SS,AX ; 堆栈段段地址送SS MOV AL,[NUM] ADD AL,[NUM+1] ;计算a+b DAA ;压缩BCD码加法调整DAA MOV CL,AL ; 保存a+b MOV AL,[NUM+2] ADD AL,[NUM+3] ;计算c+d DAA ;压缩BCD码加法调整DAA SUB CL,AL ;计算(a+b)-(c-d) MOV AL,CL DAS ;DAS调整 MOV [NUM+4],AL ;保存结果 AND AL,0F0H ;取AL中高四位 MOV CL,4 SHR AL,CL ;BCD码高位移至低位 ADD AL,30H ;AL加30H得ASCII码 MOV DL,AL MOV AH,02H INT 21H ;显示DL MOV AL,[NUM+4] ; 恢复AL AND AL,0FH ;取AL低四位 ADD AL,30H ;AL加30H得ASCII码 MOV DL,AL MOV AH,02H INT 21H ;显示DL MOV AX,4C00H INT 21H ;返回DOS CSEG ENDS END START ;程序结束 4.2 题目二程序 CRLF

文档评论(0)

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

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

版权声明书
用户编号:8133070117000003

1亿VIP精品文档

相关文档