微机原理实验3汇编语言程序设计

微机原理实验3汇编语言程序设计

ID:15603411

大小:441.00 KB

页数:23页

时间:2018-08-04

微机原理实验3汇编语言程序设计_第1页
微机原理实验3汇编语言程序设计_第2页
微机原理实验3汇编语言程序设计_第3页
微机原理实验3汇编语言程序设计_第4页
微机原理实验3汇编语言程序设计_第5页
资源描述:

《微机原理实验3汇编语言程序设计》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库

1、微机原理实验3实验设备:LAB6000通用微控制器实验系统实验用时10小时一、实验内容:汇编语言程序设计。在了解8086/8088汇编语言后,编制并调试程序。1.编制不恢复余数除法程序格式:最高两位为符号位2.按IEEE754格式编制32位浮点数与32位定点数相互转换程序子程序(两个子程序)3.编制程序寻找100以内的质数,并从小到大排列。4、编制8位(4字节)压缩BCD码加、减法程序。5、编制8位(8字节)非压缩BCD码乘法和除法程序。二、实验报告:程序框图和源程序清单。第一题必做,其余任选两个第一

2、题:这道题可以按照老师所讲的不恢复余数除法的步骤,一步一步把书上的文字描述“翻译”成汇编语言。1、执行第一次减法。2、判断结果的正负,这里我们通过比较结果与0100h的大小关系来实现,结果大于等于0100h,说明结果小于0;结果小于0100h,说明结果大于0,最终会溢出,程序结束3、如果上一次操作结果为正,则商1,被除数左移一位,减除数,跳转54、如果上一次操作结果为负,则商0,被除数左移一位,加除数,跳转55、判断上一次操作结果的正负6、上面的第3,4,5步循环4次之后结束,如果最后一次操作结果小于

3、0,则还要再左移一位,加除数。这样就实现了8位除以4位的不恢复余数除法。这道题的难点在于正确理解不恢复余数除法的步骤,和每一步的意义。因为单纯翻译书上的内容很容易导致误解,只有真正理解了才能做出来。这里比对一下自己最后梳理出来的1~6步,就会发现与书上所说的1~6步稍有不同,但是也是正确的。程序流程图如下:程序代码:datasegmentResultdb3dup(?)x2dw0021hy2dw0040hcountdb0signdw0hdataends;al保存被除数,bx第4~8位保存除数,ah,bh

4、保存符号,即被除数为负,则ah=ffh,否则为0;ax的第4~8位保存余数,dx的低4位保存商codesegmentassumecs:code,ds:datastartprocnearmovax,datamovds,axmovax,x2movbx,y2movcx,4subax,bxcmpax,0100hjbjieshumovdx,0;第一次为负;shlax,1shlax,1addax,bxbijiao:cmpax,0100hjbzheng;为正,跳转减法;否则为负,执行加法movsign,1shldx

5、,1;商0addcount,1cmpcount,4jnbjieshushlax,1addax,bxjmpbijiao;进行下一次比较zheng:movsign,0shldx,1adddx,1addcount,1cmpcount,4jnbjieshushlax,1subax,bxjmpbijiaojieshu:cmpax,0100hjbendssaddax,bxendss:jmp$codeendsendstart第二题:这道题的思路可以很快梳理清楚:1、浮点数转定点数:①确定符号,符号存入内存最高位,负

6、数要取补②确定阶码③根据阶码值取相应数量的数构成整数部分(不要忘了浮点数中忽略了的最高位1)④剩余的部分是小数部分2、定点数转浮点数:①确定符号,存入内存最高位,负数要取补②确定阶码③忽略整数部分最高位1,其余部分存入内存④小数部分存入内存思路即是这样。难点在于处理的数据位数太多,超出了板子一次运算允许的最大范围。这样就只能采取分步骤做,每做一步就把结果存入内存空间,之后内存空间左移若干位,为下一步骤存入数据腾出位置。最终完成。程序框图如下:浮点数转定点数:定点数转浮点数:程序代码:(先浮点转定点然后

7、定点转浮点);将AX拆为三个BCD码,并存入Result开始的叁个单元datasegment;Resultdb3dup(?)xdd42c88000hzhengshudb0;存整数部分,带符号,补码表示xiaoshudb0;存小数部分,不带符号,原码表示signdb0;保存符号zhishudb0;保存阶码countdb0;计数tempdb0;ctdb0;计数dataendscodesegmentassumecs:code,ds:datastartprocnearmovax,datamovds,axmov

8、ax,wordptrx;存低16位movbx,42c8h;存高16位shlbx,1jbfu;负数,跳转到负数的处理部分back:;rclax,1;???shlax,1jbyijmpmainyi:addbx,1;程序结束后取消注释jmpmainmain:movzhishu,bhshlbx,8addbl,ahshlax,8subzhishu,7fhmovcl,zhishuaddbx,1rolbx,clcmpsign,0jaqufanfuzhi:movzhen

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

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

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