Mnemonics and Machine Code for INTEL 8086 Microprocessor (2)
General Instruction Format
6- Then R/M = 100 000000 1 1 00 000 100 MACHINE CODE = 0304h EXAMPLE 1 ENCODING STEPS X X X X ADD AX,[SI] 1- OPCODE = 000000 2- W= 1 (16-BIT) 3- The REG is dest . i.e : D= 1 4- then REG = 000 for AX 5- MOD = 00 D 1 REG = code for Source reg REG = code for Dest . reg MODE
6- Then R/M = 011 100010 1100 000 011 MACHINE CODE = 88C3h EXAMPLE 2 ENCODING STEPS X X X X MOV BL,AL 1- OPCODE = 100010 2- W= (8-BIT) 3- Let REG be the source i.e : D= 4- then REG = 000 for AL 5- MOD = 11 D 1 REG = code for Source reg REG = code for Dest . reg MODE OR= 8AD8h (if D=1,REG=011&R/M=000)
6- Then R/M = 110 001100 1 00 001 110 MACHINE CODE = 320E3412h EXAMPLE 3 ENCODING STEPS 0011 0100 0001 0010 X X XOR CL,[1234h] 1- OPCODE = 001100 2- W= (8-BIT) 3- The REG is dest . i.e : D= 1 4- then REG = 001 for CL 5- MOD = 00 D 1 REG = code for Source reg REG = code for Dest . reg MODE
6- Then R/M = 001 000000 1 10 000 001 MACHINE CODE = 01813412h EXAMPLE 4 ENCODING STEPS 0011 0100 0001 0010 X X ADD [BX][DI][1234],AX 1- OPCODE = 000000 2- W= 1 (16-BIT) 3- The REG is source i.e. D= 4- then REG = 000 for AL 5- MOD = 10 D 1 REG = code for Source reg REG = code for Dest . reg MODE
6- Then R/M = 011 110001 1 1 10 000 011 MACHINE CODE = C7833412CDABh 0011 0100 0001 0010 1100 1101 1010 1011 EXAMPLE 5 : MOV WORD PTR [BP][DI][1234],0ABCDh 1- OPCODE = 110001 2- W= 1 (16-BIT) 3- D= 1 from table 4- then REG = 000 from table 5- MOD = 10 MODE
4- Then R/M = 011 100011 10 011 011 MACHINE CODE = 8CC9B3412h 0011 0100 0001 0010 X X EXAMPLE 5 : MOV [BP][DI][1234],DS 1- OPCODE = 10001100 2- then REG = 011 from table 3- MOD = 10 MODE
D 1 REG = code for Source reg REG = code for Dest . reg MODE