1 réponse
Bonjour,
Je vais essayer de répondre a ta question mais voila bien longtemps que je n'ai pas pratiqué l'assembleur en plus sur PC je suis pas specialement competent... j'ai apris l'assembleur sur Z-80 et 6502 c'est te dire que c'est pas d'hier !!
Comme tu dois t'en douter, en assembleur il n'y a pas d'instructions "complexes" comme print en basic par exemple.
En premier lieu, la valeur que se trouve dans ton registre est 10 (En DECIMALE) mais c'est stoké en BINAIRE ! il faut donc deja retranscrire la valeure 10 en deux caracteres ( Un 1 et Un 0 ) pour faire 10 ou alors, tu peux aussi afficher la valeur en binaire mais c'est nettement moins pratique !
Bref sans passer par la, il faut que tu trouves la routine que permet d'afficher une valeur en decimale contenu dans un registre quelconque (si elle existe)...
Ca ressemblerai alors a :
Move AX,10
CALL "adresse de la fameuse routine"
Ou alors si ya que l'affichage d'un car ASCII ( ce qui est fort possible ) tu utilise le DCB ( Decimale codé Binaire )
10 = 00000000 00001010 ramenons sur 8bits pour simplifier ...
0000 1010 en DCB ca donne : 0001 0000
Tu gardes alternativement les bits de poid fort et de poid faible, tu ajoutes 48(decimale) qui est la valeur ASCII du caractere 0 et tu appels la routine d'affichage de cette valeur qui represente maintenant un CARACTERE !
Et donc il faut une boucle hein !!
Voila, Je ne te donne pas la réponse mais normalement, tu dispose de tout les elements necessaires pour y parvenir (tres bon entrainement pour apprendre l'assembleur !).
Bon courage !
Je vais essayer de répondre a ta question mais voila bien longtemps que je n'ai pas pratiqué l'assembleur en plus sur PC je suis pas specialement competent... j'ai apris l'assembleur sur Z-80 et 6502 c'est te dire que c'est pas d'hier !!
Comme tu dois t'en douter, en assembleur il n'y a pas d'instructions "complexes" comme print en basic par exemple.
En premier lieu, la valeur que se trouve dans ton registre est 10 (En DECIMALE) mais c'est stoké en BINAIRE ! il faut donc deja retranscrire la valeure 10 en deux caracteres ( Un 1 et Un 0 ) pour faire 10 ou alors, tu peux aussi afficher la valeur en binaire mais c'est nettement moins pratique !
Bref sans passer par la, il faut que tu trouves la routine que permet d'afficher une valeur en decimale contenu dans un registre quelconque (si elle existe)...
Ca ressemblerai alors a :
Move AX,10
CALL "adresse de la fameuse routine"
Ou alors si ya que l'affichage d'un car ASCII ( ce qui est fort possible ) tu utilise le DCB ( Decimale codé Binaire )
10 = 00000000 00001010 ramenons sur 8bits pour simplifier ...
0000 1010 en DCB ca donne : 0001 0000
Tu gardes alternativement les bits de poid fort et de poid faible, tu ajoutes 48(decimale) qui est la valeur ASCII du caractere 0 et tu appels la routine d'affichage de cette valeur qui represente maintenant un CARACTERE !
Et donc il faut une boucle hein !!
Voila, Je ne te donne pas la réponse mais normalement, tu dispose de tout les elements necessaires pour y parvenir (tres bon entrainement pour apprendre l'assembleur !).
Bon courage !