1 / 11
文档名称:

微机实验报告.doc

格式:doc   大小:391KB   页数:11页
下载后只包含 1 个 DOC 格式的文档,没有任何的图纸或源代码,查看文件列表

如果您已付费下载过本站文档,您可以点这里二次下载

分享

预览

微机实验报告.doc

上传人:ttteee8 2020/7/4 文件大小:391 KB

下载得到文件列表

微机实验报告.doc

文档介绍

文档介绍::..北京理工大学微机原理与接口疚木实验报告实验内容:I(1>E86砍件的使用及编程姓名:刘庭欣班级:06111504学号:**********.掌握IDE86软件的使用,掌握在PC机上编辑、编译、链接、调试和运行8086汇编语言的过程。。二、 ,结果放SUM字单元中。,并按十六进制显示出来。,并用十进制数形式将结果显示在屏幕上。要求用过程实现数据显示,并返回DOS状态。三、 实验方法1、 题目一设计思路:对于内容一,首先将table中的数据存在数据段,然后利用地址取出每一个数,CX做计数器,依次相加,最后存在SUM里。2、 题目一程序流程图::先把最大数和最小数都假设为table中的第一个数,然后和后面的每个数进行比较,如果这个数大于最大数,交换;这个数如果小于最小数,交换。::先在AX里求出1加到100的值,保存在AX里,然后转化为十进制(除10法),最后把数保存在数据段的某段地址,利用单个字符输出,在屏幕上表示出和。:图3题目三程序流程图四、:datasegmenttabledb12h,23h,34h,45h,56h,67h,78h,89h,9ah,Ofdhdataendssumdw?:定义代码段codesegmentassumecs:code,ds:data,es:datastart:movax,datamovds,axmoves,axleasi,tablemovex,10xorax,axnext:addal,[si]adcah,0incsiloopnextmovsum,axhitcodeendsendstart2.:初始化:循环计数器;将结果存在SUM里;代码段结束题目二源程序:datasegmenttabledb12h,23h,34h,45h,56h,67h,78h,89h,9ah,Ofdhmindb0maxdb0dataends ;定义代码段codesegmentassumecs:code,ds:datastart:movax,datamovds,axleasi,tablemovbl,tablemovbh,tablemovex,9againl:empbl,[si+1]ja11again2:empbh,[si+1]jb1211:movbl,[si+1]jmpagain212:movbh,[si+1]incsiloopagainlmovdi,4output:movcl,4rolbx,clmovdx,bxanddl,Ofhempdl,9ja13adddl,30hjmpoutput213:adddl,37houtput2:movah,2;循环计数器;比较最小值与当前数的大小;比较最小值与当前数的大小;显示出最大最小值;转化为ASCI1码输出int21hdecdijnzoutputmovah,4chint21hcodeends ;:datasegmentdataldb4dup(0)dataends ;定义数据段codesegmentassumecs:code,ds:datastart:movax,datamovds,axleadi,datalmovbl,0xorax,axmovex,10011:incbxadcax,bxloop11 ;求1到100的和12:movbx,Oahxordx,dxdivbxmov[di],dlincdiandax,axjz13movdl,0jmp12movex,4decdi ;转化为10进制数13:movex,4decdi14:movdl,[di] ;显示输出adddl,30hdecdimovah,2int21hloop14movah,4chint21hcodeendsendstart*:在1DE86中输入上述代码,并运行,利用单步调试,观察cpu中寄存器中数的变化进过单步运行,得出AX最后的值为0403H,与实际相符。:一样的在IDE86中输入上述代码,并运行,利用单步调试,观察cpu中寄存器中数的变化。刚开始时:观察到table里的数据存在了ds:0000-ds:0008±中,如图:FileEditUieHRunBreakpointsData0UindoH—~dule:zudatasegMenttabledbMindb0m