Ti2 Tutorium 5. Mai 2011 -...
Transcript of Ti2 Tutorium 5. Mai 2011 -...
![Page 1: Ti2 Tutorium 5. Mai 2011 - page.mi.fu-berlin.depage.mi.fu-berlin.de/~scravy/ti2/ti2-tutorium-2011-05-05.pdfintel x86 Assembly Language • two flavors: • AT & T Syntax •.intel_syntax](https://reader034.fdocuments.us/reader034/viewer/2022050717/5e14c6f7a944b20358614726/html5/thumbnails/1.jpg)
Ti2 Tutorium 5. Mai 2011
Freitag, 13. Mai 2011 (KW )
![Page 2: Ti2 Tutorium 5. Mai 2011 - page.mi.fu-berlin.depage.mi.fu-berlin.de/~scravy/ti2/ti2-tutorium-2011-05-05.pdfintel x86 Assembly Language • two flavors: • AT & T Syntax •.intel_syntax](https://reader034.fdocuments.us/reader034/viewer/2022050717/5e14c6f7a944b20358614726/html5/thumbnails/2.jpg)
Freitag, 13. Mai 2011 (KW )
![Page 3: Ti2 Tutorium 5. Mai 2011 - page.mi.fu-berlin.depage.mi.fu-berlin.de/~scravy/ti2/ti2-tutorium-2011-05-05.pdfintel x86 Assembly Language • two flavors: • AT & T Syntax •.intel_syntax](https://reader034.fdocuments.us/reader034/viewer/2022050717/5e14c6f7a944b20358614726/html5/thumbnails/3.jpg)
intel x86 Assembly Language
Freitag, 13. Mai 2011 (KW )
![Page 4: Ti2 Tutorium 5. Mai 2011 - page.mi.fu-berlin.depage.mi.fu-berlin.de/~scravy/ti2/ti2-tutorium-2011-05-05.pdfintel x86 Assembly Language • two flavors: • AT & T Syntax •.intel_syntax](https://reader034.fdocuments.us/reader034/viewer/2022050717/5e14c6f7a944b20358614726/html5/thumbnails/4.jpg)
intel x86 Assembly Language
Freitag, 13. Mai 2011 (KW )
![Page 5: Ti2 Tutorium 5. Mai 2011 - page.mi.fu-berlin.depage.mi.fu-berlin.de/~scravy/ti2/ti2-tutorium-2011-05-05.pdfintel x86 Assembly Language • two flavors: • AT & T Syntax •.intel_syntax](https://reader034.fdocuments.us/reader034/viewer/2022050717/5e14c6f7a944b20358614726/html5/thumbnails/5.jpg)
intel x86 Assembly Language
• two flavors:
• AT & T Syntax
• .intel_syntax
Freitag, 13. Mai 2011 (KW )
![Page 6: Ti2 Tutorium 5. Mai 2011 - page.mi.fu-berlin.depage.mi.fu-berlin.de/~scravy/ti2/ti2-tutorium-2011-05-05.pdfintel x86 Assembly Language • two flavors: • AT & T Syntax •.intel_syntax](https://reader034.fdocuments.us/reader034/viewer/2022050717/5e14c6f7a944b20358614726/html5/thumbnails/6.jpg)
intel x86 Assembly Language
• two flavors:
• AT & T Syntax
• .intel_syntax
• Extensions:
• MMX, SSE, SSE2, SSE3, x86-64
Freitag, 13. Mai 2011 (KW )
![Page 7: Ti2 Tutorium 5. Mai 2011 - page.mi.fu-berlin.depage.mi.fu-berlin.de/~scravy/ti2/ti2-tutorium-2011-05-05.pdfintel x86 Assembly Language • two flavors: • AT & T Syntax •.intel_syntax](https://reader034.fdocuments.us/reader034/viewer/2022050717/5e14c6f7a944b20358614726/html5/thumbnails/7.jpg)
AT & T Syntax(GNU Assembler default)
.intel_syntax(everyone else’s fault)
mov <from>, <to> mov <to>, <from>goto $label goto label(indirect) [indirect]
Freitag, 13. Mai 2011 (KW )
![Page 8: Ti2 Tutorium 5. Mai 2011 - page.mi.fu-berlin.depage.mi.fu-berlin.de/~scravy/ti2/ti2-tutorium-2011-05-05.pdfintel x86 Assembly Language • two flavors: • AT & T Syntax •.intel_syntax](https://reader034.fdocuments.us/reader034/viewer/2022050717/5e14c6f7a944b20358614726/html5/thumbnails/8.jpg)
Nachschlagewerke
x86 Assembly Reference:http://www.x86asm.net/
Intel Handbücher:http://www.intel.com/products/processor/manuals/
Die englische Wikipedia:http://en.wikipedia.org/wiki/X86_instruction_listings
Freitag, 13. Mai 2011 (KW )
![Page 9: Ti2 Tutorium 5. Mai 2011 - page.mi.fu-berlin.depage.mi.fu-berlin.de/~scravy/ti2/ti2-tutorium-2011-05-05.pdfintel x86 Assembly Language • two flavors: • AT & T Syntax •.intel_syntax](https://reader034.fdocuments.us/reader034/viewer/2022050717/5e14c6f7a944b20358614726/html5/thumbnails/9.jpg)
Nachschlagewerke
Freitag, 13. Mai 2011 (KW )
![Page 10: Ti2 Tutorium 5. Mai 2011 - page.mi.fu-berlin.depage.mi.fu-berlin.de/~scravy/ti2/ti2-tutorium-2011-05-05.pdfintel x86 Assembly Language • two flavors: • AT & T Syntax •.intel_syntax](https://reader034.fdocuments.us/reader034/viewer/2022050717/5e14c6f7a944b20358614726/html5/thumbnails/10.jpg)
Nachschlagewerke
manual-page (`manpage`) viewer: `man`
Freitag, 13. Mai 2011 (KW )
![Page 11: Ti2 Tutorium 5. Mai 2011 - page.mi.fu-berlin.depage.mi.fu-berlin.de/~scravy/ti2/ti2-tutorium-2011-05-05.pdfintel x86 Assembly Language • two flavors: • AT & T Syntax •.intel_syntax](https://reader034.fdocuments.us/reader034/viewer/2022050717/5e14c6f7a944b20358614726/html5/thumbnails/11.jpg)
Nachschlagewerke
manual-page (`manpage`) viewer: `man`
$ man gcc
Freitag, 13. Mai 2011 (KW )
![Page 12: Ti2 Tutorium 5. Mai 2011 - page.mi.fu-berlin.depage.mi.fu-berlin.de/~scravy/ti2/ti2-tutorium-2011-05-05.pdfintel x86 Assembly Language • two flavors: • AT & T Syntax •.intel_syntax](https://reader034.fdocuments.us/reader034/viewer/2022050717/5e14c6f7a944b20358614726/html5/thumbnails/12.jpg)
Nachschlagewerke
manual-page (`manpage`) viewer: `man`
$ man gcc
$ man as
Freitag, 13. Mai 2011 (KW )
![Page 13: Ti2 Tutorium 5. Mai 2011 - page.mi.fu-berlin.depage.mi.fu-berlin.de/~scravy/ti2/ti2-tutorium-2011-05-05.pdfintel x86 Assembly Language • two flavors: • AT & T Syntax •.intel_syntax](https://reader034.fdocuments.us/reader034/viewer/2022050717/5e14c6f7a944b20358614726/html5/thumbnails/13.jpg)
Nachschlagewerke
manual-page (`manpage`) viewer: `man`
$ man gcc
$ man as
$ man man
Freitag, 13. Mai 2011 (KW )
![Page 14: Ti2 Tutorium 5. Mai 2011 - page.mi.fu-berlin.depage.mi.fu-berlin.de/~scravy/ti2/ti2-tutorium-2011-05-05.pdfintel x86 Assembly Language • two flavors: • AT & T Syntax •.intel_syntax](https://reader034.fdocuments.us/reader034/viewer/2022050717/5e14c6f7a944b20358614726/html5/thumbnails/14.jpg)
Register:0x0000020C
= 2*162 + 0*161 + C*160
= 512 + 0 + 12 * 1
%eax => 514
Freitag, 13. Mai 2011 (KW )
![Page 15: Ti2 Tutorium 5. Mai 2011 - page.mi.fu-berlin.depage.mi.fu-berlin.de/~scravy/ti2/ti2-tutorium-2011-05-05.pdfintel x86 Assembly Language • two flavors: • AT & T Syntax •.intel_syntax](https://reader034.fdocuments.us/reader034/viewer/2022050717/5e14c6f7a944b20358614726/html5/thumbnails/15.jpg)
( ) = Wert an Adresse0x0000020C im RAM
0x0000020C = Verweis auf Adresse0x0000020C im RAM
%eax
Freitag, 13. Mai 2011 (KW )
![Page 16: Ti2 Tutorium 5. Mai 2011 - page.mi.fu-berlin.depage.mi.fu-berlin.de/~scravy/ti2/ti2-tutorium-2011-05-05.pdfintel x86 Assembly Language • two flavors: • AT & T Syntax •.intel_syntax](https://reader034.fdocuments.us/reader034/viewer/2022050717/5e14c6f7a944b20358614726/html5/thumbnails/16.jpg)
( ) = Wert an Adresse0x0000020C im RAM
0x0000020C = Verweis auf Adresse0x0000020C im RAM
%eaxEAX:0x0000020C
Freitag, 13. Mai 2011 (KW )
![Page 17: Ti2 Tutorium 5. Mai 2011 - page.mi.fu-berlin.depage.mi.fu-berlin.de/~scravy/ti2/ti2-tutorium-2011-05-05.pdfintel x86 Assembly Language • two flavors: • AT & T Syntax •.intel_syntax](https://reader034.fdocuments.us/reader034/viewer/2022050717/5e14c6f7a944b20358614726/html5/thumbnails/17.jpg)
direkte Adressierung
indirekte Adressierung
Freitag, 13. Mai 2011 (KW )
![Page 18: Ti2 Tutorium 5. Mai 2011 - page.mi.fu-berlin.depage.mi.fu-berlin.de/~scravy/ti2/ti2-tutorium-2011-05-05.pdfintel x86 Assembly Language • two flavors: • AT & T Syntax •.intel_syntax](https://reader034.fdocuments.us/reader034/viewer/2022050717/5e14c6f7a944b20358614726/html5/thumbnails/18.jpg)
Tools
Freitag, 13. Mai 2011 (KW )
![Page 19: Ti2 Tutorium 5. Mai 2011 - page.mi.fu-berlin.depage.mi.fu-berlin.de/~scravy/ti2/ti2-tutorium-2011-05-05.pdfintel x86 Assembly Language • two flavors: • AT & T Syntax •.intel_syntax](https://reader034.fdocuments.us/reader034/viewer/2022050717/5e14c6f7a944b20358614726/html5/thumbnails/19.jpg)
• GNU binutils
Tools
Freitag, 13. Mai 2011 (KW )
![Page 20: Ti2 Tutorium 5. Mai 2011 - page.mi.fu-berlin.depage.mi.fu-berlin.de/~scravy/ti2/ti2-tutorium-2011-05-05.pdfintel x86 Assembly Language • two flavors: • AT & T Syntax •.intel_syntax](https://reader034.fdocuments.us/reader034/viewer/2022050717/5e14c6f7a944b20358614726/html5/thumbnails/20.jpg)
• GNU binutils
• “gas” – gnu assembler
Tools
Freitag, 13. Mai 2011 (KW )
![Page 21: Ti2 Tutorium 5. Mai 2011 - page.mi.fu-berlin.depage.mi.fu-berlin.de/~scravy/ti2/ti2-tutorium-2011-05-05.pdfintel x86 Assembly Language • two flavors: • AT & T Syntax •.intel_syntax](https://reader034.fdocuments.us/reader034/viewer/2022050717/5e14c6f7a944b20358614726/html5/thumbnails/21.jpg)
• GNU binutils
• “gas” – gnu assembler
Tools
Freitag, 13. Mai 2011 (KW )
![Page 22: Ti2 Tutorium 5. Mai 2011 - page.mi.fu-berlin.depage.mi.fu-berlin.de/~scravy/ti2/ti2-tutorium-2011-05-05.pdfintel x86 Assembly Language • two flavors: • AT & T Syntax •.intel_syntax](https://reader034.fdocuments.us/reader034/viewer/2022050717/5e14c6f7a944b20358614726/html5/thumbnails/22.jpg)
• GNU binutils
• “gas” – gnu assembler
• GCC – GNU Compiler Collection
Tools
Freitag, 13. Mai 2011 (KW )
![Page 23: Ti2 Tutorium 5. Mai 2011 - page.mi.fu-berlin.depage.mi.fu-berlin.de/~scravy/ti2/ti2-tutorium-2011-05-05.pdfintel x86 Assembly Language • two flavors: • AT & T Syntax •.intel_syntax](https://reader034.fdocuments.us/reader034/viewer/2022050717/5e14c6f7a944b20358614726/html5/thumbnails/23.jpg)
• GNU binutils
• “gas” – gnu assembler
• GCC – GNU Compiler Collection
• “cc” – c compiler
Tools
Freitag, 13. Mai 2011 (KW )
![Page 24: Ti2 Tutorium 5. Mai 2011 - page.mi.fu-berlin.depage.mi.fu-berlin.de/~scravy/ti2/ti2-tutorium-2011-05-05.pdfintel x86 Assembly Language • two flavors: • AT & T Syntax •.intel_syntax](https://reader034.fdocuments.us/reader034/viewer/2022050717/5e14c6f7a944b20358614726/html5/thumbnails/24.jpg)
• GNU binutils
• “gas” – gnu assembler
• GCC – GNU Compiler Collection
• “cc” – c compiler
• “cpp” / “c++” / “g++” – gnu c++ compiler
Tools
Freitag, 13. Mai 2011 (KW )
![Page 25: Ti2 Tutorium 5. Mai 2011 - page.mi.fu-berlin.depage.mi.fu-berlin.de/~scravy/ti2/ti2-tutorium-2011-05-05.pdfintel x86 Assembly Language • two flavors: • AT & T Syntax •.intel_syntax](https://reader034.fdocuments.us/reader034/viewer/2022050717/5e14c6f7a944b20358614726/html5/thumbnails/25.jpg)
C Quelltext (*.c)
Freitag, 13. Mai 2011 (KW )
![Page 26: Ti2 Tutorium 5. Mai 2011 - page.mi.fu-berlin.depage.mi.fu-berlin.de/~scravy/ti2/ti2-tutorium-2011-05-05.pdfintel x86 Assembly Language • two flavors: • AT & T Syntax •.intel_syntax](https://reader034.fdocuments.us/reader034/viewer/2022050717/5e14c6f7a944b20358614726/html5/thumbnails/26.jpg)
C Quelltext (*.c)
Assembly Code (*.S)
Freitag, 13. Mai 2011 (KW )
![Page 27: Ti2 Tutorium 5. Mai 2011 - page.mi.fu-berlin.depage.mi.fu-berlin.de/~scravy/ti2/ti2-tutorium-2011-05-05.pdfintel x86 Assembly Language • two flavors: • AT & T Syntax •.intel_syntax](https://reader034.fdocuments.us/reader034/viewer/2022050717/5e14c6f7a944b20358614726/html5/thumbnails/27.jpg)
C Quelltext (*.c)
Assembly Code (*.S)
Object File (*.o)
Freitag, 13. Mai 2011 (KW )
![Page 28: Ti2 Tutorium 5. Mai 2011 - page.mi.fu-berlin.depage.mi.fu-berlin.de/~scravy/ti2/ti2-tutorium-2011-05-05.pdfintel x86 Assembly Language • two flavors: • AT & T Syntax •.intel_syntax](https://reader034.fdocuments.us/reader034/viewer/2022050717/5e14c6f7a944b20358614726/html5/thumbnails/28.jpg)
C Quelltext (*.c)
Assembly Code (*.S)
Object File (*.o)
EXE
Freitag, 13. Mai 2011 (KW )
![Page 29: Ti2 Tutorium 5. Mai 2011 - page.mi.fu-berlin.depage.mi.fu-berlin.de/~scravy/ti2/ti2-tutorium-2011-05-05.pdfintel x86 Assembly Language • two flavors: • AT & T Syntax •.intel_syntax](https://reader034.fdocuments.us/reader034/viewer/2022050717/5e14c6f7a944b20358614726/html5/thumbnails/29.jpg)
C Quelltext (*.c)
Assembly Code (*.S)
Object File (*.o)
EXE ELF
Freitag, 13. Mai 2011 (KW )
![Page 30: Ti2 Tutorium 5. Mai 2011 - page.mi.fu-berlin.depage.mi.fu-berlin.de/~scravy/ti2/ti2-tutorium-2011-05-05.pdfintel x86 Assembly Language • two flavors: • AT & T Syntax •.intel_syntax](https://reader034.fdocuments.us/reader034/viewer/2022050717/5e14c6f7a944b20358614726/html5/thumbnails/30.jpg)
C Quelltext (*.c)
Assembly Code (*.S)
Object File (*.o)
EXE ELF Mach-O
Freitag, 13. Mai 2011 (KW )
![Page 31: Ti2 Tutorium 5. Mai 2011 - page.mi.fu-berlin.depage.mi.fu-berlin.de/~scravy/ti2/ti2-tutorium-2011-05-05.pdfintel x86 Assembly Language • two flavors: • AT & T Syntax •.intel_syntax](https://reader034.fdocuments.us/reader034/viewer/2022050717/5e14c6f7a944b20358614726/html5/thumbnails/31.jpg)
C Quelltext (*.c)
Assembly Code (*.S)
Object File (*.o)
EXE ELF Mach-O
kompilieren (cc)
Freitag, 13. Mai 2011 (KW )
![Page 32: Ti2 Tutorium 5. Mai 2011 - page.mi.fu-berlin.depage.mi.fu-berlin.de/~scravy/ti2/ti2-tutorium-2011-05-05.pdfintel x86 Assembly Language • two flavors: • AT & T Syntax •.intel_syntax](https://reader034.fdocuments.us/reader034/viewer/2022050717/5e14c6f7a944b20358614726/html5/thumbnails/32.jpg)
C Quelltext (*.c)
Assembly Code (*.S)
Object File (*.o)
EXE ELF Mach-O
kompilieren (cc)
assemblieren (as)
Freitag, 13. Mai 2011 (KW )
![Page 33: Ti2 Tutorium 5. Mai 2011 - page.mi.fu-berlin.depage.mi.fu-berlin.de/~scravy/ti2/ti2-tutorium-2011-05-05.pdfintel x86 Assembly Language • two flavors: • AT & T Syntax •.intel_syntax](https://reader034.fdocuments.us/reader034/viewer/2022050717/5e14c6f7a944b20358614726/html5/thumbnails/33.jpg)
C Quelltext (*.c)
Assembly Code (*.S)
Object File (*.o)
EXE ELF Mach-O
kompilieren (cc)
assemblieren (as)
linken (ld)
Freitag, 13. Mai 2011 (KW )
![Page 34: Ti2 Tutorium 5. Mai 2011 - page.mi.fu-berlin.depage.mi.fu-berlin.de/~scravy/ti2/ti2-tutorium-2011-05-05.pdfintel x86 Assembly Language • two flavors: • AT & T Syntax •.intel_syntax](https://reader034.fdocuments.us/reader034/viewer/2022050717/5e14c6f7a944b20358614726/html5/thumbnails/34.jpg)
C Quelltext (*.c)
Assembly Code (*.S)
Object File (*.o)
EXE ELF Mach-O
kompilieren (cc)
assemblieren (as)
linken (ld)
Freitag, 13. Mai 2011 (KW )
![Page 35: Ti2 Tutorium 5. Mai 2011 - page.mi.fu-berlin.depage.mi.fu-berlin.de/~scravy/ti2/ti2-tutorium-2011-05-05.pdfintel x86 Assembly Language • two flavors: • AT & T Syntax •.intel_syntax](https://reader034.fdocuments.us/reader034/viewer/2022050717/5e14c6f7a944b20358614726/html5/thumbnails/35.jpg)
C Quelltext (*.c)
Assembly Code (*.S)
Object File (*.o)
EXE ELF Mach-O
kompilieren (cc)
assemblieren (as)
linken (ld)
Freitag, 13. Mai 2011 (KW )
![Page 36: Ti2 Tutorium 5. Mai 2011 - page.mi.fu-berlin.depage.mi.fu-berlin.de/~scravy/ti2/ti2-tutorium-2011-05-05.pdfintel x86 Assembly Language • two flavors: • AT & T Syntax •.intel_syntax](https://reader034.fdocuments.us/reader034/viewer/2022050717/5e14c6f7a944b20358614726/html5/thumbnails/36.jpg)
C Quelltext (*.c)
Assembly Code (*.S)
Object File (*.o)
EXE ELF Mach-O
kompilieren (cc)
assemblieren (as)
linken (ld)
disassemblieren
Freitag, 13. Mai 2011 (KW )
![Page 37: Ti2 Tutorium 5. Mai 2011 - page.mi.fu-berlin.depage.mi.fu-berlin.de/~scravy/ti2/ti2-tutorium-2011-05-05.pdfintel x86 Assembly Language • two flavors: • AT & T Syntax •.intel_syntax](https://reader034.fdocuments.us/reader034/viewer/2022050717/5e14c6f7a944b20358614726/html5/thumbnails/37.jpg)
Register
Freitag, 13. Mai 2011 (KW )
![Page 38: Ti2 Tutorium 5. Mai 2011 - page.mi.fu-berlin.depage.mi.fu-berlin.de/~scravy/ti2/ti2-tutorium-2011-05-05.pdfintel x86 Assembly Language • two flavors: • AT & T Syntax •.intel_syntax](https://reader034.fdocuments.us/reader034/viewer/2022050717/5e14c6f7a944b20358614726/html5/thumbnails/38.jpg)
Register
• %eax
• %ebx
• %ecx
• %edx
Freitag, 13. Mai 2011 (KW )
![Page 39: Ti2 Tutorium 5. Mai 2011 - page.mi.fu-berlin.depage.mi.fu-berlin.de/~scravy/ti2/ti2-tutorium-2011-05-05.pdfintel x86 Assembly Language • two flavors: • AT & T Syntax •.intel_syntax](https://reader034.fdocuments.us/reader034/viewer/2022050717/5e14c6f7a944b20358614726/html5/thumbnails/39.jpg)
Register
• %eax
• %ebx
• %ecx
• %edx
Freitag, 13. Mai 2011 (KW )
![Page 40: Ti2 Tutorium 5. Mai 2011 - page.mi.fu-berlin.depage.mi.fu-berlin.de/~scravy/ti2/ti2-tutorium-2011-05-05.pdfintel x86 Assembly Language • two flavors: • AT & T Syntax •.intel_syntax](https://reader034.fdocuments.us/reader034/viewer/2022050717/5e14c6f7a944b20358614726/html5/thumbnails/40.jpg)
Register
• %eax
• %ebx
• %ecx
• %edx
• %ebp“base pointer”
Freitag, 13. Mai 2011 (KW )
![Page 41: Ti2 Tutorium 5. Mai 2011 - page.mi.fu-berlin.depage.mi.fu-berlin.de/~scravy/ti2/ti2-tutorium-2011-05-05.pdfintel x86 Assembly Language • two flavors: • AT & T Syntax •.intel_syntax](https://reader034.fdocuments.us/reader034/viewer/2022050717/5e14c6f7a944b20358614726/html5/thumbnails/41.jpg)
Register
• %eax
• %ebx
• %ecx
• %edx
• %ebp“base pointer”
• %esp“stack pointer”
Freitag, 13. Mai 2011 (KW )
![Page 42: Ti2 Tutorium 5. Mai 2011 - page.mi.fu-berlin.depage.mi.fu-berlin.de/~scravy/ti2/ti2-tutorium-2011-05-05.pdfintel x86 Assembly Language • two flavors: • AT & T Syntax •.intel_syntax](https://reader034.fdocuments.us/reader034/viewer/2022050717/5e14c6f7a944b20358614726/html5/thumbnails/42.jpg)
Register
• %eax
• %ebx
• %ecx
• %edx
• %ebp“base pointer”
• %esp“stack pointer”
Freitag, 13. Mai 2011 (KW )
![Page 43: Ti2 Tutorium 5. Mai 2011 - page.mi.fu-berlin.depage.mi.fu-berlin.de/~scravy/ti2/ti2-tutorium-2011-05-05.pdfintel x86 Assembly Language • two flavors: • AT & T Syntax •.intel_syntax](https://reader034.fdocuments.us/reader034/viewer/2022050717/5e14c6f7a944b20358614726/html5/thumbnails/43.jpg)
Register
• %eax
• %ebx
• %ecx
• %edx
• %ebp“base pointer”
• %esp“stack pointer”
Freitag, 13. Mai 2011 (KW )
![Page 44: Ti2 Tutorium 5. Mai 2011 - page.mi.fu-berlin.depage.mi.fu-berlin.de/~scravy/ti2/ti2-tutorium-2011-05-05.pdfintel x86 Assembly Language • two flavors: • AT & T Syntax •.intel_syntax](https://reader034.fdocuments.us/reader034/viewer/2022050717/5e14c6f7a944b20358614726/html5/thumbnails/44.jpg)
Register
• %eax
• %ebx
• %ecx
• %edx
• %ebp“base pointer”
• %esp“stack pointer”
Freitag, 13. Mai 2011 (KW )
![Page 45: Ti2 Tutorium 5. Mai 2011 - page.mi.fu-berlin.depage.mi.fu-berlin.de/~scravy/ti2/ti2-tutorium-2011-05-05.pdfintel x86 Assembly Language • two flavors: • AT & T Syntax •.intel_syntax](https://reader034.fdocuments.us/reader034/viewer/2022050717/5e14c6f7a944b20358614726/html5/thumbnails/45.jpg)
Register
• %eax
• %ebx
• %ecx
• %edx
• %ebp“base pointer”
• %esp“stack pointer”
BASE ADDRESS
TOP OF STACK
Freitag, 13. Mai 2011 (KW )
![Page 46: Ti2 Tutorium 5. Mai 2011 - page.mi.fu-berlin.depage.mi.fu-berlin.de/~scravy/ti2/ti2-tutorium-2011-05-05.pdfintel x86 Assembly Language • two flavors: • AT & T Syntax •.intel_syntax](https://reader034.fdocuments.us/reader034/viewer/2022050717/5e14c6f7a944b20358614726/html5/thumbnails/46.jpg)
3 + 7 * 8 - 4.section .data
.section .text
.globl _start_start: mov $7, %ebx! imul $8, %ebx, %ebx! add $3, %ebx! sub $4, %ebx!
! mov $1, %eax! int $0x80
Freitag, 13. Mai 2011 (KW )