|
马上注册,结交更多好友,享用更多功能^_^
您需要 登录 才可以下载或查看,没有账号?立即注册
x
题目要求在屏幕上输出一个任意大小的空心等腰三角形。例题代码基本看不懂,求大虾释惑。题目如下:
data segment
a dw ?
b dw ?
c dw 50
data ends
code segment
main proc far
assume cs:code,ds:data
start:
push ds
sub ax,ax
push ax
mov ax,data
mov ds,ax
mov cx,c
shr cx,1
l1:
mov bp,cx
cmp cx,1
jz pri
mov b,cx
mov bx,c
mov a,bx
sub a ,cx
mov cx,c
compare:
mov bx,b
cmp cx,b
mov dl,'*'
jz xin1
cmp cx,a
jz xin1
mov dl,20h
xin1:
mov ah,2
int 21h
loop compare
crlf:
mov dl,0dh
mov ah,2
int 21h
mov dl,0ah
int 21h
mov cx,bp
loop l1
pri:
mov dl,20h
mov ah,2
int 21h
mov cx,x
dec cx
l2:
mov dl,'*'
mov ah,2
int 21h
loop l2
ret
mian endp
code ends
end start
后半部分的中断调用问题目前生疏,看不太明白但不要紧,主要是前半部分,应该是决定星号显示位置的算法吧?
这个地方看不明白,求解。
|
|