微机原理实验part.docxVIP

  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文档。上传文档
查看更多
微机原理实验part

微机原理实验姓名: 班级: 学号:实验一:顺序程序的设计实验目的:学习8086/8088指令系统中一些基本指令的用法和程序设计的基本方法。熟悉在PC机上建立、汇编、链接、调试和运行8086、8088汇编语言程序的全过程。实验内容:设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三、源程序:desg segmentnum db 25h,25h,11h,12hy db ?dseg endscseg segment assume cs:cseg,ds:dsegstart:movax,dsegmovds,axmoval,numadd al,num+1daamovcl,almov al,num+2add al,num+3daasub cl,almovy,almovbl,aland al,0f0hmov cl,4shral,claddal,30hmovdl,almov ah,02hint 21hmoval,bland al,0fhadd al,30hmovdl,almov ah,02hint 21hmov ax,4c00hint 21hcsex endsend start四、调试程序程序debug反汇编五、分步执行断点d 实现(a+b)=50H断点17实现(c+d)=23H断点1C 实现(a+b)-(c+d)=27H六.实验思考题1.用那些DEBUG的命令可以查看,改变a,b,c,d的值?答:可以使用-d命令查看,使用-e命令查看并修改a、b、c、d的值。2.调试程序时,你将断点设置在什么位置?简要地予以说明。答:一般将断点设置在数值有变化的位置,这样可以看到程序执行后寄存器里的值是否正确,如果正确,则说明程序无问题,可以继续执行。否则需检查程序中出现了什么问题。3.若a=90,b=34,c=33,d=44或a=12,b=19,c=25,d=33设置合适的断点,观察结果,说明错误的原因,并改进程序使结果正确。答:(1)当a=90,b=34,c=33,d=44时,a+b=124,执行(a+b)ADD后AL中存储内容显示为24H,而c+d未出现进位,执行(c+d)后响应的AL为77,因此执行(a+b)-(c+d)时需要使用带借位减法指,即将SUB CL,AL改为:SBB CL,AL即可,执行结果为47正确。(2)当a=12,b=19,c=25,d=33时,(a+b)-(c+d)结果为负,这时候需要加入判断语句:CMP BL,AL ; JL X1; X1: SUB AL,BL 然后在跳转回SUB BL,AL 的下一句。最后在显示DL前加入MOV DX,2DH;INT 21H;显示负号即可。执行结果为-27正确。实验二:分支程序的设计实验目的1. 学习提示信息的显示及键盘输入字符的方法。2. 掌握分支程序的设计方法。二、实验内容在提示信息下,从键盘上输入原码表示的二位十六进制有符号数: 当此数大于0时,屏幕上显示此数为正数; 当此数等于0时,屏幕上显示此数为零; 当此数小于0时,屏幕上显示此数为负数。三、源程序:crlf macro mov ah,02hmov dl,0dhint 21hmov ah,02hmov dl,0ahint 21hendmdata segment mess1 dbinput data:,0dh,0ah,$ mess2 dbthis data is+,0dh,0ah,$ mess3 dbthis data is-,0dh,0ah,$ mess4 dbthis data is zero,0dh,0ah,$databuf db 3actlen db ? string db 3 dup(?)data endssseg segment parastackstackdb 50 dup(0)sseg endscode segmentassume cs:code,ds:data,ss:ssegstart:movax,datamovds,axmovax,ssegmovss,axmovdx,offset mess1 mov ah,09hint 21hmov ah,0ahmovdx,offsetdatabufint 21hcrlfmov

文档评论(0)

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

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

1亿VIP精品文档

相关文档