J'ai un nombre stocké dans dl, et j'ai besoin de cela pour travailler avec des nombres jusqu'à trois chiffres? Voici le code de travail pour les chiffres 0-9.DOS assemblage Simple math
WriteNumber:
;; print out number in dl
push ax
push dx
add dl,"0"
mov ah,02h ; printing one char
int 21h
pop dx
pop ax
ret
Par exemple, pour deux chiffres. Je pourrais prendre dl/10. Ensuite, imprimez le résultat et le reste en fonction des différents caractères. Mais j'ai une erreur, car le numéro doit être dans le registre AX pour la DIV.
que je dois faire ceci:
mov ax, dl
Mais ça ne marchera pas?
Comment puis-je faire quand INT21 pour la lecture de caractères met dans un registre 8 bits et DIV ont seulement 16 bits? – Algific
Eh bien, le registre est en fait 32 bits, mais vous pouvez simplement en référencer des morceaux en utilisant l'ax, al, ah (par opposition à l'ensemble eax). Donc, ça devrait aller si vous remplissez le registre ax avec votre valeur 8 bits. – mrduclaw
Ahhhh. Je vous remercie. – Algific