Bonjour !
Bien, je continue les avancées et les questions :
j'ai un petit programme qui initialise un mode graphique (13h)
Mn problème est que je ne parviens pas à débugger au delà de l'interruption 10h
voilà ce que donne debug en début de prog (commande -u) :
en demandant de tracer pas à pas, le programme va se perdre au loin, en changeant les adresse (j'imagine que c'est l'exécution de l'interruption pas à pas)..
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18 0CF8:0100 B81300 MOV AX,0013 0CF8:0103 CD10 INT 10 0CF8:0105 FC CLD 0CF8:0106 31C0 XOR AX,AX 0CF8:0108 BF7301 MOV DI,0173 0CF8:010B AA STOSB 0CF8:010C FEC0 INC AL 0CF8:010E 75FB JNZ 010B 0CF8:0110 0E PUSH CS 0CF8:0111 BF72FB MOV DI,FB72 0CF8:0114 0E PUSH CS 0CF8:0115 B98002 MOV CX,0280 0CF8:0118 1F POP DS 0CF8:0119 FD STD 0CF8:011A 07 POP ES 0CF8:011B E440 IN AL,40 0CF8:011D 3C40 CMP AL,40 0CF8:011F 76FA JBE 011B
j'ai également essayé l'optionafin d'exécuter les 2 prochaines instructions... ça ne m'emmène pas à l'adresse 0CF8:0105.
Code : Sélectionner tout - Visualiser dans une fenêtre à part -t =100 2
donc option -t évitée...
après, j'essaie l'option -p, afin de "sauter" plus vite... là aussi, je n'arrive pas à atteindre l'adresse 0CF8:0105 (avant d'exécuter CLD)
quelqu'un pourrait m'aider ? me conseiller un autre débugger 16bits s'il faut ? (je code avec NASM) j'ai essayé borg228 mais cela ne fait "que" désassembler (ce qui est déjà pas mal car je retrouve exacement mon code !)
merci !
Partager