URL: https://linuxfr.org/forums/programmationautre/posts/assembleur-inline-dans-gcc Title: Assembleur inline dans gcc Authors: liberforce Date: 2007年04月05日T18:53:18+02:00 Tags: Score: 0 Salut à tous ! Je suis en train de me galérer pour 3 pauvres lignes d'assembleur à intégrer dans du code C... Est-ce que quelqu'un sait si gcc sauvegarde/restaure automatiquement le contexte ? Par exemple, si j'écris: `asm("movw 0ドルx6f09, %ax");` Est-ce que je suis sûr que je ne vais pas écraser une donnée qui a été mise précédemment dans le registre ax par le compilateur C ? A priori non, mais je voudrais être sûr... Ensuite, je dois faire un appel à une interruption: `asm("int 0ドルx15");` C'est celle qui est documentée sur la carte mère: cela fait un appel au BIOS de la carte pour récupérer/envoyer des valeurs sur des entrées/sorties numériques. Mais ça plante sur un segfault, et je ne sais absolument pas pourquoi ! Pire encore, je ne sais pas comment je peux le savoir ! J'ai vérifié que les I/O de la carte étaient activées dans le BIOS, mais malgré tout, dès que j'appelle l'interruption, boum, plantage... Quelqu'un aurait une piste, ne serait-ce que pour une manière de déboguer ce qui se passe ? Merci