MARIE 严重依赖数据中的(全局)指针:它唯一的间接能力是通过 AddI、JumpI、LoadI 和 StoreI 来延迟内存位置。
例如,常见的顺序是LoadI pointer
取消引用,然后Load pointer; Add One; Store pointer
将指针推进以供下次使用。
但它没有直接的机制来初始化指针变量以通过汇编程序标签引用内存位置。因此,许多人要么组装两次,第一次计算某些数据的十六进制地址(然后调整源代码),要么将数据放在靠近开头(易于预先计算其地址)并在数据周围跳转开始。
有没有办法使用标签初始化指针?例如,我希望将带有标签的数据位置pointer
初始化为保存/引用的地址array
:
pointer, DEC array
/ ...
array, DEC 1000
DEC 1001
DEC 1002
但是,这是 MARIE 汇编中的语法错误。
能不能做到:初始化一个数据字来引用一个标签?
仅供参考,我正在使用https://marie.js.org/进行模拟。