- 1、本文档共3页,可阅读全部内容。
- 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
微机接口实验-二
实验二 十六进制转BCD 实验
一、 实验目的
1、了解数值十六进制、BCD 码等各种数值表达方法;
2、掌握十六进制转换为BCD 码的原理;
3、学会采用汇编实现数值的转换算法。
二、 实验原理
BCD 码(Binary-Coded Decimal)亦称二进码十进数或二-十进制代码。用4
位二进制数来表示1 位十进制数中的0~9 这10 个数码。是一种二进制的数字编
码形式,用二进制编码的十进制代码。BCD 码这种编码形式利用了四个位元来储
存一个十进制的数码,使二进制和十进制之间的转换得以快捷的进行。
十六进制(英文名称:Hexadecimal),是计算机中数据的一种表示方法。同
我们日常生活中的表示法不一样。它由0-9,A-F 组成,字母不区分大小写。
程序流程图:
三、 实验步骤
1、Proteus 仿真
a.在Proteus 内新建工程,放置8086 CPU,设置CPU 运行内存0xFFFFF;
b.在代码编码器内输入汇编程序,,执行编译,运行仿真,进行调试;
2、调试、验证
a.设置断点、单步运行程序;
b.观察程序运行时,8086 内部寄存器的数值变化;
参考程序:(注:分号对应汇编的注释,可以不输入)
;将 AX 拆为 5 个 BCD 码,并存入 RESULT 开始的 5 个单元
;AX=0FFFFH=65535
CODE SEGMENT
ASSUME CS:CODE, DS:DATA
START:
MOV AX, DATA
MOV DS, AX
MOV DX,0000H
MOV AX, 65535
MOV CX, 10000
DIV CX
MOV RESULT, AL ; 除以 10000, 得万位数
MOV AX,DX
MOV DX,0000H
MOV CX, 1000
DIV CX
MOV RESULT+1, AL ; 除以 1000, 得千位数
MOV AX,DX
MOV DX,0000H
MOV CX, 100
DIV CX
MOV RESULT+2, AL ; 除以 100, 得百位数
MOV AX,DX
MOV DX,0000H
MOV CX, 10
DIV CX
MOV RESULT+3, AL ; 除以 10, 得十位数
MOV RESULT+4, DL ; 得个位数
JMP $
CODE ENDS
DATA SEGMENT
RESULT Db 5 DUP(?)
DATA ENDS
END START
四、 实验结果和体会
1、执行完第一次除法,观察寄存器AX、DX 里的值分别是多少 (十进制)?这说
明了除法指令的什么特点?
2、将程序执行到最后,观察内存的变化,写出RESULT 变量储存的5 个数值。
文档评论(0)