1 / 5
文档名称:

实验2数据转换实验.doc

格式:doc   大小:59KB   页数:5页
下载后只包含 1 个 DOC 格式的文档,没有任何的图纸或源代码,查看文件列表

如果您已付费下载过本站文档,您可以点这里二次下载

分享

预览

实验2数据转换实验.doc

上传人:012luyin 2017/2/24 文件大小:59 KB

下载得到文件列表

实验2数据转换实验.doc

相关文档

文档介绍

文档介绍:实验 2 数据转换实验一、实验内容: 1. 二进制数转换为十进制数 2. ASCII 码表示的十进制数转换为二进制数并显示 3. 二进制数到十六进制数的转换 4. ASCII 码表示的十六进制数到二进制数的转换二、实验目的: 1. 复****利用 、 等进行汇编、连接的方法及执行目的程序的方法。 2. 复****汇编源程序结构。 3. 复****数据转换的方法,进一步学****数据转换的意义、目的。 4. 初步了解数据转换程序的构成。了解在汇编中“二进制数、十进制数、十六进制数”的意义。 5. 了解二进制到 10、 16 进制; 10、 16 进制到二进制转换程序设计方法。三、实验源程序代码: 1. 二进制数转换为十进制数将D0 起字单元中存放的 16 位二进制数转换为十进制数, 并将其 ASCI I 码存入DI所指向的缓冲区 BUF 中, 最后显示出来。程序如下所示: DATA SEGMENT BUF DB 5 DUP(?) ; 预留 5 单元空间 D0 DW 2A5H DATA ENDS CODE SEGMENT ASSUME CS:CODE,DS:DATA START: MOV AX,DATA MOV DS,AX MOV DI,OFFSET D0 ;将 DI 指向 BUF 的下一单元 MOV AX,D0 ; 取要用来变十进制数的数到 AX MOV BX,10 ; 准备除以 10 MOV CX,0 ; 准备统计余数的个数 CHANGE10: DEC DI; 准备存放余数,往前倒存 INC CX MOV DX,0 ; 将除数的高 16位(在 DX 中)清 0,DX 也将用来存放余数 DIV BX ;DX,AX 除以 BX (BX=10) ADD DL,30H ; 余数变为 ASCII 码值 MOV BYTE PTR[DI],DL ; 存储十进制数 CMP AX,0 ; 是否为 0? JNZ CHANGE10 ; 不为 0转 CHANGE10 CHANGE11: MOV DL,BYTE PTR[DI] ; 取出存放在 BUF 中的十进制数到 DL 供显示 MOV AH,2 ; 显示 1 个字符 INT 21H INC DI LOOP CHANGE11 MOV AH,4CH ; 程序结束并返回 DOS INT 21H CODE ENDS END START (1 )请改变第三行的 3A5H 改变为 4A3FH 、 0ABH 、 0A37BH 后分别说明运行结果, 并做解释。(2 )分析其中 INC 与 DEC 语句的作用是什么,用”;”号屏蔽这二句后运行结果又是什么?请解释。(3 )将 MOV BX,10 ; 准备除以 10 中的 10 改为 8 ,结果如何?意义是什么? (4 )如果改为 16 ,结果如何,试分析为什么是这样的结果? 码表示的十进制数转换为二进制数并显示将 SI 指向的缓冲区 BUF 中保存的五位 ASCII 码十进制数( 0-65535 ) 转换成对应的二进制数并存放在 DX 中, 再以二进制形式显示。 DATA SEGMENT BUF DB '25092' C DB 'B',0DH,0AH,'$' DATA ENDS CODE SEGMENT ASSUME CS:CODE,DS:DATA START: