.section .data
output: .ascii "The processor vendor ID is 'XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX'\n"
.section .text
.global _start
_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 $ouput, %ecx
movl $42, %edx
int $0X80
movl $1, %eax
movl $0, %ebx
int $0X80
为什么我会收到错误?为什么它不能在数据部分看到我的输出变量?
答案 0 :(得分:1)
可以在数据部分查看您的output
变量。 无法看到的内容是ouput
变量,您尚未对其进行定义。
变量ouput
不与output
相同。如果我们拥有可以自动关联两者的超智能机器(因为我们令人印象深刻的内置模式匹配大脑可以),那将是很好但是,现在还不是这样。
该行应改为:
movl $ouput, %ecx
为:
movl $output, %ecx
; ^