Machine language

From ThorstensHome
Revision as of 12:17, 14 December 2014 by ThorstenStaerk (Talk | contribs)

(diff) ← Older revision | Latest revision (diff) | Newer revision → (diff)
Jump to: navigation, search

This shows a mapping of x86 machine language to assembler

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 
50               push   ax
51               push   cx
52               push   dx
53               push   bx
54               push   rsp 
55               push   bp
56               push   si
57               push   di
58               pop    ax
59               pop    cx
5a               pop    dx
85 c0            test ax,ax  
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.