Zitat Zitat von Crash-Override
Das sich Linux erstaunlich gut (besser als Windows) über Assembler programmieren lässt durfte ich herausfinden.
Ansichtssache.
Zitat Zitat von Crash-Override
Was zur Hölle soll der Aufruf "fork'" Nr. 002?
AFAIK wird fork generell häufig benutzt um einfach neue Prozesse zu erstellen (Elternprozess arbeitet halt normal weiter - Kind macht was anderes). Kannst dir dazu ja mal das hier durchlesen. Normalerweise sucht man sich aber die Calls zusammen, die man braucht und nicht umgekehrt.
Zitat Zitat von Crash-Override
Desweiteren hat jemand noch ein paar Links zum Thema Assembler unter Linux? Viel hab ich nicht gefunden...
Hm, außer http://asm.sourceforge.net/ kenn' ich auch nicht sehr viele Seiten dazu. Aber warum sollte es da auch viele Tutorials zu geben? Wenn man Assembler kann und eine Liste der System-Calls hat, steht einem doch nichts mehr im Weg. Und os-unabhängige Assembler-Tutorials gibt's im Internet eigentlich recht viele.
Hm, naja ich wollte auch mal 'ne Linux-Asm Seite machen, wurde aber aus Faulheitsgründen auf unbestimmte Zeit verschoben. Kannst ja selbst mal eine Seite dazu machen ..
Zitat Zitat von Crash-Override
Code:
;###################################;
;# Hello World from ASM [Linux]    #;
;###################################;

section .text 			
  global _start

;###################################;
;# Variablen                       #;
;###################################;

  msg_hello db 'Hello world',0x0A ; Text incl. Zeilenumbruch LF (0x0A)
  len_hello equ $ - msg_hello     ; Länge des Textes berechnen (12 Bytes)

;###################################;
;# START                           #;
;###################################;

_start:                           ; Jear, hier fängt's an...

  mov eax,4                       ; Systemaufruf Nr. 4 (sys_write) zur Textausgabe
  mov ebx,1                       ; Ausgabekanal Nr.1 = stdout
  mov ecx,msg_hello               ; Adresse des Textes im Speicher
  mov edx,len_hello               ; Länge des Textes in Bytes
  int 0x80                        ; Jetzt ausführen!
		
  mov eax,1                       ; Systemaufruf Nr. 1 (sys_exit) um Programmende hervorzurufen
  int 0x80                        ; Und ab damit...
Öhm, schön. Aber was sollen wir damit?

freundliche Grüße, Rolus