班级: 计算机14-1 姓名: 许恺 学号: 2014011329 日期: 2016.4.8
一、编写程序
1.从键盘输入一个十进制个位数N(1-9),然后在屏幕上显示N个星号。
例如:输入3,然后显示:***
(1)程序清单:
code segment
assume cs:code
main proc far
start:
mov ah,01h
int 21h
sub al,30h
mov cl,al
mov ch,0
l1:
mov dl,\'*\'
mov ah,02h
int 21h
loop l1
mov ah,4ch
int 21h
main endp
code ends
end start
(2)运行结果(截图):
2.从键盘输入一个不大于255的十进制数,在屏幕上输出其对应的十六进制数。
例如:若输入125,输出7D。
若输入255,输出FF。
提示:本题需将1、2、5三个字符拼接成相应的十进制数,即1、2、5变成数值后,再计算((0*10+1)*10+2)*10+5,拼成125后,以十六进制形式输出。
(1)程序清单
code segment
assume cs:code
main proc far
start:
mov ah,01h
int 21h
mov bl,0
sub al,30h
mov bh,64h
mul bh
add bl,al
mov ah,01h
int 21h
sub al,30h
mov bh,0ah
mul bh
add bl,al
mov ah,01h
int 21h
sub al,30h
add bl,al
mov cx,2
l1: push cx
mov cl,4
rol bl,cl
mov al,bl
and al,0fh
add al,30h
cmp al,39h
jbe l2
add al,07h
l2: mov dl,al
mov ah,02h
int 21h
pop cx
loop l1
mov ah,4ch
int 21h
code ends
main endp
end start
(2)运行结果(截图):
二、编程体会
循环好难啊,还有各种移位输出,感觉熟练运用选择和循环还要很长一段时间,移位是我的弱项,还是没有理解他的用处,还有堆栈的使用也不熟,真是还不能很好的运用这些兵器(寄存器)。继续努力。