Download Instruction set of 8086

Survey
yes no Was this document useful for you?
   Thank you for your participation!

* Your assessment is very important for improving the workof artificial intelligence, which forms the content of this project

Document related concepts
no text concepts found
Transcript
Instruction set of 8086
1



NOP instruction
Do nothing.
No operand is required.
Ex: do nothing, 3 times:




NOP
NOP
NOP
RET
2
NOP and HLT Instructions continued



HLT instruction
Halt the System.
No operand is required.
Ex:

MOV AX, 5

HLT
3
Shift Instructions
4
5
Ex.
Multiply
AX by 10
SHL AX, 1
MOV BX, AX
MOV CL,2
SHL AX,CL
ADD AX, BX
Ex. What are the results of
SAR CL, 1
if CL initially contains B6H? DBH
Ex. What are the results of
SHL AL, CL
if AL contains 75H and CL contains 3? A8H
6
Rotate Instructions
7
Ex. What is the result of ROL BTRE PTR [SI], 1
if SI is pointing to a memory location that contains 41H?
(82H)
8








Flag Operations:
CLC - Clear the CF flag
CMC- Complement the CF flag
STC- Set the CF flag
CLD- Clear the DF flag
STD- Set the DF flag
CLI- Clear the IF flag
STI- Set the IF flag
9
Flag manipulation Instructions
Continued
External Synchronization:
* HLT- Halt stops the CPU until a hardware interrupts
occurs
WAIT- 8086 enters an idle state if TEST pin=1
LOCK- Forces the 8086(max) LOCK pin to low level and
suspend bus transfer-8086(min) –delay generation of HLDA
in response to HOLD.
ESC mem- Instruction places the contents of the specified
memory location on the data bus
10










ASSUME- ASSUME CS: CODE, ASSUME DS:DATA
DB-Define Byte
DD- Define Double word
DQ- Define QUARDWORD
DT- Define TEN Bytes
DW- Define Word
END-End Program
ENDP- End Procedure
ENDS- End Segments
EQU- Equate
11










Even- Align on Even Memory Address
EXTRN- For calling procedure externally in other module
GLOBAL- Declare Symbols as PUBLIC or EXTRN
GROUP- Group –related Segments
INCLUDE- Include Source Code from File
LABEL- Used to give a name to the current value
LENGTH- An operator tells the assembler to deermine
NAME- Used to give specific name to assembly module
OFFSET- an operator tells the assembler for offset
ORG- Originate- allows to set the location counter
12






PROC- Procedure -to identify the start of a procedure
PTR-Pointer- An operator to assign a specific type to a
variable or to a label
PUBLIC- used to tell the assembler that a specified name or
label will be accessed from other modules.
SEGMENT- Used to indicate the start of a logical segment
SHORT- an operator used to tell the assembler that only a 1byte displacement is needed to code a jump instruction
TYPE- an operator tells the assembler to determine the type
of a specified variable.
13
In this unit instruction format and instruction set of 8086 microprocessor
has been covered along with examples. The instructions that has been
covered are Data transfer instructions, Arithmetic instructions, Branch
instructions , Looping instructions, NOP and HLT instructions, Flag
manipulations instructions, Logical instructions, Shift n Rotate
instructions , Directives n Operators, Programming examples
14


Micro Computer Systems : The 8086/8088 Family: Architecture,
programming n Design by Liu n Gibson; PHI
Microprocessors and Interfacing : Hall ; TMH
15