您好,欢迎来到微智科技网。
搜索
您的当前位置:首页模电实验报告

模电实验报告

来源:微智科技网
重庆交通大学信息科学与工程学院

重庆交通大学计算机与信息学院

实 验 设 计 报 告

班 级: 07级电子2班

姓 名: 张凯

学 号: 07200203

实 验 名 称 : 十六进制数转二进制数

实验所属课程: 汇编语言程序设计

实验室(中心): 语音楼8楼上机实验室

指 导 教 师 : 张开洪

设计完成时间: 2009 年 6 月 1

- 1 -

重庆交通大学信息科学与工程学院

实验题目:《IBM-PC汇编语言程序设计》P193 5.9题

试编写一汇编语言程序,要求从键盘接受一个四位的十六进制数,并在终端上显示与它等值的二进制数。

设计思路:

循环4次输入4位16进制数,把它转换位2进制数,即对于每一位数(ASCII码)转化为0——9或a——f的数,然后左移4位,放到一个变量里面,循环,左移4位,循环。

实验代码:

stacks segment stack s db 20 dup(0) stacks ends

data segment n equ 4

char db n+1 ;输入内存字符 db 0 db n+1 dup(0)

input db 'Input the number:',0dh,0ah,'$' enter db 0dh,0ah,'$'

output db 'Result is:',0dh,0ah,'$' data ends

code segment

assume cs:code,ss:stacks,ds:data start: mov ax,data mov ds,ax lea dx,input mov ah,9 int 21h lea dx, char mov ah,0ah int 21h lea dx,enter mov ah,9 int 21h mov si,2 mov cx,4 l0: mov bl,char[si] cmp bl,30h

jb start ;是否小于asc码

- 2 -

重庆交通大学信息科学与工程学院

cmp bl,39h

jbe l00 ; 是否小于等于asc码 cmp bl,61h

jb start ;是否小于asc码a cmp bl,66h

ja start ;是否大于asc码f sub bl,57h ;将asc码转换为A-F jmp l333

l00: sub bl,30h ;将asc码转换为数字-9 l333: mov char[si],bl inc si dec cx

jnz l0 ;循环次进行转换为进制数 lea dx,output mov ah,9 int 21h mov si,2 l000: mov bl,char[si] mov ch,4 mov cl,4 shl bl,cl

ll00: test bl,80h ; 测试bl的最高位为正还是为负 jnz l1 mov dl,'0' mov ah,2 int 21h jmp l2 l1: mov dl,'1' mov ah,2 int 21h l2: shl bl,1 dec ch jnz ll00 inc si cmp si,6 jne l000 mov ah,4ch int 21h code ends end start

- 3 -

重庆交通大学信息科学与工程学院

实验调试:

在实验室计算机上进行,masm编译,link后生成相应.exe文件,运行后,输入“AAFF” 输出“1011101111111111”。达到预设结果。

实验结论:

实验将课堂上学到的内容应用到实践中,更好的理解汇编语言的相关知识。在代码编写中遇到了不少困难,迫使自己查阅有关资料,并在其过程中巩固自己的知识,也学到了不少课堂上没有学到的东西。激发了学习汇编语言的兴趣。

- 4 -

因篇幅问题不能全部显示,请点此查看更多更全内容

Copyright © 2019- 7swz.com 版权所有 赣ICP备2024042798号-8

违法及侵权请联系:TEL:199 18 7713 E-MAIL:2724546146@qq.com

本站由北京市万商天勤律师事务所王兴未律师提供法律服务