问题标签 [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.
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 闪烁程序吗?
forth - 测量执行时间
如何测量我的程序的执行时间?我找到了这个,但它对我不起作用,因为我的程序需要堆栈中的一些数字才能工作,所以我的程序和这个解决方案相互干扰(据我所知,因为当我尝试time: myfunc
或time: num1 num2 myfunc
没有任何工作时......)
谢谢你的帮助
gforth - 退出与 EXIT_FAILURE 等效
抱歉,如果这已经被问过了,但由于某种原因,我似乎无法在任何地方找到这个。我想写一个词,将一些信息写入stderr,然后退出,但在这样做之前设置退出代码。我知道我可以使用 bye 退出,但我找不到任何提及exit(EXIT_FAILURE)
c 中的类比。
IE
我该怎么做?
forth - 使用循环反转数据堆栈
我正在尝试使用两个循环来反转堆栈,一个循环将数据堆栈中的项目发送到返回堆栈。另一个是让它们从返回堆栈到数据堆栈。不幸的是,它不起作用 & gforth 返回堆栈下溢错误。下面是代码:
forth - 在 Forth 中执行一个字符或字符串,就好像它是一个单词一样
假设我已经s" Hello"
存储在某个地方。而且我还定义了: Hello something ;
. 有没有办法像执行单词一样执行字符串?
我已阅读文档,但找不到任何相关功能。这可能很明显,但可惜我无法解决。
forth - 与原始 Forth 中的 Gforth、FORGET 和 LIST 单词相同
forget
Gforth 中是否有与 Forth 相同的词?
我见过 about marker
,但它没有相同的行为。此外,该list
命令似乎没有给出程序列表。
我想查看内存程序的列表,就像list
BASIC 中的旧程序一样 - 我认为这也是原始 Forth 中的行为。
variables - gforth:如何检查变量是否设置为 arg 值
gforth:如何检查变量是否设置
我目前从命令行设置了一个变量,例如:
所以它的价值来自
但是即使用户运行,我也会确保变量设置为默认值
如何检查变量是否设置? (然后我可以在 if 语句中给它一个默认值)
gforth - gforth 细胞:如何检查那里至少有一个免费的
我得到了这种类型的数组设置的代码:
如何在应用程序运行时检查它。当应用程序运行时,可以添加单元格(如果使用键盘输入相邻)或不在 X/Y 上(我目前不使用对角线)。
但是一个单元格必须可以自由地添加一个新值,每个循环可能会在当前有或没有释放一个单元格的情况下计算数组,所以在某些情况下,我会在输入错误时得到无限循环。
所以我必须按这个顺序检查:
如何检查下一个操作是否正常并释放一个单元格?
arrays - 在 Forth 中设置数组元素的问题
我正在用 Forth 编写代码,它应该创建一个 12x12 的随机数数组,从 1 到 8。
但是,我注意到我的数组的元素 128 到 131 总是比预期的大得多:
此外,当我尝试单独更改这些元素的值时,这会导致其他三个元素更改值。例如,如果我编码:
那么数组将变为:
您知道为什么这些特定元素总是会受到影响,是否有办法防止这种情况发生?