मैं निम्नलिखित विधानसभा कोडविधानसभा विभाजन दोष
#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
की चल के दौरान एक त्रुटि हुई यह सी पुस्तकालय कॉलिंग का हिस्सा पर विभाजन गलती का सामना करना पड़ा: कॉल printf यह x86_64 मोड में चल रहा है। सी पुस्तकालय के संबंध में x64 कोड के संकलन के दौरान मुझे कुछ भी याद आया? दोनों अपने तार समाप्त अशक्त कर रहे हैं: या वहाँ कुछ कोड के साथ गलत
धन्यवाद
के बीच उन movq के – Managu
धन्यवाद उचित मात्रा द्वारा% RDI को बढ़ाने के लिए चाहते हो सकता है हर कोई, मैंने इस मुद्दे को हल किया। यह गलत lib था जिसे मैंने मैन्युअल रूप से/lib/ld-linux-x86-64.so.2 के साथ मैन्युअल रूप से लोड करने के बाद ठीक काम किया और मैंने मुख्य समारोह को _start के साथ बदल दिया। मैं इसे गतिशील लिंकिंग के रूप में ld। खराब अंग्रेजी –