微机原理与接口技术实验报告三

微机原理与接口技术实验报告三

ID:39616963

大小:137.00 KB

页数:4页

时间:2019-07-07

微机原理与接口技术实验报告三_第1页
微机原理与接口技术实验报告三_第2页
微机原理与接口技术实验报告三_第3页
微机原理与接口技术实验报告三_第4页
资源描述:

《微机原理与接口技术实验报告三》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库

1、微机原理与接口技术实验报告(三)1、实验目的:1)学习程序中有限的寄存器的使用。2)学习使用冒泡法排序3)学习程序流程控制:条件跳转指令jajbcall指令,观察程序执行时堆栈的变化(学会用debug–g命令设置断点)4)学习利用编译错误信息进行程序修改,通过运行寻找并改正逻辑错误。5)灵活运用各种dos功能调用实现显示功能6)学习将数字用转换成相应的ascii码并显示2、实验内容:多重循环程序设计:多重循环中,循环中包含另一个循环,每一循环都有各自的循环计数器和终点判断。应注意:各重循环初始条件的控制;内循环可以嵌套

2、在外循环中,也可以几个内循环并列在外循环中,但各层循环之间不能交叉,内循环可以跳到外循环中,不可以从外循环直接跳进内层循环;应用:冒泡排序法以Buffer为首地址保存一组(假设10个)无序的有符号数,编写排序程序使数由小到大重新排列。程序框图如下:举例:(值1234,数值越大气泡越大)原顺序:第一次交换第一次内循环结束(外循环1)第二次内循环结束(外循环2)3、试验结果程序编写如下:dispmsgmacromessgemovah,9leadx,messgeint21hendm.modelsmall.dataBuffer

3、db10,-30,52,2,42db92,32,-36,31,63Nequ$-bufferjieshudb'$'newlinesdb0dh,0ahjieguodb'theresultis:',0dh,0ahjguodb30dup(?,?),'$'.stack100.codemovax,@datamovds,axmovax,@stackmovss,axmovbx,offsetbuffermovcx,N-1lop1:movdx,cxlop2:moval,[bx]cmpal,[bx+1]jlebijiaoxiayigexch

4、gal,[bx+1]mov[bx],aljixu:incbxbijiaoxiayige:incbxlooplop2movcx,dxmovbx,offsetbufferlooplop1xianshi:movsi,offsetbuffermovdi,offsetjguoxiayige:moval,[si]cmpal,'$'jzwanbimovch,almovcl,4shral,clcalldispmoval,chandal,0fhcalldispincsijmpxiayigewanbi:dispmsgjieguoMovax

5、,4c00HInt21Hdispproccmpal,0ahjsdoneaddal,7done:addal,30hmov[di],alincdiretdispendpEndendstart该程序中,首先定义一个宏dispmsg,然后定义各段。在数据段中先对buffer中数字进行冒泡法排序,将结果保存至原数据段buffer,然后从头依次对各个数字进行ascii码转换。分别用si和di指向buffer和jguo的段首,buffer中每转化一位,赋值给jguo,然后di增一。这样,buffer中每一字节中数字的高低两位将对应j

6、guo中的两个字节。最后显示jguo即可运行结果如下:下面通过设置断点查看排序前后存放排序字符串的内存空间的内容1、点击调试,通过U语句进行反汇编2、使用G语句,运行至0b98:0005可知ds值为0b983、通过d语句查看相应内存内容4、同理,通过反汇编找到排序结束后的指令位置,选择0b98:002c,运行g语句5、通过d语句查看排序后的内存内容实验中遇到的问题及解决方法:1、汇编语言中寄存器有限,在使用时注意是否保存寄存器中原有的值,防止在使用寄存器时将原值改变。在使用宏或调用函数前,可现将寄存器入栈,在调用完毕后

7、弹出,从而恢复原值。2、求字符串长度时可用“长度equ$-字符串名”这种简便方法,但使用时需注意$表示当前地址。尤其要注意的是,当排序时,一定要准确确定排序次数防止排多或漏排。3、Int21号中断的9号程序调用,显示到“’$’”结束4、调用函数不要漏掉ret,否则可能运行时结果框一闪就消失。

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。