程序集IA32中的游戏编程

时间:2011-10-13 12:18:45

标签: assembly

我想在unix环境中的程序集IA 32中编写蛇游戏。我从here

找到了这些代码

这是我想要的吗?汇编程序8086和IA32以及Emu8086有什么不同?什么是AT& T stype汇编?我完全糊涂了

2 个答案:

答案 0 :(得分:2)

1-汇编语言之间的差异:

语言与不同的架构一样多。它们的语法和寄存器大多不同。

您可以找到机器语言(汇编语言)here的列表。

有关什么是机器代码的信息,read this

2-蛇游戏

确实在IA32或x86(同一语言的不同术语)但它适用于Windows(实际上是DOS)。

它使用只能由DOS系统读取的中断(int xxh)。

此外,Windows和Linux上的IA32在语法上也有所不同。最显着的区别是寄存器:

mov%eax,%ebx(AT& T)主要用于unix系统

mov ebx,eax(英特尔)主要用于DOS / Windows

(请注意,交换寄存器:source< - > destination)

这还取决于您使用的汇编程序。 tasm和nasm显然支持windows masm语法。 (但它不会转换依赖于操作系统的中断)

此来源可能会对您有所帮助:http://mcs.uwsuper.edu/sb/324/ASM/snake.asm

答案 1 :(得分:0)

8086是一款非常古老的英特尔处理器。随后是80386,80486和80586(更名为奔腾)。因为这些都以86结尾,我们倾向于称它们为x86。 IA-32或Intel Architecture-32专门针对32位x86处理器。

x86很难看;学习汇编程序的一种可怕的语言。如果你拿起像MIPS这样的东西并掌握它,那么x86就不那么容易学了。

ARM可能不会太糟糕,因为它仍然在嵌入式系统中以某种频率使用。

在你了解“Hello World”中发生的事情之前,不要试着写游戏