西工大微机原理实验课.ppt

西工大微机原理实验课.ppt

ID:51591932

大小:542.50 KB

页数:68页

时间:2020-03-24

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

《西工大微机原理实验课.ppt》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库

1、微机原理实验课西北工业大学计算机学院实验教学中心MASM611使用简要说明Microsoft宏汇编程序MASM611有建立汇编语言所需的全部工具,我们简要介绍其集成开发软件PWB。PWB是集汇编程序的编辑、编译、连接、调试、运行于一体的综合软件。运行PWB在计算机C:盘上具体使用方法结合实例介绍MASM611文件夹BINR文件夹运行程序PWB软件实验部分本部分共进行4次实验,实验内容如下:1实验一BCD码的运算2实验三循环结构程序3实验四排序程序4实验五分支程序实验一BCD码的运算一.实验目的1.熟悉在MASM611集成环境下建立、汇编、链接、调试和运行汇编

2、语言程序的全过程。2.掌握汇编语言程序结构中数据段、堆栈段、代码段定义及内存分配方法。3.学会DEBUG调试程序主要命令的使用方法。4.掌握用组合BCD码表示数据的方法,并熟悉其加、减、乘、除运算。二.实验内容1.多位十进制数加法。2.两位十进制数乘法。三.实验要求1.多位十进制数加法:在内存中以DATA1和DATA2为首址,各分配5个字节单元,分别存入两个8位组合BCD码数据(低位在前),将两数相加,结果送回到DATA2处。2.两位十进制数乘法:将被乘数和乘数以组合BCD码形式分别存放于DATA1和DATA2定义的节单元中,经乘法运算,乘积存入DATA3定

3、义的两个内存单元中。3.用DEBUG调试程序、查看运算结果,进行手工验证;并且用DEBUG修改数据,重新执行。关于BCD码、十六进制数的说明BCD码用4位二进制编码表示一个十进制数,又称二—十进制数。由于这4位二进制数的权值为8421,故也称BCD码为8421码。在计算机里,用一个字节的低4位表示一位十进制数——非组合BCD码;用一个字节表示两位十进制数——组合BCD码。非组合BCD码uuuu1001例:计算机里79d非组合BCD码:uuuu0111uuuu1001组合BCD码01111001例:计算机里79d组合BCD码:0111100116进制数0123

4、456789ABCDEF二进制码0000000100100011010001010110011110001001101010111100110111101111BCD码000000010010001101000101011001111000100110进制数0123456789在计算机里,所有的运算都是按二进制进行的,运算结果是二进制数(即十六进制数)。为了把十六进制运算结果转换成十进制,汇编语言中引进了组合BCD码加法调整指令DAA和减法调整指令DAS。DAA加法的十进制调整指令该指令之前要执行ADD或ADC。调整方法:若AF为1,或AL中的低4位是十六进

5、制的A~F,则AL内容加06H,AF置1;若CF为1,或AL中的高4位是十六进制的A~F,则AL内容加60H,CF置1。AF——辅助进位标志CF——进位标志ALAL中的十六进制数调整为BCD格式多位十进制数加法.modelsmall.datadata1db11h,22h,33h,44h,00hdata2db99h,88h,77h,66h,00h.code.startupmovsi,offsetdata1;设指针movdi,offsetdata2clc;清进位movcx,5;设加法次数lop:moval,[si];取第一加数adcal,[di];取第二加数da

6、a;十进制调整mov[di],al;结果存入指定单元incsi;指针加1incdilooplop;循环.exitend流程图:开始SIData1首址DIData2首址清进位设加法次数十进制调整;部分和回送指向下单元数AL第一加数ALAL+第二加数+CFCX-1=0?结束YN两位十进制数乘法.modelsmall.586.datadata1db34hdata2db56hdata3dw1dup(?).code.startupmovbl,data1;第一乘数转换成16进制数movbh,blandbh,0fhandbl,0f0hmovcL,4shrbl,cLmova

7、l,10mulbladdal,bhmovzxcx,al;置加法次数计数器movbl,data2;第二乘数做BCD加法,加第一乘数次movax,0clclop:addal,bldaaxchgah,aladcal,0daaxchgah,allooplopmovdata3,ax;积送乘积存储单元nopnopnop.exitend两位十进制数乘法流程图:开始BL第一乘数BH第一乘数分离出第一乘数的“个位”分离出第一乘数的“十位”第一乘数的“十位”移到“个位”后,再乘10合成得到16进制的第一乘数CX16进制的第一乘数BCD码转换成16进制数11AX0清进位BL第二乘

8、数第二乘数做加法次数十进制调整AL与AH内容交换AL

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

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

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