Bug programme asm 8086

Bug programme asm 8086 - ASM - Programmation

Marsh Posté le 09-01-2014 à 22:56:34    

Bonjour je voudrais exécuter le programme suivant qui est sensé convertir l'octet contenu dans AL en sa valeur ascii et le stocker dans result, mais il bug pourriez vous me conseiller svp?
Au lancement AX= 4B 5B donc AL=5B.

 


ASSUME CS:Code, DS:Data
Data    SEGMENT
RESULT  DB 3 DUP(?)
Data    ENDS
 
Code    SEGMENT
Debut:  MOV BX,   offset RESULT
        MOV AH,   AL
 
QuartH: MOV CL,   4
        SHR AH,   CL
        AND AH,   0FH
        CMP AH,   0AH
        JAE AlphaH
        ADD AH,   '0'
        JMP FinH
AlphaH: ADD AH,   'A'
        SUB AH,   0AH
FinH:   MOV [BX], AH
 
QuartL: AND AL,   0FH
        CMP AL,   0AH
        JAE AlphaL
        ADD AL,   '0'
        JMP FinL
AlphaL: ADD AL,   'A'
        SUB AL,   0AH
FinL:   MOV Byte ptr[BX+1], AL
 
FinCH:  MOV Byte ptr[BX+2], '$'
Code    ENDS
        END  Debut

 


Le programme se suspend à l'éxécution et
MOV BX, offset RESULT ne donne rien


Message édité par kunta-gwada le 10-01-2014 à 18:18:15
Reply

Marsh Posté le 09-01-2014 à 22:56:34   

Reply

Marsh Posté le 10-01-2014 à 10:12:07    

DS n'est pas initialisé et peut contenir n'importe quoi.
AL n'est pas initialisé et peut contenir n'importe quoi.
MOV [BX], AH devrait contenir "byte ptr"

Reply

Marsh Posté le 10-01-2014 à 15:22:51    

olivthill a écrit :

DS n'est pas initialisé et peut contenir n'importe quoi.
AL n'est pas initialisé et peut contenir n'importe quoi.
MOV [BX], AH devrait contenir "byte ptr"


 
J'ai oublié de préciser que AL contient 5B au lancement.

Reply

Sujets relatifs:

Leave a Replay

Make sure you enter the(*)required information where indicate.HTML code is not allowed