Assembleur

Signaler
Messages postés
2
Date d'inscription
jeudi 18 mars 2010
Statut
Membre
Dernière intervention
19 mars 2010
-
Messages postés
2
Date d'inscription
jeudi 18 mars 2010
Statut
Membre
Dernière intervention
19 mars 2010
-
bonjour,

svp quelqu'un peut il m'aider pour mon programme en assembleur; on me demande d'ecrire une routine qui permet de convertir un octet codé en BDC en 2 caractères ASCII
correspondant et d'appeler cette routine avec un call depuis le programme principal.
svp c'est plus qu'urgent

Merci

3 réponses

Messages postés
3983
Date d'inscription
jeudi 14 juillet 2005
Statut
Membre
Dernière intervention
30 juin 2013
14
Supposons que la valeur en BCD (binary-coded decimal) soit dans DL :
(code assembleur 16 bits)
bcdToBin:
;Value given in AX
 mov ah,dl
 mov al,dl
 and ax,0x0FF0
 shr al,4
 add al,48 ;peut-être optimisable
 add ah,48 ;idem
ret

---
VB.NET is good ... VB6 is better
Messages postés
3983
Date d'inscription
jeudi 14 juillet 2005
Statut
Membre
Dernière intervention
30 juin 2013
14
Oops, j'ai fait une erreur dans le code.
Ceci devrait aller :
bcdByteToAscii:
;Params : BCD byte's passed in CL.
;Returns: The ASCII chars are returned in AX.
push bx
xor bh,bh
mov bl,cl
and bl,0xF0
shr bl,4
add bx,48
mov ax,bx
shl ax,8
xor bh,bh
mov bl,cl
and bl,0x0F
add bx,48
add ax,bx
pop bx
ret

---
VB.NET is good ... VB6 is better
Messages postés
2
Date d'inscription
jeudi 18 mars 2010
Statut
Membre
Dernière intervention
19 mars 2010

merci beaucoup.