资源描述:
《实验二二进制转换为BCD码.doc》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库。
1、得分教师签名批改日期深圳大学实验报告课程名称:微机原理及应用实验名称:二进制到BCD转换学院:物理科学与技术学院组号:指导教师:李雄军报告人:学号:实验地点:科技楼302实验时间:实验报告提交时间:教务处制1、实验要求:将AX中的一个二进制数(对应的十进制数范围是0-65535),转换成压缩性BCD码表示的十进制,并从屏幕输出转换结果。要求用减法实现,并比较与除法方法进行运行速度比较。2、实验目的:(1)进一步熟练掌握8086汇编语言编译调试工具和环境的操作;(2)掌握完整8086汇编的程序设计编写方法;(3)掌握简
2、单的数值码制转换方法;(4)掌握键盘输出的DOS功能调用方法。3、实验说明:计算机中的数值有各种表达方式,这是计算机的基础。掌握各种数制、码制之间的转换是一种基本功;利用DOS功能调用实现在屏幕上显示字符或数字的方法是本课程的基本要求之一。以下是五位数的除法和减法的转换方法程序框图:除法减法五、实验源程序:除法实现:ATASEGMENT;数据段RESULT_1DB0RESULT_2DB0RESULT_3DB0RESULT_4DB0RESULT_5DB0DATAENDSSTACKSEGMENTSTACK;堆栈段STADB
3、64DUP(0);开辟100单元作为堆栈空间STACK_TOPDB0STACKENDSCODESEGMENT;代码段ASSUMECS:CODE,DS:DATA,ES:DATA,SS:STACKSTART:MOVAX,DATAMOVDS,AX;设置数据段MOVAX,STACKMOVSS,AX;设置堆栈段LEASP,STACK_TOP;设置栈顶指针MOVAX,6234H;被转换的数先放入AX中MOVCX,10000DIVCXMOVRESULT_1,AL;除以100,得百位数MOVAX,DXMOVDX,0MOVCX,1000
4、DIVCXMOVRESULT_2,ALMOVAX,DXMOVDX,0MOVCX,100DIVCX;余数除以10,得十位数,存入RESULT_2MOVRESULT_3,ALMOVAX,DXMOVDL,0MOVCL,10DIVCLMOVRESULT_4,ALMOVRESULT_5,AH;余数为个位数,存入RESULT_3MOVAX,4C00H;返回DOS(两句)INT21H;CODEENDSENDSTART;最后一行要按回车键减法实现:;multi-segmentexecutablefiletemplate.DATASEG
5、MENT;数据段RESULT_1DB1RESULT_2DB1RESULT_3DB1RESULT_4DB1RESULT_5DB1DATAENDSSTACKSEGMENTSTACK;堆栈段STADB64DUP(0)STACK_TOPDB0STACKENDSCODESEGMENT;代码段ASSUMECS:CODE,DS:DATA,ES:DATA,SS:STACKSTART:;程序开头必须要有的五条指令MOVAX,DATAMOVDS,AX;设置数据段MOVAX,STACKMOVSS,AX;设置堆栈段LEASP,STACK_TO
6、P;设置栈顶指针;---------------------------------------;程序的中间部分MOVAX,12345MOVCL,0;计数器清零NEXT1:SUBAX,10000;减5JCOVER1;有借位说明不够减INCCL;否则够减,计数器加1JMPNEXT1;无条件跳转OVER1:ADDAX,10000;最后恢复不够减时AL的余数MOVRESULT_1,CLMOVCL,0NEXT2:SUBAX,1000JCOVER2INCCLJMPNEXT2OVER2:ADDAX,1000MOVRESULT_2,
7、CLMOVCL,0NEXT3:SUBAX,100JCOVER3INCCLJMPNEXT3OVER3:ADDAX,100MOVRESULT_3,CLMOVCL,0NEXT4:SUBAX,10JCOVER4INCCLJMPNEXT4OVER4:ADDAX,10MOVRESULT_4,CLMOVRESULT_5,ALMOVAL,RESULT_1;送显示功能号到AHMOVAH,02ADDAL,30HMOVDL,AL;被显示字符的ASCII码'1'送DLINT21H;DOSINT21功能调用MOVAL,RESULT_2;送显示功
8、能号到AHMOVAH,02ADDAL,30HMOVDL,AL;被显示字符的ASCII码'1'送DLINT21H;DOSINT21功能调用MOVAL,RESULT_3;送显示功能号到AHMOVAH,02ADDAL,30HMOVDL,AL;被显示字符的ASCII码'1'送DLINT21H;DOSINT21功能调用MOVAL,RESUL