3

我可以用汇编程序(NASM)编写什么样的程序有技术限制吗?
现在我似乎只做一些算术运算的程序,比如添加两个数字。

是否可以编写复杂的汇编程序,提供 GUI、访问文件系统、播放声音等等?

我知道我不会写这样的程序,但我很好奇,如果我可以用汇编程序编写什么样的程序存在技术限制。

4

4 回答 4

14

只要对目标系统有足够的了解,就可以通过 ASM 做任何你想做的事情。但是,还有其他一些因素使其难以管理。但是我见过很多在 ASM 中完成的 GUI。它们看起来不是特别好看,但确实如此。我见过一个人用纯 ASM 编写了一个视频游戏(与小行星的游戏,屏幕中间有一艘小船,可以发射机枪或激光)。他想测试一下自己,之前已经做过一些ASM。所以是的,它可以完成,无论你想要什么。

需要我提醒您,ASM 只是伪机器指令,所有其他代码最终都必须简化为它吗?

于 2010-05-28T16:06:30.453 回答
4

没有这样的限制。用 C 或 C++ 编写的程序在编译期间作为汇编源代码通过一个阶段,因此根据定义,您可以编写任何东西,从完整的操作系统(如 Windows)到应用程序(如 AutoCAD)在汇编中。不过,它不会特别有趣或富有成效,而且错误的数量可能会很大。

于 2010-05-28T16:06:11.087 回答
3

不,对汇编程序可以做什么没有限制。在汇编程序中编写 GUI、访问文件系统、播放声音等是否实用是另一回事。

于 2010-05-28T16:07:13.790 回答
2

过去,我认为许多电脑游戏都是用汇编程序编写的。我特别想到了 1978 年为 TRS-80 推出的“空中交通管制员”游戏。它有一个基于角色的 UI、哔声和相当多的游戏逻辑,所有这些都在一个“实时”游戏中在 4k RAM 中运行的模拟。这是该游戏的一些信息以及屏幕截图的网站链接:http: //atc.fastie.com/index.htm

于 2010-05-28T17:03:33.837 回答