3

我正在用 Y86 编写一个程序,但我的代码行设置堆栈和基指针时不断收到错误“找不到标签”。我的代码是:

.pos 0

init: 
    irmovl Stack, %esp  //Set up stack pointer
    irmovl Stack, %ebp  //Set up base pointer
    call main       //call main program
    halt            //Terminate program

这是它在我的笔记中的显示方式,但是当我尝试编译时,我得到了

Error on line 8: Can't find label
Line 8, Byte 0x0006:    irmovl stack, %esp  //Set up stack pointer
Error on line 9: Can't find label
Line 9, Byte 0x000c:    irmovl stack, %ebp  //Set up base pointer

我尝试将 .pos 0 行放在 init 函数中(我认为它可能会有所帮助)以及简单地将 init: 行放在一起,但我仍然遇到同样的问题。

4

1 回答 1

4

可能的解决方案:

如果您在文件底部定义了堆栈标签,请尝试在其后创建一个额外的空白行。我实际上只是遇到了同样的问题,并在 Stack 标签解决了问题后创建了一个空行。

作为旁白:

这是我遇到的有关此错误的唯一搜索结果,这绝对令人惊讶。

于 2014-11-16T01:52:08.440 回答