二进制数到BCD码的转换

上传人:枫** 文档编号:490760441 上传时间:2023-03-20 格式:DOCX 页数:10 大小:253.15KB
返回 下载 相关 举报
二进制数到BCD码的转换_第1页
第1页 / 共10页
二进制数到BCD码的转换_第2页
第2页 / 共10页
二进制数到BCD码的转换_第3页
第3页 / 共10页
二进制数到BCD码的转换_第4页
第4页 / 共10页
二进制数到BCD码的转换_第5页
第5页 / 共10页
点击查看更多>>
资源描述

《二进制数到BCD码的转换》由会员分享,可在线阅读,更多相关《二进制数到BCD码的转换(10页珍藏版)》请在金锄头文库上搜索。

1、得分教师签名批改日期课程编号1801770001大学实验报告课程名称:微机原理及应用实验名称:二进制数到BCD码的转换学 院:物理科学与技术学院指导教师报告人:组号:学号 实验地点K302实验时间:2014 年 10月 22 日提交时间:2014,11.12一、实验要求:将AX中的一个二进制数(对应的十进制数范围是0-65535),转换成压缩性BCD码表示 的十进制,并从屏幕输出转换结果。要求用减法实现,并比较与除法方法进行运行速度 比较。二、实验目的:(1)进一步熟练掌握8086汇编语言编译调试工具和环境的操作;(2)掌握完整8086汇编的程序设计编写方法;(3)掌握简单的数值码制转换方法;

2、(4)掌握键盘输出的DOS功能调用方法。三、实验说明:计算机中的数值有各种表达方式,这是计算机的基础。掌握各种数制、码制之间的转换 是一种基本功;利用DOS功能调用实现在屏幕上显示字符或数字的方法是本课程的基本要求 之一。四、除法方法:1、算法说明:三位数先除以100,得到的商就是百分位的结果;将之前一次的余数除以10, 得到的商就是十分位的结果;剩下来的余数就是个位的结果。2、程序流程图:图1除法程序流程图RESULT_3 DB 1DATAENDSSTACKSEGMENTSTACK;堆栈段STADB64 DUP(0)STACK_TOPDB0STACKENDSCODESEGMENT;代码段AS

3、SUME CS:CODE , DS:DATA , ES:DATA , SS:STACKSTART:程序开头必须要有的五条指令MOVMOVMOVMOVLEAAX, DATADS, AXAX, STACKSS, AXSP, STACK_TOP; 设置数据段;设置堆栈段;设置栈顶指针程序的中间部分MOVAX, 467MOVCL, 100DIVCLMOVRESULT_1, AL;除以100,得百位数MOVAL, AHMOVAH, 0MOVCL, 10DIVCLMOVRESULT_2, AL ;余数除以10,得十位数MOVRESULT_3, AH ;余数为个位数程序结束必须要有的两条指令MOVAX, 4

4、C00H;INT21H;CODE ENDSEND START;最后一行要按回车键五、减法方法1、算法说明:三位数先循环减100,直到不够减了,做减法的次数就是百分位的结果;将 不够减之前一次的余数恢复,再循环减去10,直到不够减了,做减法的次数就是十分位的 结果;最后恢复的正余数就是个位的结果。2、程序流程图RESULT_3 DB 1DATAENDSSTACK SEGMENT STACK; 堆栈段STADB64 DUP(0)STACK_TOPDB0STACK ENDSCODE SEGMENT;代码段ASSUME CS:CODE , DS:DATA , ES:DATA , SS:STACKSTA

5、RT:;程序开头必须要有的五条指令MOVAX,DATAMOVDS,AX;设置数据段MOVAX,STACKMOVSS,AX;设置堆栈段LEA SP, STACK_TOP ;设置栈顶指针;程序的中间部分MOV AX,467MOV CL, 0;计数器清零CLC ;NEXT1:SUB AX, 100; 减 100JC OVER1;有借位说明不够减INC CL ;否则够减,计数器加1JMP NEXT1;无条件跳转OVER1:ADD AL,100;最后恢复不够减时AL的余数MOV RESULT_1,CLMOV CL, 0;计数器清零CLC ;NEXT2:SUB AL, 10; 减 10JC OVER2;有

6、借位说明不够减INC CL ;否则够减,计数器加1JMP NEXT2;无条件跳转OVER2:ADD AL,10;最后恢复不够减时AL的余数MOV RESULT_3,ALJ;程序结束必须要有的两条指令MOV AX, 4C00H;INT 21H;;CODE ENDSEND START;最后一行要按回车键六.实验及报告要求:1、简要说明算法,并画出正确的程序流程图;算法说明:三位数先循环减100,直到不够减了,做减法的次数就是百分位的结果;将 不够减之前一次的余数恢复,再循环减去10,直到不够减了,做减法的次数就是十分位的 结果;最后恢复的正余数就是个位的结果。程序流程图如图22、给出完整正确的源程

7、序代码,要求给每一句伪指令或指令加上注释;源程序代码、伪指令或指令注释如4.3和5.3所示。3、分别在DOS和Windows下编译、连接源程序生成可执行文件并调试,比较两个环境下 生成的机器码的长度、寄存器内容、计算结果的异同。3.1、除法:3.1.1、DOS 环境下:机器码:fiX=4C00 BX=0000DS=142D ES=141D1433:002fl CD21CX=O00fi DX=0000 SP=0041SS=142E CS=1433 IP=002fiINT 21BP=000O SI=0000 DI=0000NV UP El PL NZ NA PO NCb:masmdebug exa

8、mple.exe-u1433:0000 B82D14MOVfiX,142D1433:0003 8ED8MOVDS, fiX1433:0005 B82E14MOVAX.142E1433:0008 8ED0MOVSS,AX1433:000A 8D264100LEASPJ00411433:000E B8D301MOVRX.01D31433:0011 B164MOVCL ,641433:0013 F6F1DIVCL1433:0015 A20000MOV0000,AL1433:0018 8AC4MOVAL, AH1433:001A B400MOVAH ,001433:0010 BlOflMOVCL,0f

9、l寄存器:E F6F1DIVCL-g cs:002flII |-U cs: 011433::0000B82D14MOVAX.142D顶33::00038ED8MOVDS, RX1433::0005B82E14MOVAX,142E1433:00088ED0MOVSS.AX1433:000A8D264100LEASPJ00411433::000EB8D301MOVfiX,01D3顶33::0011B100MOVCL ,001433:0013F8CLCi|U33:00142D6400SUBAX,006411433:00177204JB001D11433:0019FECIINCCL顶33:001BEB

10、F7JMP0014:1433:001D0464ADDAL, 641433:IIZ:001F880E0000MOV0000,CLom:so os:DOGPNESDESCp el hs s-d ds: U142D:0000 04 06 07 00 00 00 00 00-00 00 00 00 00 00 00 001420:0010 00 00 00 00 00 00 00 00-00 00 00 00 00 00 00 001420:0020 00 00 00 00 00 00 00 00-00 00 00 00 00 00 00 001420:0030 00 00 00 00 00 00 0

11、0 00-00 00 00 00 00 00 00 001420:0040 00 00 00 00 00 00 00 00-00 00 00 2A 00 33 14 19*.3.142D:0050 0E F2 00 00 00 00 00 00-00 00 00 00 00 00 00 001420:0060 B8 2D 14 8E D8 B8 2E 14-8E DO 8D 26 41 00 B8 D3 &A.1420:0070 01 Bl 64 F6 Fl A2 00 00-8A C4 B4 00 Bl 0A F6 Fl .d4C000000000A000020711-3Asde o口否o

12、o o-u7777777777777700000000000000rt0123456789ABCD00000000000000rt46700000000000rt&000000000000046700000000000&0000000000000000000000000004BINININININININININININI5DPDDDDDDDDDDDDfDODDDDDDDDDDDDfAPAAAAAAAAAAAA* xxxxxxxxxxxxw LSBBBBBBBBBBBBn A- - -AAAAAAAAAAAA,TnDBNDDDSMDANE 3ESCCEUPSTRRfifiDsflEAmrnsr

13、RDSSSSCficKd.C6Osize:byteelements|1 Ieditshow as:|hexuulul SSA M PEET- IRlRRSfhhh,0h1230-467000:法减、23寄存器:-g cs:fiX=4C00BX=0000CX=0006DX=0000SP=0041BP=0000 SI=0000 01=0000DS=142DES=141DSS=142ECS=1433IP=003A1433:003A CD21NV UP El PL NZ AC P0 CVINI2101234567:s dDDDDDDDD 22222222 damm -11111111 -0000008D000000D2000000E80000008F7000004000000010600002D100000F2B40000E81Do00 0000-00000000000000000 0000-000000000000000000 0000-0000000000

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 学术论文 > 其它学术论文

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号