位微机原理实验西工大

位微机原理实验西工大

ID:37495780

大小:597.60 KB

页数:70页

时间:2019-05-11

位微机原理实验西工大_第1页
位微机原理实验西工大_第2页
位微机原理实验西工大_第3页
位微机原理实验西工大_第4页
位微机原理实验西工大_第5页
资源描述:

《位微机原理实验西工大》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库

1、微机原理实验课内蒙古民族大学物理与电子信息学院实验教学中心MASM使用简要说明程序设计者完成在纸上的程序编写工作还无法确定程序是否正确,因此下一步就是要对程序进行测试和调试,使它能正确运行。为了方便和有效的进行调试常常借助一些软件开发工具。使用这些软件开发工具,对一个汇编语言程序的开发全过程如下图所示:程序正确?编辑程序宏汇编程序MASM调试程序DEBUG连接程序LINK源程序文件语法有错?可执行文件目标程序文件.ASM结束.OBJ.EXENYNY进入方法开始/程序/附件/c:命令提示符C:>e:E:>cdma

2、sm5E:>masm5>edit文件存储时一定要用.asm为扩展名E:>masm5>masmE:>masm5>link连接结束以后即可使用debug命令DEBUG的使用方法进入与退出:出现提示符”-”直接输入DEBUG进入,退出则输入Q显示命令:显示内存单元内容---D命令显示寄存器内容---R命令显示源程序指令(反汇编)---U命令程序运行:连续运行方式---G命令跟踪运行方式---T命令◆◆◆软件实验部分本部分共进行6次实验,实验内容如下:1实验一BCD码的运算2实验二循环结构程序3实验三排序程序4实验四分

3、支程序5实验五数据区移动6实验六找“零”个数实验一BCD码的运算一.实验目的1.熟悉在MASM集成环境下建立、汇编、链接、调试和运行汇编语言程序的全过程。2.掌握汇编语言程序结构中数据段、堆栈段、代码段定义及内存分配方法。3.学会DEBUG调试程序主要命令的使用方法。4.掌握用组合BCD码表示数据的方法,并熟悉其加、减、乘、除运算。二.实验内容1.多位十进制数加法。2.两位十进制数乘法。三.实验要求1.多位十进制数加法:在内存中以DATA1和DATA2为首址,各分配5个字节单元,分别存入两个8位组合BCD码数据

4、(低位在前),将两数相加,结果送回到DATA2处。2.两位十进制数乘法:将被乘数和乘数以组合BCD码形式分别存放于DATA1和DATA2定义的节单元中,经乘法运算,乘积存入DATA3定义的两个内存单元中。3.用DEBUG调试程序、查看运算结果,进行手工验证;并且用DEBUG修改数据,重新执行。BCD码用4位二进制编码表示一个十进制数,又称二—十进制数,由于这四位二进制数的权值为8421,故也称BCD码为8421码。在计算机里,用一个字节的低四位表示一位十进制数—非组合BCD码;用一个字节表示两位十进制数—组合B

5、CD。非组合BCD码uuuu1001例:计算机里79d非组合BCD码:uuuu0111uuuu1001组合BCD码01111001例:计算机里79d组合BCD码:01111001在计算机里,所有的运算都是按二进制进行的,运算结果是二进制数(即十六进制数)为了把十六进制运算结果转换成十进制,汇编语言中引进了组合BCD码加法调整指令DAA和减法调整指令DAS。DAA加法十进制调整指令ALAL中的十六进制数转为BCD形式该指令之前要执行ADD或ADC。调整方法:若AF=1,或AL中的低四位是十六进制的A~F,则AL

6、内容加06h,AF置1;若CF为1,或AL中的高四位是十六进制的A~F,则AL内容加60h,CF置1多位十进制数加法.modelsmall.datadata1db11h,22h,33h,44h,00hdata2db99h,88h,77h,66h,00h.codestartupmovsi,offsetdata1;设指针movdi,offsetdata2clc;清进位movcx,5;设加法次数lop:moval,[si];取第一加数adcal,[di];取第二加数daa;十进制调整mov[di],al;结果存入指定

7、单元incsi;指针加1incdilooplop;循环.exit流程图:开始SIData1首址DIData2首址清进位设加法次数十进制调整;部分和回送指向下单元数AL第一加数ALAL+第二加数CX-1=0?结束YN两位十进制数乘法.modelsmall.datadata1db34hdata2db56hdata3dw1dup(?).code.startupmovbl,data1;第一乘数转换成16进制数movbh,blandbh,0fhandbl,0f0hmovcL,4shrbl,cLmoval,10mulbla

8、ddal,bhmovzxcx,al;置加法次数计数器movbl,data2;第二乘数做BCD加法,加第一乘数次movax,0clclop:addal,bldaaxchgah,aladcal,0daaxchgah,allooplopmovdata3,ax;积送乘积存储单元nopnopnop.exitend两位十进制数乘法流程图:开始BL第一乘数BH第一乘数分离出第一乘数的“个位”分离出第

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

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

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