RT:
在as+ld生成的机器指令,执行完成之后还多了一个Segment Fault(core dump)输出
将下方_start改成main之后,使用gcc转成机器码,却是没有问题的。为啥?求指导
(这里的系统调用目的是将字符显示在display上面)
.section .data
output: .ascii "The processor Vendor ID is 'xxxxxxxxxxxx'\n "
.section .bss
.globl _start
.section .text
_start:
movl $0,%eax
cpuid
movl $output, %edi
movl %ebx, 28(%edi)
movl %edx, 32(%edi)
movl %ecx, 36(%edi)
movl $4, %eax
movl $1, %ebx
movl $output, %ecx
movl $42, %edx
int $0x80
------解决思路----------------------
会不会因为你最后没有退出?
movl $1, %eax
movl $0, %ebx
int $0x80