1

在维修仪表组时,我需要更换一个使用 Forth 构建在摩托罗拉 MC68HC11 上的控制器。虽然我能够转储整个内存,但不知道使用的是哪个 Forth,并且可用的单词似乎非常有限。

如何在嵌入式 Forth 环境中定位和更改内存中的已知值?

4

1 回答 1

2

根据风格或 Forth,您可以使用vlist或列出所有“单词” words。单词包括定义的任何变量或常量,并且可以使用以下运算符操作变量:

  • ! ( n addr — ) 将单长数字存储到地址中。
  • @( addr - n ) 在 addr 处获取该值。
  • ?( addr — ) 打印地址的内容,后跟一个空格。
  • +!( n addr — ) 向地址的内容添加一个单长数字。

对于双长度变量,有:

  • 2!( d addr — ) 或 ( n1 n2 addr — ) 在地址 addr 处存储一个双长度数字(或一对单长度数字)。
  • 2@( addr - d ) 或 ( addr - n1 n2 ) 从 addr 获取一个双长度数字(或一对单长度数字)。
于 2021-11-01T21:22:40.843 回答