问题标签 [gforth]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
0 回答
153 浏览

forth - 如何添加自己的 Forth 程序并在 James Bowman 的 Swapforth 的 Mecrisp-Ice 0.8 增强版中执行?

我想在 Forth 中编写 LED 闪烁代码。我了解 ICEstick 的 I/O 外设地址映射或为Mecrisp-Ice 0.8编写的 Verilog 代码。当我打开nucleus.fs - J1 CPU 的心脏时,我发现“:main”和下面是用于串行发送字符Mecrisp-Ice 0.8 的单词“2emit”。

我应该在本节中编写 LED 闪烁程序吗?

0 投票
1 回答
183 浏览

forth - 测量执行时间

如何测量我的程序的执行时间?我找到了这个,但它对我不起作用,因为我的程序需要堆栈中的一些数字才能工作,所以我的程序和这个解决方案相互干扰(据我所知,因为当我尝试time: myfunctime: num1 num2 myfunc没有任何工作时......)

谢谢你的帮助

0 投票
1 回答
36 浏览

gforth - 退出与 EXIT_FAILURE 等效

抱歉,如果这已经被问过了,但由于某种原因,我似乎无法在任何地方找到这个。我想写一个词,将一些信息写入stderr,然后退出,但在这样做之前设置退出代码。我知道我可以使用 bye 退出,但我找不到任何提及exit(EXIT_FAILURE)c 中的类比。

IE

我该怎么做?

0 投票
2 回答
132 浏览

forth - 使用循环反转数据堆栈

我正在尝试使用两个循环来反转堆栈,一个循环将数据堆栈中的项目发送到返回堆栈。另一个是让它们从返回堆栈到数据堆栈。不幸的是,它不起作用 & gforth 返回堆栈下溢错误。下面是代码:

0 投票
2 回答
191 浏览

forth - 在 Forth 中执行一个字符或字符串,就好像它是一个单词一样

假设我已经s" Hello"存储在某个地方。而且我还定义了: Hello something ;. 有没有办法像执行单词一样执行字符串?

我已阅读文档,但找不到任何相关功能。这可能很明显,但可惜我无法解决。

0 投票
3 回答
544 浏览

forth - 与原始 Forth 中的 Gforth、FORGET 和 LIST 单词相同

forgetGforth 中是否有与 Forth 相同的词?

我见过 about marker,但它没有相同的行为。此外,该list命令似乎没有给出程序列表。

我想查看内存程序的列表,就像listBASIC 中的旧程序一样 - 我认为这也是原始 Forth 中的行为。

0 投票
1 回答
56 浏览

variables - gforth:如何检查变量是否设置为 arg 值

gforth:如何检查变量是否设置

我目前从命令行设置了一个变量,例如:

所以它的价值来自

但是即使用户运行,我也会确保变量设置为默认值

如何检查变量是否设置? (然后我可以在 if 语句中给它一个默认值)

0 投票
1 回答
17 浏览

gforth - gforth 细胞:如何检查那里至少有一个免费的

我得到了这种类型的数组设置的代码:

如何在应用程序运行时检查它。当应用程序运行时,可以添加单元格(如果使用键盘输入相邻)或不在 X/Y 上(我目前不使用对角线)

但是一个单元格必须可以自由地添加一个新值,每个循环可能会在当前有或没有释放一个单元格的情况下计算数组,所以在某些情况下,我会在输入错误时得到无限循环。

所以我必须按这个顺序检查:

如何检查下一个操作是否正常并释放一个单元格?

0 投票
2 回答
88 浏览

forth - 如何使用 gforth 从 vars 向文件写入任何内容?

我使用了一些 gforth 代码 & 我现在想注册结果

当我尝试:

我收到内存地址错误

我参考了官方文档,但我发现根据我设置的变量(可以是文本和数字(两者)),我应该怎么做才能拥有正确的内存地址。

0 投票
1 回答
94 浏览

arrays - 在 Forth 中设置数组元素的问题

我正在用 Forth 编写代码,它应该创建一个 12x12 的随机数数组,从 1 到 8。

但是,我注意到我的数组的元素 128 到 131 总是比预期的大得多:

此外,当我尝试单独更改这些元素的值时,这会导致其他三个元素更改值。例如,如果我编码:

那么数组将变为:

您知道为什么这些特定元素总是会受到影响,是否有办法防止这种情况发生?