AppendixD - Appendix D: The 80x86 Instruction Set Beta...

Info iconThis preview shows pages 1–3. Sign up to view the full content.

View Full Document Right Arrow Icon

Info iconThis preview has intentionally blurred sections. Sign up to view the full version.

View Full DocumentRight Arrow Icon
This is the end of the preview. Sign up to access the rest of the document.

Unformatted text preview: Appendix D: The 80x86 Instruction Set Beta Draft - Do not distribute © 2001, By Randall Hyde Page 1449 The 80x86 Instruction Set Appendix D The follo wing three tables discuss the inte ger/control, fl oating point, and MMX instruction sets. This document uses the fol- lo wing abbre viations: imm- A constant value, must be appropriate for the operand size. imm8- An eight-bit immediate constant. Some instructions limit the range of this value to less than 0..255. immL- A 16- or 32-bit immediate constant. immH- A 16- or 32-bit immediate constant. reg- A general purpose integer register. reg8- A general purpose eight-bit register reg16- A general purpose 16-bit register. reg32- A general purpose 32-bit register. mem- An arbitrary memory location using any of the available addressing modes. mem16- A word variable using any legal addressing mode. mem32- A dword variable using any legal addressing mode. mem64- A qword variable using any legal addressing mode. label- A statement label in the program. ProcedureName-The name of a procedure in the program. Instructions that have two source operands typically use the first operand as a source operand and the second operand as a destination operand. For exceptions and other formats, please see the description for the individual instruction. Note that this appendix only lists those instructions that are generally useful for application programming. HLA actually sup- ports some additional instructions that are useful for OS kernel developers; please see the HLA documentation for more details on those instructions. T able 1: 80x86 Integer and Contr ol Instruction Set Instruction Syntax Description aaa() ASCII Adjust after Addition. Adjusts v alue in AL after a decimal addition operation. aad() ASCII Adjust before Di vision. Adjusts tw o unpack ed v alues in AX prior to a decimal di vision. aam() ASCII Adjust AX after Multiplication. Adjusts the result in AX for a decimal mulit- ply . aas() ASCII Adjust AL after Subtraction. Adjusts the result in AL for a decimal subtraction. adc( imm, re g ); adc( imm, mem ); adc( re g, re g ); adc( re g, mem ); adc( mem, re g ); Add with carry . Adds the source operand plus the carry fl ag to the destination oper- and. AppendixD Page 1450 © 2001, By Randall Hyde Beta Draft - Do not distribute add( imm, re g ); add( imm, mem ); add( re g, re g ); add( re g, mem ); add( mem, re g ); Add. Adds the source operand to the destination operand. and( imm, re g ); and( imm, mem ); and( re g, re g ); and( re g, mem ); and( mem, re g ); Bitwise AND. Logically ANDs the source operand into the destination operand. Clears the carry and o v erfl o w fl ags and sets the sign and zero fl ags according to the result....
View Full Document

Page1 / 34

AppendixD - Appendix D: The 80x86 Instruction Set Beta...

This preview shows document pages 1 - 3. Sign up to view the full document.

View Full Document Right Arrow Icon
Ask a homework question - tutors are online