Hello World in Assembler
Einen guten Einstieg in die Assembler-Programmierung bietet das
Buch Programming From The Ground Up
von Jonathan Bartlett,
das auch als Ebook erhältlich ist.
Die Beispiele im Buch beziehen sich allerdings auf Linux und können und
Windows nicht ohne Änderungen verwendet werden, da sie direkt auf
Kernelfunktionen zugreifen.
Um die ersten Beispiele des Buchs auf Windows zu portieren muss man daher die Kernelaufrufe durch die entsprechende Funktionen der C-Bibliothek ersetzen, die dann natürlich mit dem Programm zusammengelinkt werden muss. Die Pfade beim Aufruf des Linkers müssen eventuell angepasst werden.
Assemblieren
as helloworld.s -o helloworld.o
Linken
ld helloworld.o -Lc:\programme\mingw\lib -lcrtdll -o helloworld.exe
Quellcode
.section .data helloworld: .ascii "Hello World\n" .section .text .globl _start _start: pushl $helloworld call _printf pushl $0 call _exit