Quote:
Originally Posted by schnewin
Und ich würde sagen, das ASM die schwerste Programmiersprache ist.
Ein Beispiel von ASM das berühmte Hello World Programm.
PHP Code:
DATA SEGMENT ;- Beginn des Datensegments
Meldung db "Hello World" ;- Die Zeichenkette "Hello World"
db "$" ;- Endzeichen der Zeichenkette
DATA ENDS ;- Ende des Datensegment
CODE SEGMENT ;- Beginn des Codesegements
ASSUME CS:CODE,DS:DATA ;- Dem Assembler die Segmente mitteilen
Anfang: ;- Label für den Anfang des Programms
mov ax, DATA ;- das Daten...
mov ds, ax ; ...segment festlegen
mov dx, offset Meldung ;- den Text in das auf DS bezogene Datenregister laden
mov ah, 09h ;- Die Unterfunktion 9 des Betriebssysteminterrupts 21h auswählen
int 21h ;- den Betriebssysteminterrupt 21h (hier erfolgt Ausgabe des Texts) aufrufen
mov ax, 4C00h ;- Die Unterfunktion 4Ch (Programmbeendigung) des Betriebssysteminterrupts 21h festlegen
int 21h ;- diesen Befehl wiederum ausführen
CODE ENDS ;- Ende des Codesegments
END Anfang ;- dem Assembler das Ende des Labels Anfang mitteilen
Quelle: Wikipedia
|
An sich ist assembler nicht schwer wen man sich wirklich mit auseinadersetzt
und es einmal verstanden hat.
Und dein beispiel von wikipedia ist auch nicht wirklich gut da es ein .com programm ist. Also eine 16bit Dos Anwendung die unter modernen 64bit betriebssystemen garnicht läuft.
Das hier ist man ein beispiel von mir:
PHP Code:
%include 'Verzeichnis\inc\nasmx.inc'
%include 'Verzeichnis\inc\win32\windows.inc'
%include 'Verzeichnis\inc\win32\user32.inc'
[section 'text']
Start:
invoke MessageBoxA, dword NULL,'Hello World','hello',dword MB_OK
ret
Das gibt halt Hello World in einer Messagebox aus und ist für 32/64 bit systeme in Assembler geschrieben.