问题标签 [mmix]
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.
regex - 正则表达式:在 "^\w+\s+" 上查找单词 - 新语法定义 (MMIX) - Sublime Text 3
我正在尝试为MMIX汇编语言创建一个语法定义文件。Sublime Text 3使用这些文件来突出显示文本/源文件的语法,并且最近是用YAML编写的。
例如,接下来的说明^\s+
会正确突出显示^\s+ADD\s+
。
(fltr:语法定义文件,MMIX 源)
但是,标签和空格后面的指令不会单独突出显示,而是从行首到正则表达式结尾的所有内容都被突出显示。
^\w+\s+IS\s+
不能正常工作。
我最近学习了一些关于正则表达式的理论,但从未在计算机上使用过它们。
我怎样才能实现,只有令牌IS
被突出显示?
llvm - 如何为 MMIX 编译 Rust
是否可以为 MMIX 架构编译 Rust?
根据我对 Rust 编译器的了解(当然不是很多),它使用 LLVM 作为后端;来自 C 和 gcc 背景,我知道 gcc 可以生成 MMIX 可执行文件,但我不确定如何从 rustc 获得相同的结果。
有谁知道如何去做这件事?或者关于我应该从哪里开始搜索的指针?
谢谢
knuth - 如何开始使用 Donald Knuth 的 MIX/MMIX 汇编器?
我希望能够学习 MIX/MMIX,但我不知道用来编写它的工具链。我过去曾将 uVision 用于 ARM 汇编器相关的东西,MIX/MMIX 是否存在这样的等价物?
algorithm - 使用内存操作将 MMIX 程序集中的最低有效位设置为 0 的目的?
在 MMIX 机器mmix-doc第 3 页第 4 段的文档中:
我们使用该符号来表示由 从 location 开始的连续字节组成的数字。(符号 表示将 k 的最低有效 t 位设置为 0,并且只保留结果地址的最低 64 位。...
assembly - MMIX TRAP 每隔一段时间不工作
我使用来自这个站点的 MMIX:http: //mmix.cs.hm.edu/ 我使用这段代码让控制台打印“Hello World”“times”次:
我想知道为什么这只产生 3 个。查看代码,因为我乘以 3,它应该打印 Hello World 3 次。然而,经过仔细检查,我注意到“00000701 (TRAP) $255 = Fputs(StdOut,#c) = 0”和“00000701 (TRAP) $255 = Fputs(StdOut,#0) = 12”会交替出现。我以为这是原因。但是为什么会这样呢?
我对用这种语言编码非常陌生,所以请在术语上放轻松。
assembly - MMIX 更改输入中的字符
我有一个任务,我必须在 MMIX 中输入并返回完全相同的内容,但所有空格都必须是换行符。我已经尝试了大约 2 天,并且已经弄清楚如何获取输入以及如何将其输出到控制台。但是第二部分让我望而却步,明天就要交作业了。这是我到目前为止所拥有的:
integer-division - 试图找到商和余数的 Knuth 讨论
我似乎记得曾经阅读过 tAOCP 分册之一 Knuth 关于计算整数商和余数的讨论。我的记忆是,他声称没有另一个就不可能计算一个,并且他认为结果都应该提供给程序员。问题是大多数编程语言都强制程序员计算 q = a/b 然后 r = a%b 之类的东西,但实际上 CPUB 做了两次相同的计算,这是一种浪费。
我刚刚在 MMIX Volume Fascicle 1 在第 1.3.1 节中对 DIV 的描述中进行了搜索,但我没有找到我似乎记得的讨论。
有人可以告诉我他们是否记得类似的讨论,我可以在哪里找到它?
assembly - mmix 中的 setjmp 和 longjmp 实现
我在 MMIX 中编写了 setjmp 和 longjmp 的实现(假设没有名称修改)。我也是手工组装的。
有没有人能发现的错误?
寄存器堆栈是这里的难点。SAVE
和包容之间的一切UNSAVE
本质上只是“rO
正确设置”;之后,完全不需要时间来修复其他寄存器并返回。
如果您有任何其他问题,我很乐意解释我对该代码的每个 tetra 的原因。