Assembly Instruction for 8086
This is for Assembly programming language , the complete set of instructions of the 8086 has been listed in the table below, with their mnemonic and function.Instruction Set of 8086 source:
APPENDIX C. INSTRUCTION SET AND INSTRUCTION TIMING OF 8086
The X86 Microprocessors: Architecture and Programming (8086 to Pentium)
For knowing the details (format and examples) of each of the instruction, the section in the text book, where they are discussed is given in the third column of the table.
Data Transfer Instructions
Mnemonic | Function | Section | Table |
---|---|---|---|
MOV | Move byte or word to register or memory | 3.2.1 | 3.1 |
IN, OUT | Input byte or word from port, output word to port | 5.2 | 3.1 |
LEA | Load effective address | 3.2.2 | 3.1 |
LDS, LES | Load pointer using data segment, extra segment | — | 3.1 |
PUSH, POP | Push word onto stack, pop word off stack | 3.2.4 | 3.1 |
XCHG | Exchange byte or word | — | 3.1 |
XLAT | Translate byte using look-up table | 3.2.3 | 3.1 |
Logical Instructions
Mnemonic Function Section Table NOT Logical NOT of byte or word (one's complement) — 3.7 AND Logical AND of byte or word — 3.7 OR Logical OR of byte or word — 3.7 XOR Logical exclusive – OR of byte or word — 3.7 TEST Test byte or word (AND without storing) — 3.7
Shift and Rotate InstructionsMnemonic Function Section Table SHL, SHR Logical shift left, right byte or word by 1 or CL 3.6.1 3.8 SAL, SAR Arithmetic shift left, right byte or word by 1 or CL 4.7.3 3.8 ROL, ROR Rotate left, right, byte or word by 1 or CL 3.6.2 3.8 RCL, RCR Rotate left, right, through carry, byte or word by 1 or CL 3.6.2 3.8
Arithmetic InstructionsMnemonic Function Section Table ADD Add byte or word 3.4.2 3.4 SUB Subtract byte or word 3.4.3 3.4 ADC Add byte or word and carry 3.4.2 3.4 SBB Subtract byte or word and carry (borrow) 3.4.3 3.4 INC Increment byte or word 3.4.2 3.4 DEC Decrement byte or word 3.4.3 3.4 NEG Negate byte or word (two's complement) — 3.4 CMP Compare byte or word (subtract without storing) 3.4.4 3.4 MUL Multiply byte or word (unsigned) 3.4.5 3.4 DIV Divide byte or word (unsigned) 3.4.6 3.4 IMUL Integer multiply byte or word (signed) 4.7.2 3.4 IDIV Integer divide byte or word (signed) 4.7.2 3.4 CBW, CWD Convert byte to word, word to double word 4.7 3.4 AAA ASCII adjust for addition 4.5.1 3.4 AAS ASCII adjust for subtraction 4.5.2 3.4 AAM ASCII adjust for multiplication 4.5.3 3.4 AAD ASCII adjust for division 4.5.3 3.4 DAA, DAS Decimal adjust for addition, subtraction (binary coded decimal numbers) 4.4.2 3.4
Jump and Loop InstructionsMnemonic Function Section Table JMP Unconditional jump 3.3.1 and 3.3.2 — JA (JNBE) Jump if above (not below or equal) — 3.3 JAE (JNB) Jump if above or equal (not below) — 3.3 JB (JNAE) Jump if below (not above or equal) — 3.3 JBE (JNA) Jump if below or equal (not above) — 3.3 JE (JZ) Jump if equal (zero) — 3.3 JG (JNLE) Jump if greater (not less or equal) — 4.2 JGE (JNL) Jump if greater or equal (not less) — 4.2 JL (JNGE) Jump if less (not greater nor equal) — 4.2 JLE (JNG) Jump if less or equal (not greater) — 4.2 JC, JNC Jump if carry set, carry not set — 3.3 JO, JNO Jump if overflow, no overflow — 4.2 JS, JNS Jump if sign, no sign — 4.2 JNP (JPO) Jump if no parity (parity odd) — 3.3 JP (JPE) Jump if parity (parity even) — 3.3 LOOP Loop unconditional, count in CX 3.3.3 — LOOPE (LOOPZ) Loop if equal (zero), count in CX 3.3.3 — LOOPNE (LOOPNZ) Loop if not equal (not zero), count in CX 3.3.3 — JCXZ Jump if CX equals zero — 3.3
Mnemonic Function Section Table CALL, RET Call, return from procedure 4.2.2 and 4.2.3 — INT, INTO Software interrupt, interrupt if overflow 8.3 and 8.2.5 — IRET Return from interrupt 8.1.1 —
String Instructions
Mnemonic Function Section Table STC, CLC, CMC Set, clear, complement carry flag 3.4.1 — STD, CLD Set, clear direction flag — 4.1 STI, CLI Set, clear interrupt enable flag — — LAHF, SAHF Load AH from flags, store AH into flags — 3.1 PUSHF, POPF Push flags onto stack, pop flags off stack — 3.1 ESC Escape to external processor interface 13.2.1 — LOCK Lock bus during next instruction 6.4.4 — NOP No operation (do nothing) 6.5.1 — WAIT Wait for signal on TEST input 13.2.1 — HLT Halt processor 6.3.5 — - Instruction Timing of 8086
- Number of cycles expended in calculating the 'Effective Address'
No. Addressing mode No. of clocks for calculation of EA 1 Direct 6 2 Register indirect 5 3 Register relative 9 4 Based indexed with BP as the base register 8 5 Based indexed with BX as the base register 7 6 Relative based indexed with BP as the base register 12 7 Relative based indexed with BX as the base register 11 - Number of clock cycles expended for each instruction of 8086
emu8086 is better than NASM, MASM or TASM
Tag: assembly language, assembly instruction, assembly programming, assembly code, assembly guide, emu8086, 8086 microprocessors instruction, instruction sets, instruction sets for 8086, instruction complete set, instruction set complete for 8086, assembly language instruction set, complete 8086 instruction sets microprocessors, complete instruction timing and instruction sets for 8086 microprocessors, 8086 Assembler, TutorialAssembly Language : 8086 Assembler Tutorial Part 12
Assembly Language : 8086 Assembler Tutorial Part 11
Assembly Language : 8086 Assembler Tutorial Part 10
Assembly Language : 8086 Assembler Tutorial Part 9
Assembly Language : 8086 Assembler Tutorial Part 8
Assembly Language : 8086 Assembler Tutorial Part 7
Assembly Language : 8086 Assembler Tutorial Part 6
Assembly Language : 8086 Assembler Tutorial Part 5
Assembly Language : 8086 Assembler Tutorial Part 4
Assembly Language : 8086 Assembler Tutorial Part 3
Assembly Language : 8086 Assembler Tutorial Part 2
Assembly Language : 8086 Assembler Tutorial Part 1
Assembly Language Programming : Complete 8086 instruction sets
Assembly Language Programming : I/O ports - IN/OUT instructions
Assembly Language programming : Emu8086 Assembler Compiling and MASM / TASM compatibility
Assembly Language - string convert - Lowercase , Uppercase
for programming : the language of Number
Assembly Language - Complete Instruction Set and Instruction Timing of 8086 microprocessors
Assembly Language programming : A list of emulator supported interrupts
Assembly Language Programming : Emu8086 Overview, Using Emulator, Virtual Drives
Assembly Language Programming : All about Memory - Global Memory Table and Custom Memory Map
buy me a cup of coffee
My Paypal Account is : ksw.industries@gmail.com
Send me any small amount of money is welcome.buy me a cup of coffee
___________________________________________
Need More Detail ? contact me !!
My Paypal Account is : ksw.industries@gmail.com
buy me a cup of coffeeSend me any small amount of money is welcome.
___________________________________________
Don't know how to send money ? Click here for detail about Paypal account.
About PayPal Payment Methods
What type of PayPal accounts is better.
Don't have money? OK! Here is another way to get the program.
how to get my program - Free of charge
No comments:
Post a Comment