汇编语言作业(四)在屏幕上显示N个星号

班级:  计算机14-1  姓名: 许恺     学号: 2014011329  日期: 2016.4.8          

一、编写程序

1.从键盘输入一个十进制个位数N1-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)运行结果(截图):

汇编语言作业(四)在屏幕上显示N个星号

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)运行结果(截图):

汇编语言作业(四)在屏幕上显示N个星号

二、编程体会

循环好难啊,还有各种移位输出,感觉熟练运用选择和循环还要很长一段时间,移位是我的弱项,还是没有理解他的用处,还有堆栈的使用也不熟,真是还不能很好的运用这些兵器(寄存器)。继续努力。

内容版权声明:除非注明,否则皆为本站原创文章。

转载注明出处:https://www.heiqu.com/zzsxjs.html