MNEMONICS, OPCODES AND ASSEMBLER LANGUAGES
INSTRUCTION SET, MACHINE CODE AND ADDRESSING MODE
THE INSTRUCTION SET OF THE 8088/8086
Data transfer instruction
Arithmetic instruction
Logic instruction
• transfers data between memory and registers within the microprocessor or between internal registers• ex: MOV instruction
• performs addition, subtraction, multiplication, division, compare and other mathematical operations• ex: ADD instruction
• performs logic instructions including AND, OR and XOR instructions• ex: RCL instruction
THE INSTRUCTION SET OF THE 8088/8086
String manipulation instruction
Control transfer
instruction
Processor control
instruction
• for all this instruction the memory source is DS:DI and the memory destination is ES:DI• ex: CMPS instruction
• decision making group where a decision depends on a previous result such as a mathematical outcome• ex: INT instruction
• used to control the operation of the processor and set or clear the status indicators• ex: HLT instruction
SOFTWARE (INSTRUCTION)
Op-code identifies the operation that is to be
performed
Operand the data that are to be processed
SOFTWARE (MACHINE CODE)
AddressOp-code
and operand
LabelMnemon
icCommen
ts
SOFTWARE (MACHINE CODE)
AddressOp-code
and operand
Label Mnemonic Comments
Location of the op-code and related data.
Hex code for instruction and related hex data.
A reference point given a name to help relate the program to a flow chart.
Manufacturers mnemonic for that instruction.
Anything to help understand how the program works. The semicolon 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 addressing2. Immediate operand addressing3. 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