Je baguette pour imprimer l'étoile autant que la valeur d'entrée de l'utilisateur mais quand j'imprime un retour à la ligne alors ma boucle ne fonctionne pas sans imprimer newline mon code fonctionne très bien. Pourquoi ça se passe je ne comprends pas.Si j'imprime newline alors ma boucle ne s'arrête pas
.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/ah = 9] (http: //www.ctyme.com/intr/rb-2562.htm) détruit le contenu de _AL_ –
merci pour votre commentaire monsieur.But Comment puis-je me débarrasser de cela? –
@WalidAlAshik Enregistrez le contenu de 'al' à l'avance et restaurez-le après l'interruption. – fuz