| Zeile 7: | Zeile 7: | ||
* Konstanten bekommen grundsätzlich ein $ vorangestellt, Hexadezimalzahlen werden durch 0x eingeleitet: <pre>mov $42, %eax</pre><pre>mov $0xBADC0FFE, %eax</pre> | * Konstanten bekommen grundsätzlich ein $ vorangestellt, Hexadezimalzahlen werden durch 0x eingeleitet: <pre>mov $42, %eax</pre><pre>mov $0xBADC0FFE, %eax</pre> | ||
* Die Operandengrößen sind im Mnemonic enthalten. Wird die Größe nicht angegeben, versucht der Assembler sie anhand der Operanden festzustellen. <pre>movl $123, %eax</pre><pre>movw $123, %ax</pre><pre>movb $123, %al</pre> | * Die Operandengrößen sind im Mnemonic enthalten. Wird die Größe nicht angegeben, versucht der Assembler sie anhand der Operanden festzustellen. <pre>movl $123, %eax</pre><pre>movw $123, %ax</pre><pre>movb $123, %al</pre> | ||
| − | * Speicherzugriffe erfolgen im Format "displacement( | + | * Speicherzugriffe erfolgen im Format "segment:displacement(base, index, scale)", wobei das Displacement als auch Index und Scale optional sind: <pre>pushl (%eax)</pre><pre>mov %eax, 0x8(%ebp)</pre><pre>mov 0xfffffff8(%esp,%eax,1),%eax</pre> |
==Einfache Befehle== | ==Einfache Befehle== | ||