⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 s01_03.htm

📁 Programmer s Reference Manual is an improtant book on Intel processor architecture and programming.
💻 HTM
字号:
<!DOCTYPE HTML PUBLIC "-//IETF//DTD HTML 2.0//EN"><HTML><HEAD><TITLE>80386 Programmer's Reference Manual -- Section 1.3</TITLE></HEAD><BODY><B>up:</B> <A HREF="c01.htm">Chapter 1 -- Introduction to the 80386</A><BR><B>prev:</B> <A HREF="s01_02.htm">1.2  Related Literature</A><BR><B>next:</B> <A HREF="c02.htm">Chapter 2 -- Basic Programming Model</A><P><HR><P><H1>1.3  Notational Conventions</H1>This manual uses special notations for data-structure formats, for symbolicrepresentation of instructions, for hexadecimal numbers, and for super- andsub-scripts. Subscript characters are surrounded by {curly brackets}, forexample 10{2} = 10 base 2. Superscript characters are preceeded by a caretand enclosed within (parentheses), for example 10^(3) = 10 to the thirdpower. A review of these notations will make it easier to read themanual.<H2>1.3.1  Data-Structure Formats</H2>In illustrations of data structures in memory, smaller addresses appear atthe lower-right part of the figure; addresses increase toward the left andupwards. Bit positions are numbered from right to left. <A HREF="#fig1-1">Figure 1-1</A> illustrates this convention.<H2>1.3.2  Undefined Bits and Software Compatibility</H2>In many register and memory layout descriptions, certain bits are marked asundefined. When bits are marked as undefined (as illustrated in <A HREF="#fig1-1">Figure 1-1</A>  ), it is essential for compatibility with future processors thatsoftware treat these bits as undefined. Software should follow theseguidelines in dealing with undefined bits:<UL><LI> Do not depend on the states of any undefined bits when testing thevalues of registers that contain such bits. Mask out the undefined bitsbefore testing.<LI> Do not depend on the states of any undefined bits when storing them inmemory or in another register.<LI> Do not depend on the ability to retain information written into anyundefined bits.<LI> When loading a register, always load the undefined bits as zeros orreload them with values previously stored from the same register.</UL><P><HR><P><EM><H3>Note</H3>Depending upon the values of undefined register bits will make softwaredependent upon the unspecified manner in which the 80386 handles thesebits. Depending upon undefined values risks making software incompatiblewith future processors that define usages for these bits. AVOID ANYSOFTWARE DEPENDENCE UPON THE STATE OF UNDEFINED 80386 REGISTER BITS.</EM><P><HR><P><A NAME="fig1-1"><IMG align=center SRC="fig1-1.gif" border=0><H2>1.3.3  Instruction Operands</H2>When instructions are represented symbolically, a subset of the 80386Assembly Language is used. In this subset, an instruction has the followingformat:<PRE>label: prefix mnemonic argument1, argument2, argument3</PRE>where:<UL><LI> A <TT>label</TT> is an identifier that is followed by a colon.<LI> A <TT>prefix</TT> is an optional reserved name for one of the instruction prefixes.<LI> A <TT>mnemonic</TT> is a reserved name for a class of instruction opcodes that have the same function.<LI> The operands <TT>argument1</TT>, <TT>argument2</TT>, and <TT>argument3</TT> are optional. Theremay be from zero to three operands, depending on the opcode.  Whenpresent, they take the form of either literals or identifiers for dataitems.  Operand identifiers are either reserved names of registers orare assumed to be assigned to data items declared in another part ofthe program (which may not be shown in the example). When two operandsare present in an instruction that modifies data, the right operand is</UL><P>the source and the left operand is the destination.For example:LOADREG: <A HREF="MOV.htm">MOV</A> EAX, SUBTOTALIn this example LOADREG is a label, <A HREF="MOV.htm">MOV</A> is the mnemonic identifier of anopcode, EAX is the destination operand, and SUBTOTAL is the source operand.<H2>1.3.4  Hexadecimal Numbers</H2>Base 16 numbers are represented by a string of hexadecimal digits followedby the character H.  A hexadecimal digit is a character from the set (0, 1,2, 3, 4, 5, 6, 7, 8, 9, A, B, C, D, E, F).  In some cases, especially inexamples of program syntax, a leading zero is added if the number wouldotherwise begin with one of the digits A-F.  For example, 0FH is equivalentto the decimal number 15.<H2>1.3.5  Sub- and Super-Scripts</H2>This manual uses special notation to represent sub- and super-scriptcharacters. Sub-script characters are surrounded by {curly brackets}, forexample 10{2} = 10 base 2. Super-script characters are preceeded by acaret and enclosed within (parentheses), for example 10^(3) = 10 to thethird power.<P><HR><P><B>up:</B> <A HREF="c01.htm">Chapter 1 -- Introduction to the 80386</A><BR><B>prev:</B> <A HREF="s01_02.htm">1.2  Related Literature</A><BR><B>next:</B> <A HREF="c02.htm">Chapter 2 -- Basic Programming Model</A></BODY>

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -