Я хочу напечатать звезду так же, как и значение ввода пользователя, но когда я печатаю новую строку, тогда моя петля не работает иначе, не печатая новую строку, мой код отлично работает. Почему это происходит, я не понимаю.Если я печатаю новую строку, то моя петля не останавливается
.model small
.stack 100h
.data
msg1 db "How many star do you want to print: $"
newline db 10,13,"$"
.code
main proc
mov ax,@data
mov ds,ax
mov ah,9
lea dx,msg1
int 21h
mov ah,1 ;taking input number
int 21h
mov bl,al
sub al,48
;if i add newline code here then my loop doesn't stop
; mov ah,9
; mov ah,newline
; int 21h
loop:
mov cx,0
mov cl,al
mov ah,2
mov dl,'*'
Top:
int 21h
loop Top
Exit:
endp
end main
[INT 21/ах = 9] (HTTP: //www.ctyme.com/intr/rb-2562.htm) уничтожает содержимое _AL_ –
спасибо за ваш комментарий sir.But Как я могу избавиться от этого? –
@WalidAlAshik Сохраните содержимое 'al' заранее и восстановите его после прерывания. – fuz