LowendBox LowendTalk LowEndSpirits

我的最爱之一:使用 TIS-100 提高您的汇编语言技能! (现在有 50% 折扣)

本文翻译自 LowEndBox,原文:lowendbox.com/blog/one-of-my-faves-sharpen-your-assembly

我一直很喜欢写代码的游戏。我是一个狂热的核心战争例如,90 年代的玩家,在学习 x86 汇编程序之前,我先学习了 Redcode(游戏中使用的 x86 风格的汇编程序)。在沙箱中编写具有“真实游戏后果”的代码是学习通过编程解决问题的基础知识的好方法。

几年前,我与TIS-100,一个有趣的游戏,您可以在其中编写汇编程序来解决各种问题。您正在使用的机器与典型的 x86 机器有很大不同。它是一系列互连的节点,可以通过端口传递数据,每个节点都有自己的累加器和辅助寄存器。

这是游戏界面的示例。我在 iPad 上截取了这张屏幕截图,但它也可以在 Steam 上使用(适用于 Windows 和 Linux)。

我刚刚发现现在有 50% 折扣!在美国这里,是只需 3 美元。 49 至 7 月 9 日

如果您点击任何节点,就会调出完整的键盘。

进展过程中遇到了一系列问题。这是最简单的方法之一——您正在读取值并将它们写入不同的输出。跑步的样子是这样的:

您可以阅读完整手册为了这里的比赛。汇编语言很小。除了标签和注释之外,只有 13 个命令。

这是一个示例程序:

开始: 
 向上移动,ACC 
 金广正正 
 JLZ 负 
 跳转开始 
 正面:MOV ACC,右 
 跳转开始 
 负:MOV ACC,左 
 跳转开始

如果您做过汇编编程,您可能会明白这一点。如果没有,请考虑

  • “JGZ”是“大于零则跳转”
  • “JLZ”是“小于零则跳转”
  • 两者都基于 ACC 的值进行操作。所以如果ACC的值为8,你说“JGZ”,那么它就会跳转。
  • “JMP”是无条件跳转

当然,有一个总体故事,但乐趣在于解决问题。享受!

 

帖子我的最爱之一:使用 TIS-100 提高您的汇编语言技能! (现在有 50% 折扣)首先出现在低端盒