Instruction Set, Machine Code and Addressing Mode: Mnemonics, Opcodes and Assembler Languages
Instruction Set, Machine Code and Addressing Mode: Mnemonics, Opcodes and Assembler Languages
LANGUAGES
INSTRUCTION SET, MACHINE CODE AND
ADDRESSING MODE
THE INSTRUCTION SET OF THE 8088/8086
Data transfer Arithmetic Logic instruction
instruction instruction
• transfers data • performs addition, • performs logic
between memory and subtraction, instructions including
registers within the multiplication, AND, OR and XOR
microprocessor or division, compare and instructions
between internal other mathematical • ex: RCL instruction
registers operations
• ex: MOV • ex: ADD instruction
instruction
THE INSTRUCTION SET OF THE 8088/8086
String manipulation Control transfer Processor control
instruction instruction instruction
• for all this • decision making • used to control the
instruction the group where a operation of the
memory source is decision depends on a processor and set or
DS:DI and the previous result such clear the status
memory destination as a mathematical indicators
is ES:DI outcome • ex: HLT instruction
• ex: CMPS • ex: INT instruction
instruction
SOFTWARE (INSTRUCTION)
Op-code
identifies the operation that is to be performed
Operand
the data that are to be processed
SOFTWARE (MACHINE CODE)
Op-code
Address and Label Mnemonic Comments
operand
SOFTWARE (MACHINE CODE)
Op-code and
Address Label Mnemonic Comments
operand
Location of the Hex code for A reference Manufacturers Anything to help
op-code and instruction and point given a mnemonic for understand how
related data. related hex data. name to help that instruction. the program
relate the works. The
program to a semicolon
flow chart. identifies the
start of a
comment.
ADDRESSING MODE 8088/8086
Addressing mode:
- used to describe the way a particular instruction
lets the microprocessor know where the source or
destination is located
- method of specifying an operand
ADDRESSING MODE 8088/8086
The addressing modes are categorized into three
types:
1. Register operand addressing
2. Immediate operand addressing
3. Memory operand addressing
ADDRESSING MODE 8088/8086
Five memory operand addressing mode:
1. Direct addressing mode
2. Register indirect addressing mode
3. Based addressing mode
4. Indexed addressing mode
5. Based-indexed addressing mode
ADDRESSING MODE 8088/8086
Register Addressing Mode
- Register addressing is an addressing mode
where the source and the destination are both
register.
- Ex: MOV DS,AX ;copy AX into DS
ADDRESSING MODE 8088/8086
Immediate Addressing Mode
- Immediate addressing is the addressing mode
where the required data(operand) is part of the
instruction.
- Ex: MOV AX,1000H ;load AX with 1000H
ADDRESSING MODE 8088/8086
Direct Addressing Mode
- Direct (absolute, extended etc) is an addressing
mode where the operand specifies the source or
the destination.
- Ex: MOV CX,[1234H] ;move content in
1234H into CX
ADDRESSING MODE 8088/8086
Register Indirect Addressing Mode
- Storing the memory address in a pointer or
index register (SP,BP,SI,or DI).
- Ex: MOV [SI],00FFH ; Load data 00FF
into address that stored in SI
ADDRESSING MODE 8088/8086
Based Addressing Mode
- The effective address of the operand is obtained
by adding a direct or indirect displacement to the
contents of either base register BX or base
pointer register BP
- Ex: MOV [BX] + 1243H, AL
ADDRESSING MODE 8088/8086
Indexed Addressing Mode
- Use the value of displacement as a pointer to the
starting point of an array of data in memory and
the contents of the specified register as an index
that select specific element in the array that is to
be accessed.
- Ex: MOV AL, [SI] + 2000H
ADDRESSING MODE 8088/8086
Based-Indexed Addressing Mode
- Use to access complex data structures such as
two-dimensional array
- Ex: MOV AH, [BX] [SI] + 1234H