Difference between revisions of "Machine language"
From ThorstensHome
Line 15: | Line 15: | ||
|- | |- | ||
| 41 || inc cx || | | 41 || inc cx || | ||
+ | |- | ||
+ | | 42 || inc dx || | ||
+ | |- | ||
+ | | 43 || inc bx || | ||
+ | |- | ||
+ | | 44 || inc sp || | ||
+ | |- | ||
+ | | 45 || inc bp || | ||
+ | |- | ||
+ | | 46 || inc si || | ||
+ | |- | ||
+ | | 47 || inc di || | ||
+ | |- | ||
+ | | 48 || dec ax || | ||
+ | |- | ||
+ | | 49 || dec cx || | ||
+ | |- | ||
+ | | 4a || dec dx || | ||
+ | |- | ||
+ | | 4b || dec bx || | ||
+ | |- | ||
+ | | 4c || dec sp || | ||
+ | |- | ||
+ | | 4d || dec bp || | ||
+ | |- | ||
+ | | 4e || dec si || | ||
+ | |- | ||
+ | | 4f || dec di || | ||
|- | |- | ||
| 54 || push rsp || | | 54 || push rsp || |
Revision as of 10:32, 14 December 2014
This shows a mapping of x86 machine language to assembler
x86 machine language | assembler command | remark |
---|---|---|
00 01 | add BYTE PTR [bx+di],al | |
00 41 41 | add BYTE PTR [bx+di+0x41],al | |
00 ff | add bh,bh | |
0a | .byte 0xa | |
40 | inc ax | |
41 | inc cx | |
42 | inc dx | |
43 | inc bx | |
44 | inc sp | |
45 | inc bp | |
46 | inc si | |
47 | inc di | |
48 | dec ax | |
49 | dec cx | |
4a | dec dx | |
4b | dec bx | |
4c | dec sp | |
4d | dec bp | |
4e | dec si | |
4f | dec di | |
54 | push rsp | |
85 c0 | test eax,eax | |
90 | NOP | |
b8 00 00 00 00 | mov eax,0x0 | |
c3 | ret | |
cd 10 | int 10 | |
eb fd | short jump to executing the byte before eb | |
fa | cli | This will clear the interrupt flag in the processor meaning interrupts will not be processed after the flag is set again. This means a high risk - no more keyboard input etc.. So this is a privileged command and may only be executed by the operating system. |