戚凤 发表于 2011-9-22 06:42:21

菜鸟求助 关于汇编语言循环程序设计的代码

题目要求在屏幕上输出一个任意大小的空心等腰三角形。例题代码基本看不懂,求大虾释惑。题目如下:
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
后半部分的中断调用问题目前生疏,看不太明白但不要紧,主要是前半部分,应该是决定星号显示位置的算法吧?
这个地方看不明白,求解。

嗜血丨灵异狂 发表于 2011-9-22 06:56:03

代码够长的不参观 看的头疼

JMP 发表于 2011-9-22 18:24:32

本帖最后由 JMP 于 2011-9-22 18:26 编辑

{:1_1:}还好,能看明白,晚上回家仔细研究下!!!
页: [1]
查看完整版本: 菜鸟求助 关于汇编语言循环程序设计的代码