所以我想在MASM x86(8086)中編寫一個程序,打印出一系列由星號「」構成的直角三角形。我正在使用循環打印出三角形。我試圖讓每個三角形3到9星號高和相同的數字,但在不同的配置。我知道它只打印一個三角形。打印完第一個三角形後,它將無限期地保持循環星號「」。這裏是我的一些代碼:在MASM x86(16位)上打印多個三角形
mov ah, 09h ;prints string
mov dx, offset input
int 21h
mov ah, 01h ;reads in character
int 21h
sub al, '0' ;is gunna read into lower half by default
mov ah, 0 ;blanking higher half of register so that way it doesnt throw off program
mov size, ax
mov cx, ax
mov bx, cx
push bx
mov ah, 02h
mov dl, 13
int 21h
mov dl, 10
int 21h
lines:
push cx
stars:
mov ah, 02h
mov dl, '*'
int 21h
loop stars
mov ah, 02h
mov dl, 13
int 21h
mov dl, 10
int 21h
pop cx
loop lines
mov bx, size
mov ax, 4c00h
int 21h
我猜我必須創建另一個寄存器來保存該變量,並可能創建另一個循環。
我的問題是,我必須將用戶輸入傳遞到另一個寄存器嗎?如果是這樣,我怎麼能通過它?
你忘了問一個問題。 –
我的問題是,我必須將用戶輸入傳遞到另一個寄存器嗎?如果是這樣,我怎麼能通過它? –
您的帖子仍然沒有問題。請編輯您的帖子以提供所有必要的信息。 –