gpt4 book ai didi

forth - 在 Forth 中使用常量命名硬件地址

转载 作者:行者123 更新时间:2023-12-01 13:43:41 25 4
gpt4 key购买 nike

我在使用以下 Forth 代码时遇到了一些问题:

    HEX
FFFF3E27 CONSTANT SHUTTER
DECIMAL

: OPEN 1 SWAP ! ;
: CLOSE 0 SWAP ! ;

现在我想将“1”写入快门地址:

SHUTTER OPEN

这是我的错误:

:15: Invalid memory address
SHUTTER >>>OPEN<<<
Backtrace:
$10D436398 !

我错过了什么吗?

最佳答案

代码基本上是正确的。我认为问题可能出在地址本身以及其中存储的内容。

具体来说,!存放的是一个cell,也就是栈上单词的正常大小。鉴于该地址大小,我猜它是 32 位。

现在,问题是地址是奇数。许多硬件架构不允许在奇数地址或除可被 4 整除的地址之外的任何地址存储 32 位字。

如果您想存储单个字节,请使用 C!(或您的 Forth 实现中的一些等价物)。

关于forth - 在 Forth 中使用常量命名硬件地址,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37641591/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com