what is instruction set for 8086 and 8088-इंस्ट्रक्शन सेट 8086 और 8088

हेल्लो दोस्तों आज के इस पोस्ट में आपको instruction set for 8086 and 8088 के बारे में बताया गया है की क्या होता है कैसे काम करता है तो चलिए शुरू करते है

Instruction Set for 8086/8088

माइक्रोप्रोसेसर 8086 तथा 8088 के instruction set एक समान होता है समस्त instruction निम् समूहों में विभाजित है

1. Data Transfer Group

2. Arithmetic Group

3. Bit Manipulations Instructions

4. String Manipulations Instructions

5. Control Transfer Instruction

6. Process Control Instructions

Data Transfer Instructions

इन समूहों में विभिन्न इन्सट्रक्शन्स का विवरण निम्न प्रकार है

General purpose byte or word transfer instructions :

Mnemonic            Description

MOV-Copy byte or word from specified source to specified destination.

PUSH-Copy specified word to top of stack.

POP-Copy word from top of stack to specified location.

XCHG- Exchange bytes or exchange word.

XLAT-Translate a byte in AL using a table in memory.

Simple input and output port transfer instructions:

IN-Copy a byte or word from specified port to accumulator.

OUT-Copy a byte or word from accumulator to specified port.

Special address transfer instructions :

LEA-Load effective address of operand into specified register.

LDS-Load DS register and other specified register from memory.

LES-Load ES register and other specified register from memory.

 Flag transfer instructions:

LAHF -Load (copy to) AH with the low byte of the flag register.

SAHF -Store (copy) AH register to low bye of flag register

PUSHF- Copy flag register to top of stack.

POPF-Copy word at top of stack to flag register.

ARITHMETIC INSTRUCTIONS

Addition instructions:

 ADD-Add specified byte to byte, or specified word to word.

ADC-ADD with Carry

INC-Increment specified byte or specified word by one.

AAA-ASCII adjust after addition,

DAA-Decimal (BCD) adjust after addition

Subtraction instructions.

SUB-Subtract byte from byte, or word from word.

SBB-Subtract byte and carry flag from byte, or word and carry flag from word,

DEC-Decrement specified byte or specified word by one.

NEG-Negate-invert each bit of a specified byte or word and add 1 (from 2’s

complement).

CMP-Compare two specified bytes or two specified words.

AAS-ASCII adjust after subtraction.

DAS-Decimal (BCD) adjust after subtraction.

Multiplication instructions :

MUL-Multiply unsigned byte by byte or unsigned word by word.

IMUL-Multiply signed byte by byte or signed word by word.

AAM-ASCII adjust after multiply.

Division instructions :

DIV-Divide unsigned word by byte or unsigned double word by word.

IDIV-Divide signed word by byte or signed double word by word.

AAD-ASCII adjust before division.

CBW-Fill upper byte of word with copies of sign bit of lower byte.

CWD-Fill upper word of double word with sign bit of lower word.

JBE/JNA-Jump if below or equal/Jump if not above.

JC-Jump if carry flag (CF)=1.

JE/JZ-Jump if equal/Jump if zero flag (ZF)=1

JG/JNLE-Jump if greater/Jump if not less than nor equal.

JGE/JNL-Jump if greater than or equal/Jump if not less than nor equal. JL/JGNE-Jump if less than/Jump if not greater than nor equal.

JLE/JNG-Jump if less than or equal/Jump if not greater than nor equal. JNG-Jump if no carry (Jump if carry flag=0)

JNE/JNZ-Jump if not equal/Jump if not zero (zero flag-0).

JNO-Jump if no overflow (Jump if overflow flag -0).

JNP/JPO Jump if no Parity/Jump if parity odd (PF-0).

JNS-Jump if no sign (Jump if sign flag=0).

JO-Jump if overflow flag =1.

JP/JPE-Jump if Parity/Jump if parity even (PF=1)…

JS-Jump if sign flag =1.

Iteration Control Instructions:

इन instruction के द्वारा instruction के एक समूह को कई बार (some number of times) एक्सीक्यूट करने के लिए प्रयुक्त किया जा सकता है

LOOP-Loop through a sequence of Instruction until CX=0.

LOOPE/LOOPZ-Loop through a sequence of instruction while zero flag =land CX =/(NOT EQUAL).

LOOPNE/LOOPNZ-Loop through a sequence of instructions while zero flag=0 and CX=/0( not equal)

see this-Microcontroller QNA in hindi-माइक्रोकंट्रोलर QNA हिंदी में

Shift Instruction :

SHL/SAL-Shift bits or word or byte left, put zero(s) in LSB(s).

SHR-Shift bits of word or byte right, put zero(s) in MSB (s).

SAR-Shift bits of word or byte right, copy old MSB into new MSB.

Rotate Instruction :

ROL-Rotate bits of byte or word left; MSB of LSB and to CF.

ROR-Rotate bits of byte or word right, LSB to MSB and to CF.

RCL-Rotate bits of byte or word left, MSB to CF and CF to LSB.

RCR-Rotate bits of byte or word right, LSB to CF and CF to MSB.

STRING INSTRUCTIONS

स्ट्रिंग सेक़ुएन्तिअल(sequential)मेमोरी लोकेशन में बाइट अथवा वर्ड्स की एक श्रेणी(series) होती है स्ट्रिंग में सामान्य: ascii कैरेक्टर होती है निमोनिक्स में अक्षर B बाइट को तथा W वर्ड्स को प्रदर्शित करता है

REP-An instruction prefix. Repeat following instruction until

CX=0.

REPE/REPZ-An instruction prefix. Repeat instruction until CX=0 or ZFI REPNE/REPNZ-An instruction prefix. Repeat until CF=0 or ZF=1

MOVS/MOVSB/MOVSW-Move byte or word from one string to another. COMPS/COMPSB/COMPSW-Compare two string bytes or two string words.

INS/INSB/INSW-(80186/80188) Input string byte or word from port. OUTS/OUTSB/OUTSW-(80186/80188) Output string byte or word to port.

SCAS/SCASB/SCASW-Scan a string. Compare a string byte with byte in AL or a string word with word in AX.

LODS/LODSB/LODSW-Load string byte into AL or string word into AX

STOS/STOSB/STOSW-Store byte from AL or word from AX into string.

PROGRAM EXECUTION TRANSFER INSTRUCTIONS

ये इन्सट्रक्शन्स, किसी क्रम में जारी रहने के स्थान पर किसी नये एड्रैस से इन्सट्रक्शन्स, फैच करने के लिए प्रयक्त की जाती हैं।

Unconditional transfer instructions :

CALL-Call a procedure (subprogram), save return address on stack.

RET-Return from procedure to calling program.

JMP-Go to specified address to get next instruction.

Conditional transfer instructions :

 ये इन्सट्रक्शन्स सामान्यत: COMPARE इन्सट्रक्शन के पश्चात् प्रयोग की जाती है। JA/JNBE-Jump if above/Jump if not below nor equal.

JAE/JNB.-Jump if above or equal/Jump if not below.

JB/JNAE-Jump if below/Jump if not above nor equal.

JCXZ-Jump to specified address if CX = 0.

Interrupt instructions :

INT-Interrupt program execution, call service procedure.

INTO-Interrupt program execution if overflow flag =1

IRET-Return from interrupt service procedure to main program.

High-level language interface instructions :

ENTER-(80186/80188 ONLY) Enter procedure.

LEAVE-(80186/80188 ONLY) Leave procedure.

BOUND-(80186/80188 ONLY) Check if effective address within specified array bounds.

PROCESSOR CONTROL INSTRUCTIONS

Flag set/clear instructions:

STC-Set carry flag (CF) to 1.

CLC-Clear carry flag (CF) to 0.

CMC-Complement the state of the carry flag (CF).

STD-Set direction flag (DF) to 1 (decrement string pointers).

CLD-Clear direction flag (DF) to 0.

STI-Set interrrupt enable flag to 1 (enable INTR input).

CLI-Clear interrupt enable flag to 0 (disable INTR input).

External hardware synchronization instructions :

HLT-Halt (do nothing ) until interrupt or reset.

WAIT-Wait (do nothing) until signal on the TEST pin is low.

ESC-Escape to external coprocessor.

LOCK-An instruction prefix. Prevents another processor from taking bus while adjacent instruction executes.

No operation instruction :

 NOP-No action except fetch and decode.

BIT MANIPULATIONS INSTRUCTIONS

Logical instructions:

NOT-Invert each bit of a byte or word.

AND-AND each bit in byte or word with the corresponding bit in another byte or word.

OR-OR each bit in a byte or word with the corresponding bit in another byte or word.

XOR-Exclusive OR each bit in a byte or word with the corresponding bit in another byte or word.

TEST-AND operands to update flags, but don’t change operands.

reference-/microprocessor/microprocessor_8086

निवेदन-अगर आपको यह आर्टिकल अच्छा लगा हो तो आप इस पोस्ट को अपने दोस्तों के साथ जरुर शेयर( instruction set for 8086 and 8088) करे और आपको जिस टॉपिक( instruction set for 8086 and 8088 ) पर आपको पढना या नोट्स चाहिए तो हमें जरुर कमेंट() करे आपका कमेंट्स हमारे लिए बहु मूल्य है धन्यवाद

Leave a Comment