问题标签 [dcpu-16]
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.
dcpu-16 - 如何最好地从 DCPU16 上的键盘获取字符
因此,我的目标是编写一个子例程,该子例程在调用时会挂起,直到用户输入以 结尾的字符串<return>
,然后返回(可能通过将其写入用户指定的地址)。
我的问题在于如何最好地从键盘上获取单个字符。在我看来,有3种方法:
聆听来自键盘的中断并让角色响应这些中断。这意味着由 执行的逻辑
getline
将在中断处理程序中,这似乎会导致一些问题。即,您如何getline
响应<return>
按键返回?在中断处理程序中,您没有方便的返回地址。在我看来,在中断处理程序中放置太多特定逻辑的模式......错误......即使我在低级编码方面非常缺乏经验。只需继续拉动键盘即可进行按键操作。
通过将所有按下的字符加载到循环缓冲区(可能长度为 1)中,使用中断处理程序实现旧的 1.1 行为。
对这些选项有更多的看法会很好。
binary - DCPU-16 位移位
我正在尝试学习 DCPU。
我所做的只是向左移动,所以它不应该只是在每次移动时自动翻倍。在我的代码中,您可以看到我有最后一个班次将注册表 B 变为 16,但是当运行 B 时最终变为 10,为什么会这样。
assembly - 尝试在 DCPU-16 中做一个简单的“hello world”程序
我正在研究 DCPU-16 的 asm,我从一个简单的 hello world 程序开始。这里是:
程序找到显示器,注册视频 RAM 并将字符复制到视频 RAM 内存,但屏幕没有任何反应!有人可以帮助我吗?
c++ - 减小模拟器中 switch 语句的大小?
我开始使用这个 v1.7 规范编写 DCPU-16 仿真器。我开始制定架构,我不喜欢我使用很长的 switch 语句这一事实。这是我第一次写模拟器,所以我不知道是否有更好的方法来做。虽然开关不是那么大,但由于 DCPU 的操作码数量很少(事实上我还没有真正实现指令),我可以想象如果我正在为更大的指令集编写一个模拟器,开关语句将是巨大的。
不管是谁,这是我的代码。
编辑:我忘了回答我的问题:
- 有没有比使用大型交换机更好的方法来设计模拟器?
dcpu-16 - dcpu-16 有堆栈还是堆栈指针仅指向 ram 地址?(编写 dcpu-16 仿真器)
我正在制作一个 dcpu-16 模拟器,但在实现使用堆栈指针的操作码时遇到了麻烦。堆栈指针指向什么?内存地址?