Erreur de segmentation en assembleur

rocksider Messages postés 107 Statut Membre -  
 toto -
Bonjour,
Voilà j'ai ecrit un bout de code simple qui devrait afficher un caractere que j'ai codé avec le language assembleur (nasm) et il me donne une erreur de segmentation, voilà ce dernier:
[code]
section .text

global _start ;must be declared for linker (ld)

_start: ;tell linker entry point

MOV CX,6
MOV AH, 09
mov AL,33
MOV BL 01

INT 10

section .data

[/code]

1 réponse

toto
 
Bonjour

Tu devrais avoir aussi un MOV BH,0 pour sélectionner la page (ou MOV BX,1 au lieu de MOV BL,1)

Il fait quoi ton programme, après le INT 10 ? Il devrait y avoir un appel (ne me demande pas lequel, je n'en sais rien) pour le terminer. Sinon il continue et derrière, il y a n'importe quoi dans la mémoire : plantage garanti. Sous debug, tu peux ajouter un INT 3 qui provoque un point d'arrêt

pour INT 10 commande 9 voir http://www.ctyme.com/intr/rb-0099.htm
1