Je cherche un programme qui me permet d'afficher une valeur d'une variable stockée dans la mémoire sur écran.
je suis sous linux et j'utilise l'Assembleur gas.
merci pour votre aide
Je cherche un programme qui me permet d'afficher une valeur d'une variable stockée dans la mémoire sur écran.
je suis sous linux et j'utilise l'Assembleur gas.
merci pour votre aide
voici le code de quoi je parle :
Bon, la compilation passe sans aucun problème, mais quand j'éxecute le programme, ne me donne ni l'occasion pour écrire ce que je veux, ni l'affichage de n'importe quoi.
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 .data number : .long 0 # je déclare une variable de type long .text .globl _start _start: movl $3, %eax movl $0, %ebx movl $number, %ecx #je place l adresse où je veux récupérer le nombre que je vais entrer movl $2, %edx #le nombre de caracère à récupérer est 2, pour le test seulement addl $1, number #j ajoute 1 au nombre entré #affichage du résultat movl $4, %eax movl $1, %ebx movl $number, %ecx movl $2, %edx movl $1, %eax movl $0, %ebx int $0x80
Une aide SVP
Bonjour,
Il y a plusieurs problèmes à résoudre.
Tout d'abord, la directive .globl devrait être .global.
Ensuite, le programme n'affiche rien car l'interruption 0x80 est appelée une seule fois, avec la fonction $1, pour terminer le programme. Il faut bien sûr l'exécuter pour l'affichage :
Enfin, pour afficher des nombres à l'écran, il faut les convertir en caractères affichables. Pour te mettre sur la voie, regarde dans ce tutoriel comment s'effectue l'opération inverse : http://asm.developpez.com/cours/gas/#LV-A-2.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10 #affichage du résultat movl $4, %eax movl $1, %ebx movl $number, %ecx movl $2, %edx int $0x80 # <--- À rajouter ! # Fin du programme movl $1, %eax movl $0, %ebx int $0x80
Règles du forum
Cours et tutoriels Pascal, Delphi, Lazarus et Assembleur
Avant de poser une question, consultez les FAQ Pascal, Delphi, Lazarus et Assembleur
Mes tutoriels et sources Pascal
Le problème en ce bas monde est que les imbéciles sont sûrs d'eux et fiers comme des coqs de basse cour, alors que les gens intelligents sont emplis de doute. [Bertrand Russell]
La tolérance atteindra un tel niveau que les personnes intelligentes seront interdites de toute réflexion afin de ne pas offenser les imbéciles. [Fiodor Mikhaïlovitch Dostoïevski]
Vous avez un bloqueur de publicités installé.
Le Club Developpez.com n'affiche que des publicités IT, discrètes et non intrusives.
Afin que nous puissions continuer à vous fournir gratuitement du contenu de qualité, merci de nous soutenir en désactivant votre bloqueur de publicités sur Developpez.com.
Partager