1

所以,我正在尝试添加变量,但它不想工作。我有一个非常简单的程序。

program tested;

var
    i: int8;
    x: int8;


begin tested;
    mov(10, i);
    mov(5, x);
    add(i, x);
    stdout.put(x);

end tested;

我收到以下错误:“第 11 行的文件 'tested.hla' 中的错误 [errid:129712/hlaparse.c]:语法错误,意外 ')',期待 '('。近:<<) >>”

mov 应该将数字移动到变量中..add 应该添加两件事。为什么它不起作用?

我不太了解 hla 所以任何帮助将不胜感激。

4

2 回答 2

2
add( source, destination );

万一你不是私人的,目标和源操作数都不能是内存位置。这就是为什么它不起作用。

源可以是寄存器、常量或内存
目标可以是寄存器或内存
两者都不能是内存
两者的大小必须相同

于 2017-11-06T22:47:02.617 回答
0

注意 5 和 10 是“常数”,不能改变 5 或 10 的值。记住mov(dest, source); 例如: mov(x,i);复制 i 的值并将其放在 x 的地址中

于 2013-12-01T10:04:17.517 回答