汇编:要求在显示屏上输出用字符“*”组成的三角形。最后一行有15字符。每行中的相邻两个字符之用空格
ascll码为20h 隔开
这个我回过的程序
data segment
dispbuf db 20 dup(0)
data ends
stacks segment stack
dw 128 dup(0)
stacks ends
code segment
assume cs:code,ds:data,ss:stacks
start:
mov ax, data
mov ds, ax
mov es, ax
;di 从1到8循环
mov di,1
loop1:
;si从8到di循环
mov si,8
loop2:
cmp si,di
ja down1
jmp down2
down1:
mov ah,2
mov dl,' '; 输出空格
int 21h
mov ah,2
mov dl,' '; 输出空格
int 21h
dec si
jmp loop2
down2:
;;; si 从1到2*(di-1)+1
mov si,1
loop3:
mov ah,2
mov dl,'*' ;输出*
int 21h
mov ah,2
mov dl,' '; 输出空格
int 21h
inc si
mov ax,di
dec ax
shl ax,1
inc ax
cmp ax,si
jge loop3
mov ah,2
mov dl,0dh; 输出回车
int 21h
mov ah,2
mov dl,0ah ;输出换行
int 21h
inc di
cmp di,8
jna loop1
mov ax, 4c00h
int 21h
code ends
end start
你和邪魅雨冰是同一人或同学?
控制好空字符和*的多少及位置就好了,输出类似于二维数组