当前位置:文档之家› 汇编语言程序设计实验七

汇编语言程序设计实验七

实验七子程序的应用
【实验目的】
1.掌握子程序的定义
2.掌握子程序中的参数传递
3.掌握子程序的调用。

【实验环境】
配有汇编语言开发环境的计算机
【实验内容】
十进制数到十六进制数转换程序。

程序要求从键盘取得一个十进制数,然后把该数以十六进制形式在屏幕上显示出来。

【实验过程、结果】
;程序名:t6-2.asm
;功能:从键盘获取一个十进制数,
;用十六进制的形式输出
decihex segment
assume cs:decihex
;主程序部分
main proc far
call decibin
call crlf
call binihex
call crlf
main endp
;***************************
decibin proc near
mov bx,0
;从键盘获取一个数字,转换为二进制
;结果放在bx寄存器中
newchar:
mov ah,1
int 21h ;从键盘输入一个字符并显示在屏幕上 sub al,30h ;转换成ASCII码
jl exit
cmp al,9d
jg exit
cbw ;从al扩展到ax,数字现在存放在ax中 xchg ax,bx
mov cx,10d
mul cx
xchg ax,bx
add bx,ax
jmp newchar
exit:
ret
decibin endp ;子程序结束
;将二进制转换为十六进制子程序binihex proc near
mov ch,4
rotate:
mov cl,4
rol bx,cl ;循环移位
mov al,bl
and al,0fh
add al,30h
cmp al,3ah
jl printint
add al,7h
printint:
mov dl,al
mov ah,2
int 21h
dec ch
jnz rotate
ret
binihex endp
;**************************
;显示输出和回车换行子程序
crlf proc near
mov dl,0dh
mov ah,2 ;显示一个字符 dl=字符 int 21h ;光标跟随移动
mov dl,0ah
mov ah,2
int 21h
ret
crlf endp
;*************************** decihex ends
end main
【实验心得】
本实验实现了从键盘获取一个十进制数,用十六进制的形式显示输出。

先定义了主程序,再调用将十进制转换为二进制子程序,并将结果保存在bx寄存器中,再通过寄存器bx传递参数到将二进制数转换为十六进制子程序中,最后调
用显示输出和回车换行子程序。

相关主题