Programme

dydydebs Messages postés 2 Date d'inscription jeudi 19 janvier 2006 Statut Membre Dernière intervention 31 mai 2010 - 30 déc. 2007 à 10:24
_dune2_ Messages postés 141 Date d'inscription mercredi 19 juillet 2006 Statut Membre Dernière intervention 20 avril 2011 - 3 janv. 2008 à 00:50
Bonjour, je voudrai savoir ce que fait ce programme "assembleur 80c535" car je débute en assembleur . Merci pour vos conseille ....
Voici le code :
   donnees   equ     6000H
   program   equ    4000H
   chiffre      equ    6000H
   car          equ     6001H

                     org 1000H
                     move@   chiffre, D0
                     cmp@     #10,D0
                     bct@       ADD_0
                     ADD@    #'A'-'0'-10,D
ADD_0  :      ADD@    #'0',D0
                     move@ D0,car
                     RTS
end
Merci d'avance

1 réponse

_dune2_ Messages postés 141 Date d'inscription mercredi 19 juillet 2006 Statut Membre Dernière intervention 20 avril 2011
3 janv. 2008 à 00:50
Salut,

Je ne connais absolument pas ce 80c535, et je ne trouve aucune datacheet dessus ...
Je ne peux donc pas être absolument sûr, car je ne connais absolument pas l'instruction 'BCT', et le mode d'adressage me parait bizarre (6000H semble être une adresse .. mais "move@ chiffre,D0" ne semble pas plus être un adressage indirect que "cmp@ #10,D0").

Mais je dirais que ce code converti une valeur de 0 à 15 en caractère ASCII de '0' à 'F';
"cmp@  #10,D0" comparaison de D0 avec la valeur '10'
Si supérieur ou égal à 10  D0= D0+('A'-'0'-10)
Puis D0=D0+'0'

Donc au final, si DO<10 : D0 = D0 + ASCII('0')
et si D0>=10 : D0 = D0 - 10 + ASCII('A')

Voilà ... et bonne année tout le monde !
dune2.

Gentoo... que du bonheur ...
0
Rejoignez-nous