【发布时间】:2010-01-28 01:48:32
【问题描述】:
我正在尝试通过学习 MIPS Assembly Language Programming 来学习 MIPS 汇编。在书中我有这段代码(摘自本书第 37 页):
.data
prompt: .asciiz "\n Please Input a Value: "
bye: .asciiz "\n Bye!"
.globl main
.text
main:
li $v0, 4
la $a0, prompt
syscall
li $v0, 5
syscall
beqz $v0, end
move $a0, $v0
li $v0, 1
syscall
b main
end:
li $v0, 4
la $a0, bye
syscall
li $v0, 10
syscall
我有一个针对mips-elf 的cross-compiled binutils,但是当我尝试汇编代码时,出现了一些错误
ubuntu@eeepc:~/Desktop$ mips-elf-as test-mips.asm
test-mips.asm:汇编器消息:
test-mips.asm:8:错误:非法操作数“li”
test-mips.asm:9:错误:非法操作数“la”
test-mips.asm:12:错误:非法操作数“li”
test-mips.asm:14:错误:非法操作数“beqz”
test-mips.asm:15:错误:非法操作数“移动”
test-mips.asm:16:错误:非法操作数“li”
test-mips.asm:22:错误:非法操作数“li”
test-mips.asm:23:错误:非法操作数“la”
test-mips.asm:26:错误:非法操作数“li”
ubuntu@eeepc:~/Desktop$
我正在使用 x86 Ubuntu Hardy Herron 交叉编译为 MIPS
怎么了?
【问题讨论】:
-
您能在这里看到我的问题stackoverflow.com/questions/9403667/mips-hex-output/… 并回答将.s 程序集文件转换为目标文件的过程吗?谢谢