.section .data
msgI:
.ascii "x = y\n"
msgI_end:
msgM:
.ascii "x > y\n"
msgM_end:
msgL:
.ascii "x < y\n"
msgL_end:
.section .text
.globl main
main:
movl $5, %eax #x = 5
movl $5, %ebx #y = 10
cmp %ebx, %eax
je IGUAL
jg MAYOR
jl MENOR
IGUAL: #Esta seccion de cogido se encarga
movl $4, %eax #de imprimir si x = y usando
movl $1, %ebx #los system calls de Linux
pushl $msgI
call printf
#movl $size, %edx
int $0x80
jmp EXIT
MAYOR: #Esta seccion de cogido se encarga
movl $4, %eax #de imprimir si x > y usando
movl $1, %ebx #los system calls de Linux
pushl $msgM
call printf
#movl $size, %edx
int $0x80
jmp EXIT
MENOR: #Esta seccion de cogido se encarga
movl $4, %eax #de imprimir si x < y usando
movl $1, %ebx #los system calls de Linux
pushl $msgL
call printf
#movl $size, %edx
int $0x80
jmp EXIT
EXIT:
movl $1, %eax #System calls para salir del programa
int $0x80
Répondre
movl $5, %ebx #y = 10
code ne correspond pas à des commentaires. Pourquoi appelles-tu l'interruption? Pourquoi? printf
est déjà terminé l'impression et a remplacé les registres comme %eax
.
Maintenant, la raison pour laquelle vous recevez vos messages sont tous mélangés: printf
prend une chaîne terminée par NUL. S'il ne voit pas de '\0'
, il continue à fonctionner. Solution: ajoutez un \0
à la fin de vos chaînes msg*
. printf
va alors arrêter l'impression.
J'ai oublié cela plus tôt, mais si vous utilisez NASM: en utilisant '.asciiz" abc "' est équivalent à '.ascii" abc \ 0 "'. Ce que vous choisissez est à vous. – ephemient
- 1. MediaElement ne lit pas la vidéo
- 2. AS3: ne lit pas Atome
- 3. Firefox ne lit pas la DTD?
- 4. jPlayer ne lit pas les fichiers MP3
- 5. Silverlight Player ne lit pas la vidéo en douceur
- 6. La commande Python ne lit pas un fichier .txt
- 7. PHP readdir ne lit pas certains fichiers
- 8. LWJGL ne lit pas l'entrée au clavier
- 9. schemagen.exe ne pas sauter @XmlTransient annotée classe
- 10. Scanf avec des espaces ne lit pas du tout
- 11. iPhone 4.0: MPMoviePlayerController ne lit pas la vidéo correctement
- 12. lecteur ne lit pas les données
- 13. Soucoupe volante ne lit pas la feuille de style
- 14. La requête SQL ne lit pas les variables
- 15. jQuery ne lit pas la réponse JSON (en utilisant $ .post)
- 16. Pourquoi ifstream ne lit pas à la fin?
- 17. Problème avec l'esperluette dans la sortie XSLT
- 18. Problème avec la sortie d'un processus démonisé
- 19. FireFox 3.6 pour Mac ne lit pas cookie/redirection correctement
- 20. JQTouch ne lit pas les fichiers mp3 liés
- 21. sortie Powershell ne fonctionne pas
- 22. La sortie ne s'affiche pas - SQL Server
- 23. Problème avec la sortie du programme
- 24. La connexion OLEDB ne lit pas les données de la feuille Excel
- 25. Internet Explorer 8 ne lit pas les fichiers midi
- 26. Python - pourquoi ne lit-il pas mes variables?
- 27. Sauter à une ligne et la lire
- 28. sharepoint personnalisé EditForm.aspx ne lit pas l'ID d'article correct?
- 29. ADO Exécuter ne lit pas une ligne de code SQL?
- 30. Sortie PHP; ne fonctionne pas
Donc, il n'imprime pas msgI comme prévu? –
Y a-t-il une question? – bluebrother