Commit deac0102 authored by Steffen Vogel's avatar Steffen Vogel 🎅🏼

Merge branch 'local-labels' into 'master'

Assembly format fixup

See merge request os/gi4_uebung08!6
parents 756fa050 f073aca6
...@@ -29,6 +29,7 @@ Somit ergibt sich für die exemplarische Anweisung der Maschinencode `0x0C30148 ...@@ -29,6 +29,7 @@ Somit ergibt sich für die exemplarische Anweisung der Maschinencode `0x0C30148
3. Vollziehen Sie nun die Phase 2 des Assemblers nach, indem Sie eine Objektdatei im in der Vorlesung vorgestellten Objektformat erzeugen. Zur Vereinfachung können alle Zahlen im *Big Endian*-Format dargestellt werden, außerdem seien alle Sprünge relativ und alle Funktionsaufrufe absolut. Kodieren Sie, soweit möglich, genau drei Befehle in einem T-Datensatz. Nutzen Sie auch den den S-Datensatz. Gehen Sie davon aus, dass der Dateiname und damit auch der Modulname *cntdwn* lautet. 3. Vollziehen Sie nun die Phase 2 des Assemblers nach, indem Sie eine Objektdatei im in der Vorlesung vorgestellten Objektformat erzeugen. Zur Vereinfachung können alle Zahlen im *Big Endian*-Format dargestellt werden, außerdem seien alle Sprünge relativ und alle Funktionsaufrufe absolut. Kodieren Sie, soweit möglich, genau drei Befehle in einem T-Datensatz. Nutzen Sie auch den den S-Datensatz. Gehen Sie davon aus, dass der Dateiname und damit auch der Modulname *cntdwn* lautet.
```nasm ```nasm
extern exit
extern printf extern printf
global main global main
...@@ -42,7 +43,7 @@ main: ...@@ -42,7 +43,7 @@ main:
mov ebx,0x39 mov ebx,0x39
mov dword [ebp-4],0x30 mov dword [ebp-4],0x30
schleife: .schleife:
cmp ebx,dword [ebp-4] cmp ebx,dword [ebp-4]
je .ende je .ende
...@@ -55,7 +56,7 @@ schleife: ...@@ -55,7 +56,7 @@ schleife:
dec ebx dec ebx
jmp .schleife jmp .schleife
ende: .ende:
add esp,4 add esp,4
pop ebp pop ebp
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment