我想在unix环境中的程序集IA 32中编写蛇游戏。我从here
找到了这些代码这是我想要的吗?汇编程序8086和IA32以及Emu8086有什么不同?什么是AT& T stype汇编?我完全糊涂了
答案 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)
x86很难看;学习汇编程序的一种可怕的语言。如果你拿起像MIPS这样的东西并掌握它,那么x86就不那么容易学了。
ARM可能不会太糟糕,因为它仍然在嵌入式系统中以某种频率使用。
在你了解“Hello World”中发生的事情之前,不要试着写游戏