I a rencontré une erreur lors de l'exécution du Code Assemblée suivanteAssemblée Segmentation Fault
#cpuid using C library Functions
.section .data
output:
.asciz "The Processor Vendor ID is '%s'\n"
.section .bss
.lcomm buffer, 12
.section .text
.globl main
main:
movq $0, %rax
cpuid
movq $buffer, %rdi
movq %rbx, (%rdi)
movq %rdx, (%rdi)
movq %rcx, (%rdi)
pushq $buffer
pushq $output
call printf
addq $8, %rsp
pushq $0
call exit
Il a rencontré une erreur de segmentation dans la partie de la bibliothèque C Appel: appel printf Il est en cours d'exécution en mode x86_64. Tout ce que j'ai manqué lors de la compilation du code x64 en ce qui concerne la bibliothèque c? Ou est-il quelque chose de mal avec le code
Merci
pourrait vouloir augmenter% rdi par une quantité appropriée entre – Managu
Merci de ces movq tout le monde, j'ai résolu le problème. C'était la mauvaise lib que j'ai chargée fonctionne bien après l'avoir ld manuellement avec /lib/ld-linux-x86-64.so.2 et j'ai remplacé la fonction principale par _start. Je l'ai mis en lien dynamique. Désolé pour le mauvais anglais –