Erreur de segmentation en assembleur

Fermé
rocksider Messages postés 106 Date d'inscription mardi 21 octobre 2008 Statut Membre Dernière intervention 16 mars 2012 - 16 janv. 2009 à 21:35
 toto - 16 janv. 2009 à 22:10
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

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