programmers resources
  http://www.intel-assembler.it/  (c)2017 intel-assembler.it   info@intel-assembler.it
 
Search :  
Lingua Italiana    English Language   
Index
 
just an empty assembly space
just an arrow Intel Platform
just an arrow Article & Guides
just an arrow Download Software


23/01/2009 Featured Article: How to remove Buzus Virus (permalink)




:::3211069:::
Bottone Scambio Directory Pubblicitaonline.it
Home Page | Articles & Guides | Download | Intel Platform | Contacts

Google
 


Bookmark and Share
Download 
Tell a friend



x86 Quick Reference Instruction Manual

8086/80186/80286/80386/80486 Instruction Set

(by thenet)

A complete reference manual for x86-486 instructions and cycle timings.

This article is online from 3059 days and has been seen 12103 times


Intel 8086 Family Architecture. . . . . . . . . . . . . . . . . . . . . 3

Instruction Clock Cycle Calculation . . . . . . . . . . . . . . . . . . 3

8088/8086 Effective Address (EA) Calculation . . . . . . . . . . . . . 3

Task State Calculation. . . . . . . . . . . . . . . . . . . . . . . . . 4

FLAGS - Intel 8086 Family Flags Register. . . . . . . . . . . . . . . . 4

MSW - Machine Status Word (286+ only) . . . . . . . . . . . . . . . . . 5

8086/80186/80286/80386/80486 Instruction Set. . . . . . . . . . . . . . 6
AAA - Ascii Adjust for Addition. . . . . . . . . . . . . . . . . . 6
AAD - Ascii Adjust for Division. . . . . . . . . . . . . . . . . . 6
AAM - Ascii Adjust for Multiplication. . . . . . . . . . . . . . . 6
AAS - Ascii Adjust for Subtraction . . . . . . . . . . . . . . . . 6
ADC - Add With Carry . . . . . . . . . . . . . . . . . . . . . . . 7
ADD - Arithmetic Addition. . . . . . . . . . . . . . . . . . . . . 7
AND - Logical And. . . . . . . . . . . . . . . . . . . . . . . . . 7
ARPL - Adjusted Requested Privilege Level of Selector (286+ PM). . 7
BOUND - Array Index Bound Check (80188+) . . . . . . . . . . . . . 8
BSF - Bit Scan Forward (386+). . . . . . . . . . . . . . . . . . . 8
BSR - Bit Scan Reverse (386+) . . . . . . . . . . . . . . . . . . 8
BSWAP - Byte Swap (486+) . . . . . . . . . . . . . . . . . . 8
BT - Bit Test (386+) . . . . . . . . . . . . . . . . . . 9
BTC - Bit Test with Compliment (386+). . . . . . . . . . . . . . . 9
BTR - Bit Test with Reset (386+) . . . . . . . . . . . . . . . . . 9
BTS - Bit Test and Set (386+) . . . . . . . . . . . . . . . . . . 9
CALL - Procedure Call. . . . . . . . . . . . . . . . . . . . . . . 10
CBW - Convert Byte to Word . . . . . . . . . . . . . . . . . . . . 10
CDQ - Convert Double to Quad (386+). . . . . . . . . . . . . . . . 10
CLC - Clear Carry. . . . . . . . . . . . . . . . . . . . . . . . . 11
CLD - Clear Direction Flag . . . . . . . . . . . . . . . . . . . . 11
CLI - Clear Interrupt Flag (disable) . . . . . . . . . . . . . . . 11
CLTS - Clear Task Switched Flag (286+ privileged). . . . . . . . . 11
CMC - Complement Carry Flag. . . . . . . . . . . . . . . . . . . . 11
CMP - Compare. . . . . . . . . . . . . . . . . . . . . . . . . . . 12
CMPS - Compare String (Byte, Word or Doubleword) . . . . . . . . . 12
CMPXCHG - Compare and Exchange . . . . . . . . . . . . . . . . . . 12
CWD - Convert Word to Doubleword . . . . . . . . . . . . . . . . . 12
CWDE - Convert Word to Extended Doubleword (386+). . . . . . . . . 13
DAA - Decimal Adjust for Addition. . . . . . . . . . . . . . . . . 13
DAS - Decimal Adjust for Subtraction . . . . . . . . . . . . . . . 13
DEC - Decrement. . . . . . . . . . . . . . . . . . . . . . . . . . 13
DIV - Divide . . . . . . . . . . . . . . . . . . . . . . . . . . . 13
ENTER - Make Stack Frame (80188+) . . . . . . . . . . . . . . . . 14
ESC - Escape . . . . . . . . . . . . . . . . . . . . . . . . . . . 14
HLT - Halt CPU . . . . . . . . . . . . . . . . . . . . . . . . . . 14
IDIV - Signed Integer Division . . . . . . . . . . . . . . . . . . 14
IMUL - Signed Multiply . . . . . . . . . . . . . . . . . . . . . . 15
IN - Input Byte or Word From Port. . . . . . . . . . . . . . . . . 15
INC - Increment. . . . . . . . . . . . . . . . . . . . . . . . . . 16
INS - Input String from Port (80188+) . . . . . . . . . . . . . . 16
INT - Interrupt. . . . . . . . . . . . . . . . . . . . . . . . . . 16
INTO - Interrupt on Overflow . . . . . . . . . . . . . . . . . . . 17
INVD - Invalidate Cache (486+). . . . . . . . . . . . . . . . . . 17
INVLPG - Invalidate Translation Look-Aside Buffer Entry (486+) . . 17
IRET/IRETD - Interrupt Return. . . . . . . . . . . . . . . . . . . 17
Jxx - Jump Instructions Table. . . . . . . . . . . . . . . . . . . 18
JCXZ/JECXZ - Jump if Register (E)CX is Zero. . . . . . . . . . . . 18
JMP - Unconditional Jump . . . . . . . . . . . . . . . . . . . . . 19
LAHF - Load Register AH From Flags . . . . . . . . . . . . . . . . 19
LAR - Load Access Rights (286+ protected). . . . . . . . . . . . . 19
LDS - Load Pointer Using DS. . . . . . . . . . . . . . . . . . . . 20
LEA - Load Effective Address . . . . . . . . . . . . . . . . . . . 20
LEAVE - Restore Stack for Procedure Exit (80188+). . . . . . . . . 20
LES - Load Pointer Using ES. . . . . . . . . . . . . . . . . . . . 20
LFS - Load Pointer Using FS (386+) . . . . . . . . . . . . . . . . 21
LGDT - Load Global Descriptor Table (286+ privileged). . . . . . . 21
LIDT - Load Interrupt Descriptor Table (286+ privileged) . . . . . 21
LGS - Load Pointer Using GS (386+) . . . . . . . . . . . . . . . . 21
LLDT - Load Local Descriptor Table (286+ privileged) . . . . . . . 22
LMSW - Load Machine Status Word (286+ privileged). . . . . . . . . 22
LOCK - Lock Bus. . . . . . . . . . . . . . . . . . . . . . . . . . 22
LODS - Load String (Byte, Word or Double). . . . . . . . . . . . . 22
LOOP - Decrement CX and Loop if CX Not Zero. . . . . . . . . . . . 23
LOOPE/LOOPZ - Loop While Equal / Loop While Zero . . . . . . . . . 23
LOOPNZ/LOOPNE - Loop While Not Zero / Loop While Not Equal . . . . 23
LSL - Load Segment Limit (286+ protected). . . . . . . . . . . . . 23
LSS - Load Pointer Using SS (386+) . . . . . . . . . . . . . . . . 24
LTR - Load Task Register (286+ privileged) . . . . . . . . . . . . 24
MOV - Move Byte or Word. . . . . . . . . . . . . . . . . . . . . . 24
MOVS - Move String (Byte or Word). . . . . . . . . . . . . . . . . 25
MOVSX - Move with Sign Extend (386+) . . . . . . . . . . . . . . . 25
MOVZX - Move with Zero Extend (386+) . . . . . . . . . . . . . . . 25
MUL - Unsigned Multiply. . . . . . . . . . . . . . . . . . . . . . 25
NEG - Two's Complement Negation. . . . . . . . . . . . . . . . . . 26
NOP - No Operation (90h) . . . . . . . . . . . . . . . . . . . . . 26
NOT - One's Compliment Negation (Logical NOT). . . . . . . . . . . 26
OR - Inclusive Logical OR. . . . . . . . . . . . . . . . . . . . . 26
OUT - Output Data to Port. . . . . . . . . . . . . . . . . . . . . 27
OUTS - Output String to Port (80188+) . . . . . . . . . . . . . . 27
POP - Pop Word off Stack . . . . . . . . . . . . . . . . . . . . . 27
POPA/POPAD - Pop All Registers onto Stack (80188+). . . . . . . . 28
POPF/POPFD - Pop Flags off Stack . . . . . . . . . . . . . . . . . 28
PUSH - Push Word onto Stack. . . . . . . . . . . . . . . . . . . . 28
PUSHA/PUSHAD - Push All Registers onto Stack (80188+) . . . . . . 28
PUSHF/PUSHFD - Push Flags onto Stack . . . . . . . . . . . . . . . 29
RCL - Rotate Through Carry Left. . . . . . . . . . . . . . . . . . 29
RCR - Rotate Through Carry Right . . . . . . . . . . . . . . . . . 29
REP - Repeat String Operation. . . . . . . . . . . . . . . . . . . 30
REPE/REPZ - Repeat Equal / Repeat Zero . . . . . . . . . . . . . . 30
REPNE/REPNZ - Repeat Not Equal / Repeat Not Zero . . . . . . . . . 30
RET/RETF - Return From Procedure . . . . . . . . . . . . . . . . . 31
ROL - Rotate Left. . . . . . . . . . . . . . . . . . . . . . . . . 31
ROR - Rotate Right . . . . . . . . . . . . . . . . . . . . . . . . 31
SAHF - Store AH Register into FLAGS. . . . . . . . . . . . . . . . 32
SAL/SHL - Shift Arithmetic Left / Shift Logical Left . . . . . . . 32
SAR - Shift Arithmetic Right . . . . . . . . . . . . . . . . . . . 32
SBB - Subtract with Borrow/Carry . . . . . . . . . . . . . . . . . 33
SCAS - Scan String (Byte, Word or Doubleword) . . . . . . . . . . 33
SETAE/SETNB - Set if Above or Equal / Set if Not Below (386+). . . 33
SETB/SETNAE - Set if Below / Set if Not Above or Equal (386+). . . 33
SETBE/SETNA - Set if Below or Equal / Set if Not Above (386+). . . 34
SETE/SETZ - Set if Equal / Set if Zero (386+). . . . . . . . . . . 34
SETNE/SETNZ - Set if Not Equal / Set if Not Zero (386+). . . . . . 34
SETL/SETNGE - Set if Less / Set if Not Greater or Equal (386+) . . 34
SETGE/SETNL - Set if Greater or Equal / Set if Not Less (386+) . . 35
SETLE/SETNG - Set if Less or Equal / Set if Not greater or Equal (386+) 35
SETG/SETNLE - Set if Greater / Set if Not Less or Equal (386+) . . 35
SETS - Set if Signed (386+). . . . . . . . . . . . . . . . . . . . 35
SETNS - Set if Not Signed (386+) . . . . . . . . . . . . . . . . . 36
SETC - Set if Carry (386+) . . . . . . . . . . . . . . . . . . . . 36
SETNC - Set if Not Carry (386+). . . . . . . . . . . . . . . . . . 36
SETO - Set if Overflow (386+). . . . . . . . . . . . . . . . . . . 36
SETNO - Set if Not Overflow (386+) . . . . . . . . . . . . . . . . 36
SETP/SETPE - Set if Parity / Set if Parity Even (386+). . . . . . 37
SETNP/SETPO - Set if No Parity / Set if Parity Odd (386+). . . . . 37
SGDT - Store Global Descriptor Table (286+ privileged) . . . . . . 37
SIDT - Store Interrupt Descriptor Table (286+ privileged). . . . . 37
SHL - Shift Logical Left . . . . . . . . . . . . . . . . . . . . . 37
SHR - Shift Logical Right. . . . . . . . . . . . . . . . . . . . . 38
SHLD/SHRD - Double Precision Shift (386+). . . . . . . . . . . . . 38
SLDT - Store Local Descriptor Table (286+ privileged). . . . . . . 38
SMSW - Store Machine Status Word (286+ privileged) . . . . . . . . 38
STC - Set Carry. . . . . . . . . . . . . . . . . . . . . . . . . . 39
STD - Set Direction Flag . . . . . . . . . . . . . . . . . . . . . 39
STI - Set Interrupt Flag (Enable Interrupts). . . . . . . . . . . 39
STOS - Store String (Byte, Word or Doubleword). . . . . . . . . . 39
STR - Store Task Register (286+ privileged). . . . . . . . . . . . 39
SUB - Subtract . . . . . . . . . . . . . . . . . . . . . . . . . . 40
TEST - Test For Bit Pattern. . . . . . . . . . . . . . . . . . . . 40
VERR - Verify Read (286+ protected). . . . . . . . . . . . . . . . 40
VERW - Verify Write (286+ protected) . . . . . . . . . . . . . . . 40
WAIT/FWAIT - Event Wait. . . . . . . . . . . . . . . . . . . . . . 41
WBINVD - Write-Back and Invalidate Cache (486+). . . . . . . . . . 41
XCHG - Exchange. . . . . . . . . . . . . . . . . . . . . . . . . . 41
XLAT/XLATB - Translate . . . . . . . . . . . . . . . . . . . . . . 41
XOR - Exclusive OR . . . . . . . . . . . . . . . . . . . . . . . . 42


Top
Download 
Tell a friend
Bookmark and Share



Similar Articles

64-Bit - Programming and Assembly Issues
Brief intro on 64 bit architecture and programming
(by Thorsten Schneider)

8080/8085 Assembly Language Programming
Assembly Language Programming Manual
(by Intel Corporation)

8085 TRS 80 Model 100 Assembly Programming
Brief guide on 8085 architecture and programming
(by Mike Berro - BCS Software)

Adam's Assembler Tutorial 1.0
A tutorial in 9 lessons on Assembler
(by Adam)

AMD64 Architecture Programmerís Manual Volume 3
General-Purpose and System Instructions
(by AMD)

AMD64 Architecture Programmerís Manual Volume 4
128-Bit Media Instructions
(by AMD)

AMD64 Architecture Programmer's Manual Volume 2
System Programming
(by AMD)

AMD64 Architecture Programmer's Manual Volume 5
64-Bit Media and x87 Floating-Point Instructions R
(by AMD)

AMD64 Programmerís Manual Volume 1
Application Programming
(by AMD)

Assembler Tutorial 1996 Edition
A guide from Guadalahara University
(by Hugo Perez Univ.Guadalajara)

Assembly Language Programming
A 14 page intro for beginners using NASM
(by Archis Gore)

Assembly language programming under Unix
A small guide for intermediate level programmers
(by G. Adam Stanislav)

Brennan's Guide to Inline Assembly
A guide to inline Unix assembly programming
(by Brennan)

Extending DOS Executables
How to modify a Windows executable relocating code
(by Digital Alchemist)

GAVIN'S GUIDE TO 80x86 ASSEMBLY
A guide about Assembler in 8 parts
(by Gavin Estey)

IBM Personal Computer Assembly Language Tutorial
A guide that introduces main topics of asm lang
(by Joshua Auerbach)

Intro to Assembler
An intro to Intel ASM programming
(by VLA)

Masm 5 Instructions, Directives and Interrupts
A 30 page listing for assembly programmers
(by n/d)

Optimizations for Intel's 32-Bit Processors
A 49 page guide on Intel Asm Code Optimization
(by Bev Zaharie)

PC Assembly Language Manual
A book to learn basic Assembly in 195 pages (pdf)
(by Paul Carter)

Programming from the ground up
EBook on Linux Assembler programming
(by Jonathan Bartlett)

Protected Mode Tutorial v.0.02
Tutorial for Protected Mode programming in asm
(by Till Gerken)

Sk00l m3 ASM!!#@$!@#
An assembly programming guide
(by Ralph (AWC))

Static Detection of Vulnerabilities in x86 Code
Analysis of assembly code for security problems
(by M.Cova V.Felmetsger G.Banks G.Vigna)

The PC GAMES PROGRAMMERS ENCYCLOPEDIA 1.0
A collection of 85 asm programming documents
(by various)

Win32 asm
Manage win32 projects in assembly language
(by unknown)

Win32 Course in 35 Lessons
Una guida con codice d'esempio per w32asm
(by Iczelion)

x86 ASM Programming for Linux
Intro to assembly programming on Linux using NASM
(by mammon_)

X86 Assembly Tips And Tricks
Asm coding programming tricks
(by Laura Fairhead)

 Tags: asm tutorial


webmaster jes
writers rguru, tech-g, aiguru, drAx

site optimized for IE/Firefox/Chrome with 1024x768 resolution

Valid HTML 4.01 Transitional


ALL TRADEMARKS ® ARE PROPERTY OF LEGITTIMATE OWNERS.
© ALL RIGHTS RESERVED.

hosting&web - www.accademia3.it

grossocactus
find rguru on
http://www.twitter.com/sicurezza3/
... send an email ...
Your name

Destination email

Message

captcha! Code