Assembler

Ein Assembler ist genaugenommen ein Compiler, der den Code eines "Assemblerprogramms" in Maschinensprache, d. h. Nullen und Einsen übersetzt. Anders als ein C Compiler hat es der Assembler jedoch sehr einfach, da (fast immer) einer Assembleranweisung genau eine Maschinensprachenanweisung entspricht. Das Assemblerprogramm ist also nur eine für Menschen (etwas) komfortablere Darstellung des Maschinenprogramms.

Beispiele

Hello World in ASM

section .text
global _start               ; für den Linker (ld) notwendig
msg db  'Hello world',0x0A  ; unser Text incl. Zeilenumbruch LF (0x0A)
len     equ $ - msg         ; Länge des Textes berechnen (12 Bytes)
_start:                     ; Programmstart für Linker
mov eax,4                   ; Systemaufruf Nr. 4 (sys_write) Textausgabe
mov ebx,1                   ; Ausgabekanal Nr.1 = stdout
mov ecx,msg                 ; Adresse unseres Textes im Speicher
mov edx,len                 ; Länge des Textes in Bytes
int 0x80                    ; Kernel aufrufen mit obigen System-Aufrufparametern
mov eax,1                   ; Systemaufruf Nr. 1 (sys_exit) Programmende
int 0x80                    ; Kernel aufrufen mit obigen System-Aufrufparametern

http://ivs.cs.uni-magdeburg.de/bs/lehre/sose99/bs1/seminare/assembler.shtml

Assembler (last edited 2008-07-14 09:55:44 by localhost)