300 likes | 502 Views
Computer Organization and Architecture. 8086 Assembly Language. Intel Instruction Format (manual decoding !). +rw add reg # to opcode Dw immediate / displacement follows /r mod r/m byte follows /n reg field in R/M = n. Opcode (8). Mode (2). Reg (3). R/M (3).
E N D
Computer Organization and Architecture 8086 Assembly Language
Intel Instruction Format(manual decoding !) • +rw add reg # to opcode • Dw immediate / displacement follows • /r mod r/m byte follows • /n reg field in R/M = n Opcode (8) Mode (2) Reg (3) R/M (3) Displacement / Immediate (8) Displacement / Immediate (16)
Examples Mov al, bl ; 88 /r • Opcode: 88 • Rest: 11 011 000 = D8 Mov ax, bx ; 89 /r • Opcode: 89 • Rest: 11 011 000 = D8
Examples Push cx ; 50 +rw • Opcode: 50 • Add 001 51 Mov ax, dx ; 89 /r mov ew, rw • Opcode: 89 • Rest: 11 010 000 = D0
Examples Mov [SI], ax ; 89 /r mov ew, rw • Opcode: 89 • Rest: 04 (look at table) Mov [SI], al ; 88 /r mov eb, rb • Opcode: 88 • Rest: 04 (look at table)
Examples Inc dx ; just opcde • Opcode: 42 Mov ax, 1 ; B8 +rw dw mov rw, dw • Opcode: B8 + 0 = B8 • Rest: 0100 (immediate) = 4
Examples Mov bx, 1234h ; B8 +rw dw mov rw, dw • Opcode: B8 + 011 = BB • Rest: 3412 (immediate)
Examples Mov ax, bx ; 8B /r • Opcode: 8B • Rest: 11 000 011 = C3 ; vs. 89 D8 Mov [di],bx ; 89 /r mov ew, rw • Opcode: 89 • Rest: 1D (look at table)
Examples Mov [bx+2], ax ; 89 /r ew, rw • Opcode: 89 • Rest: [bx] + D8 in table 47 02 Mov ax, [0120] ; A1 dw mov ax, xw • Opcode: A1 • Rest: 20 01
Examples Mov [bx + di + 2], 1234 ; mov ew, dw • Opcode: C7 /0 dw • Rest: 01 000 001 02 32 12 • C7 41 02 34 12 Mov [bx+si], ax ; mov ew, bw • Opcode: 89 • Rest: 00 (see table)