Mnemonics, Opcodes and Assembler Languages Rev 13042011

16
MNEMONICS, OPCODES AND ASSEMBLER LANGUAGES INSTRUCTION SET, MACHINE CODE AND ADDRESSING MODE

Transcript of Mnemonics, Opcodes and Assembler Languages Rev 13042011

Page 1: Mnemonics, Opcodes and Assembler Languages Rev 13042011

MNEMONICS, OPCODES AND ASSEMBLER LANGUAGES

INSTRUCTION SET, MACHINE CODE AND ADDRESSING MODE

Page 2: Mnemonics, Opcodes and Assembler Languages Rev 13042011

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

Page 3: Mnemonics, Opcodes and Assembler Languages Rev 13042011

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

Page 4: Mnemonics, Opcodes and Assembler Languages Rev 13042011

SOFTWARE (INSTRUCTION)

Op-code identifies the operation that is to be

performed

Operand the data that are to be processed

Page 5: Mnemonics, Opcodes and Assembler Languages Rev 13042011

SOFTWARE (MACHINE CODE)

AddressOp-code

and operand

LabelMnemon

icCommen

ts

Page 6: Mnemonics, Opcodes and Assembler Languages Rev 13042011

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.

Page 7: Mnemonics, Opcodes and Assembler Languages Rev 13042011

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

Page 8: Mnemonics, Opcodes and Assembler Languages Rev 13042011

ADDRESSING MODE 8088/8086

The addressing modes are categorized into three types:1. Register operand addressing2. Immediate operand addressing3. Memory operand addressing

Page 9: Mnemonics, Opcodes and Assembler Languages Rev 13042011

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

Page 10: Mnemonics, Opcodes and Assembler Languages Rev 13042011

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

Page 11: Mnemonics, Opcodes and Assembler Languages Rev 13042011

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

Page 12: Mnemonics, Opcodes and Assembler Languages Rev 13042011

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

Page 13: Mnemonics, Opcodes and Assembler Languages Rev 13042011

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

Page 14: Mnemonics, Opcodes and Assembler Languages Rev 13042011

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

Page 15: Mnemonics, Opcodes and Assembler Languages Rev 13042011

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

Page 16: Mnemonics, Opcodes and Assembler Languages Rev 13042011

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