faecher:informatik:oberstufe:techinf:assembler:hallowelt:start

Unterschiede

Hier werden die Unterschiede zwischen zwei Versionen der Seite angezeigt.

Link zu der Vergleichsansicht

Beide Seiten, vorherige Überarbeitung Vorherige Überarbeitung
Nächste Überarbeitung
Vorherige Überarbeitung
faecher:informatik:oberstufe:techinf:assembler:hallowelt:start [22.07.2021 08:59] sbelfaecher:informatik:oberstufe:techinf:assembler:hallowelt:start [22.07.2021 09:22] (aktuell) sbel
Zeile 10: Zeile 10:
 Hier also ein Hallo Welt für mit Assemblerbefehlen für Linux: Hier also ein Hallo Welt für mit Assemblerbefehlen für Linux:
  
-<code assembler>+<code asm>
 ; Hello World in Assembler ; Hello World in Assembler
  
Zeile 48: Zeile 48:
 </code> </code>
  
 +----
 +{{:aufgabe.png?nolink  |}}
 +=== (A1) ===
 +
 +Kopiere den Code in eine Text-Datei (''hello.asm''). Übersetze den Code mit dem Befehl
 +
 +  nasm -f elf hello.asm
 +
 +Du erhältst eine Datei ''hello.o'' ein sogenanntes Object File. Dieses enthält bereits die Maschinenbefehle, allerdings kann es nicht vom Betriebssystem ausgeführt werden, dazu fehlen noch weitere Informationen (wohin wird das Programm im Speicher geschrieben, an welcher Adresse beginnt es, wo endet es u.ä.). Um ein ausführbares Programm zu erhalten muss man das Object-File mit dem folgenden Befehl "linken":
 +
 +  ld -m elf_i386 -s -o hello hello.o
 +
 +Die Ausgabe dieses Befehls ist eine ausführbare Datei ''hello'', die du mit dem Befehl ''./hello'' starten kannst.
 +
 +----
 +{{:aufgabe.png?nolink  |}}
 +=== (A2) ===
 +
 +  * Verändere die Zeile ''mov edx,len'' zu ''mov edx,13'', übersetze und linke das Programm erneut und teste.
 +  * Teste mit ''mov edx,2'' - mache dir klar, was das zweite Argument für eine Bedeutung hat.
 +  * Gib nur "Hello" aus.
 +  * Was bedeutet es, wenn als 2. Argument Werte größer als 13 eingegeben werden?
 +
 +----
 +{{:aufgabe.png?nolink  |}}
 +=== (A3) ===
 +
 +Gib einen eigenen Text aus.
  • faecher/informatik/oberstufe/techinf/assembler/hallowelt/start.1626944368.txt.gz
  • Zuletzt geändert: 22.07.2021 08:59
  • von sbel