Assembly 伪指令上的PcSpim语法错误

Assembly 伪指令上的PcSpim语法错误,assembly,syntax,syntax-error,mips,Assembly,Syntax,Syntax Error,Mips,如果我使用像li或la这样的指令,我会不断得到语法错误。如果我尝试一个没有这些指令的代码,它可以正常工作,但我需要使用它们。我尝试了不同的版本,但总是出现相同的错误(我允许使用伪指令)。我需要将其用于一个大学项目,但我无法检查我编写的代码是否正常,因为我无法运行代码。 我错过什么了吗?我不知道如何使它正常工作,我是新的组装和pcspim,所以我可能忽略了一些愚蠢的事情 更新:如果我使用PcSpim,我将无法获得任何代码。我尝试使用QtSpim和MARS测试我的代码,他们都读取了代码(尽管仍然不正

如果我使用像li或la这样的指令,我会不断得到语法错误。如果我尝试一个没有这些指令的代码,它可以正常工作,但我需要使用它们。我尝试了不同的版本,但总是出现相同的错误(我允许使用伪指令)。我需要将其用于一个大学项目,但我无法检查我编写的代码是否正常,因为我无法运行代码。 我错过什么了吗?我不知道如何使它正常工作,我是新的组装和pcspim,所以我可能忽略了一些愚蠢的事情


更新:如果我使用PcSpim,我将无法获得任何代码。我尝试使用QtSpim和MARS测试我的代码,他们都读取了代码(尽管仍然不正确)。关键是我必须在我的项目中使用PcSpim,所以我需要让它运行。

看起来您缺少主标签。

选择“设置”菜单,并验证是否选中了“允许扩展(伪)指令和格式”。

请尝试在正在执行的设置菜单中仅选择以下两个选项: (1) 映射I/O (2) 允许伪指令

取消选中所有其他项


这帮助我消除了这个错误

这是我得到的错误消息:文件x的n行出现spim:(解析器)语法错误,它总是指向li或la指令的第一行。对。好吧,这是一个半个例子。什么是违规代码?不仅仅是一行eitherOk,这里有一个例子(我能得到的最简单的代码):
.data str:.asciiz“答案=”.text li$v0,4#$system call code for print_str la$a0,str#$address of string to print syscall#print string li$v0,1#$system call code for print#int li$a0,5#$integer to print syscall#print it
,但我在任何代码中都会遇到相同的错误。不确定您的设置有什么问题。我在Windows7 64位机器上安装了PCSpim 9.1.9,保留了默认设置,并尝试了粘贴在评论中的代码(只添加了
main
标签和
exit
syscall);它工作得很好。我也有PCSpim 9.1.9和Windows 7 64位,但我仍然无法让它以任何方式工作。是的,我刚刚注意到代码中的标签main被剪切,但这不是问题,即使是main,我也会遇到相同的错误,并且每个代码都有这些指令。在设置菜单中,我有一个“允许伪指令”选项,并且已经检查过了。行的结尾在源文件中是否一致?尝试在源文件上运行
dos2unix
unix2dos