《磁芯大战》(Core War)是一款由 A. K. Dewdney 于 20 世纪 80 年代首次推出的编程游戏,玩家使用类似于汇编语言的 Redcode 编写的计算机程序进行对战。程序员设计他们的战斗程序,通过一切可能的方式将对手从 MARS 虚拟机的内存中移除。
一些较为简单的技巧包括盲目覆盖内存、搜索对手或生成程序的新副本。这些技巧通常以家喻户晓的小游戏“石头剪刀布”来命名。石头通常胜过剪刀,剪刀通常胜过布,而布通常胜过石头。
作为例子,这是一个经典 Core War 程序:
org wipe
step equ 5
first equ bomb-10
bomb:mov.i #1, -1
ptr: sub #step, #first
wipe:jmz.f ptr, @ptr
mov bomb, >ptr
djn.f wipe, {ptr-5
end
这个简单的剪刀示例曾一度领先对手 20 分。第一条指令 (译注:指从 bomb 行开始) 从不执行,它是用来覆盖对手的炸弹。接下来的两条指令构成一个循环,在内存中搜索对手,最后两条指令实际上用来覆盖对手的代码。
《磁芯大战》至今仍热度不减 (译注:指国外的情况(笑)),并于 2024 年迎来了其 40 周年纪念。如果您想深入了解《磁芯大战》,以下是一些顶级资源 (译注:对于已在本文档集中的文档,后附译后文档;未收录与网站等将指向外部链接) :