1- Разница между языками ассемблера:
Существует столько же языков, сколько и разных архитектур.В основном они отличаются синтаксисом и регистрами.
Список машинных языков (языков ассемблера) можно найти здесь .
Для получения информации о том, что такое машинный код, прочитайте это .
2- Игра со змеями
Действительно в IA32 или x86 (другой термин для того же языка), но для окон (DOS)на самом деле).
Он использует прерывания (int xxh), которые могут быть прочитаны только в системах DOS.
Кроме того, IA32 в Windows и Linux также различаются по синтаксису.Наиболее заметное отличие состоит в том, что регистры:
mov% eax,% ebx (AT & T) в основном используются в системах Unix
mov ebx, eax (Intel) в основном используются в DOS / Windows
(обратите внимание, что регистр поменялся местами: источник <-> место назначения)
Это также зависит от используемого ассемблера.tasm и nasm, очевидно, поддерживают синтаксис windows masm.(хотя он не преобразует зависящие от ОС прерывания)
Этот источник может вам помочь: http://mcs.uwsuper.edu/sb/324/ASM/snake.asm