📄 content.htm
字号:
4.9.5.7.9 The Output Command <BR>4.9.5.7.10 The Quit Command <BR>4.9.5.7.11 The Register Command <BR>4.9.5.7.12 The Unassemble Command <BR>4.9.5.8 CodeView Function Keys <BR>4.9.5.9 Some Comments on CodeView Addresses <BR>4.9.5.10 A Wrap on CodeView <BR>4.9.6 Laboratory Tasks <BR>4.10 Programming Projects <BR>4.11 Summary <BR>4.12 Questions <BR><A NAME="HEADING1-171"></A><HR><H2>Section Two: Basic Assembly Language </H2><HR><A NAME="HEADING1-172"></A><HR><DL><DT><A HREF="CH05/CH05-1.html"><B>Chapter Five </B>- Variablesand Data Structures</A> <DT><A HREF="CH05/CH05-1.html#HEADING1-2"><B>5.0 </B>- Chapter Overview</A><DT><A HREF="CH05/CH05-1.html#HEADING1-4"><B>5.1 </B>- Some Additional Instructions:LEA, LES, ADD, and MUL</A> <DT><A HREF="CH05/CH05-1.html#HEADING1-28"><B>5.2 </B>- Declaring Variablesin an Assembly Language Program</A> <DT><A HREF="CH05/CH05-1.html#HEADING1-61"><B>5.3 </B>- Declaring and AccessingScalar Variables</A> <DT><A HREF="CH05/CH05-1.html#HEADING1-79"><B>5.3.1 </B>- Declaring andusing BYTE Variables</A> <DT><A HREF="CH05/CH05-1.html#HEADING1-138"><B>5.3.2 </B>- Declaring andusing WORD Variables</A> <DT><A HREF="CH05/CH05-1.html#HEADING1-151"><B>5.3.3 </B>- Declaring andusing DWORD Variables </A><DT><A HREF="CH05/CH05-1.html#HEADING1-163"><B>5.3.4 </B>- Declaring andusing FWORD, QWORD, and TBYTE Variables</A> <DT><A HREF="CH05/CH05-1.html#HEADING1-168"><B>5.3.5 </B>- Declaring FloatingPoint Variables with REAL4, REAL8, and REAL10</A> <DT><A HREF="CH05/CH05-1.html#HEADING1-180"><B>5.4 </B>- Creating Your OwnType Names with TYPEDEF</A> <DT><A HREF="CH05/CH05-1.html#HEADING1-197"><B>5.5 </B>- Pointer Data Types</A><DT><A HREF="CH05/CH05-2.html#HEADING2-1"><B>5.6 </B>- Composite Data Types</A><DT><A HREF="CH05/CH05-2.html#HEADING2-4"><B>5.6.1 </B>- Arrays</A> <DT><A HREF="CH05/CH05-2.html#HEADING2-16"><B>5.6.1.1 </B>- Declaring Arraysin Your Data Segment</A> <DT><A HREF="CH05/CH05-2.html#HEADING2-55"><B>5.6.1.2 </B>- Accessing Elementsof a Single Dimension Array</A> <DT><A HREF="CH05/CH05-2.html#HEADING2-97"><B>5.6.2 </B>- MultidimensionalArrays</A> <DT><A HREF="CH05/CH05-2.html#HEADING2-105"><B>5.6.2.1 </B>- Row Major Ordering</A><DT><A HREF="CH05/CH05-2.html#HEADING2-200"><B>5.6.2.2 </B>- Column MajorOrdering</A> <DT><A HREF="CH05/CH05-2.html#HEADING2-224"><B>5.6.2.3 </B>- AllocatingStorage for Multidimensional Arrays</A> <DT><A HREF="CH05/CH05-2.html#HEADING2-250"><B>5.6.2.4 </B>- Accessing MultidimensionalArray Elements in Assembly Language</A> <DT><A HREF="CH05/CH05-3.html#HEADING3-1"><B>5.6.3 </B>- Structures</A><DT><A HREF="CH05/CH05-3.html#HEADING3-59"><B>5.6.4 </B>- Arrays of Structuresand Arrays/Structures as Structure Fields</A> <DT><A HREF="CH05/CH05-3.html#HEADING3-109"><B>5.6.5 </B>- Pointers to Structures</A><DT><A HREF="CH05/CH05-4.html#HEADING4-1"><B>5.7 </B>- Sample Programs</A><DT><A HREF="CH05/CH05-4.html#HEADING4-3"><B>5.7.1 </B>- Simple VariableDeclarations</A> <DT><A HREF="CH05/CH05-4.html#HEADING4-115"><B>5.7.2 </B>- Using PointerVariables</A> <DT><A HREF="CH05/CH05-4.html#HEADING4-225"><B>5.7.3 </B>- Single DimensionArray Access</A> <DT><A HREF="CH05/CH05-4.html#HEADING4-343"><B>5.7.4 </B>- MultidimensionalArray Access</A> <DT><A HREF="CH05/CH05-4.html#HEADING4-465"><B>5.7.5 </B>- Simple StructureAccess</A> <DT><A HREF="CH05/CH05-4.html#HEADING4-556"><B>5.7.6 </B>- Arrays of Structures</A><DT><A HREF="CH05/CH05-4.html#HEADING4-685"><B>5.7.7 </B>- Structures andArrays as Fields of Another Structure</A> <DT><A HREF="CH05/CH05-4.html#HEADING4-813"><B>5.7.8 </B>- Pointers to Structuresand Arrays of Structure</A> </DL><BR>5.8 Laboratory Exercises <BR>5.9 Programming Projects <BR>5.10 Summary <BR>5.11 Questions <BR><BR><A NAME="HEADING1-210"></A><HR><DL><DT><A HREF="CH06/CH06-1.html"><B>Chapter Six </B>- The 80x86Instruction Set</A> <DT><A HREF="CH06/CH06-1.html#HEADING1-3"><B>6.0 </B>- Chapter Overview</A><DT><A HREF="CH06/CH06-1.html#HEADING1-27"><B>6.1 </B>- The Processor StatusRegister (Flags)</A> <DT><A HREF="CH06/CH06-1.html#HEADING1-49"><B>6.2 </B>- Instruction Encodings</A><DT><A HREF="CH06/CH06-1.html#HEADING1-52"><B>6.3 </B>- Data Movement Instructions</A><DT><A HREF="CH06/CH06-1.html#HEADING1-54"><B>6.3.1 </B>- The MOV Instruction</A><DT><A HREF="CH06/CH06-1.html#HEADING1-85"><B>6.3.2 </B>- The XCHG Instruction</A><DT><A HREF="CH06/CH06-1.html#HEADING1-102"><B>6.3.3 </B>- The LDS, LES,LFS, LGS, and LSS Instructions</A> <DT><A HREF="CH06/CH06-1.html#HEADING1-136"><B>6.3.4 </B>- The LEA Instruction</A><DT><A HREF="CH06/CH06-1.html#HEADING1-160"><B>6.3.5 </B>- The PUSH andPOP Instructions</A> <DT><A HREF="CH06/CH06-1.html#HEADING1-219"><B>6.3.6 </B>- The LAHF andSAHF Instructions</A> <DT><A HREF="CH06/CH06-1.html#HEADING1-226"><B>6.4 </B>- Conversions</A><DT><A HREF="CH06/CH06-1.html#HEADING1-236"><B>6.4.1 </B>- The MOVZX, MOVSX,CBW, CWD, CWDE, and CDQ Instructions</A> <DT><A HREF="CH06/CH06-1.html#HEADING1-291"><B>6.4.2 </B>- The BSWAP Instruction</A><DT><A HREF="CH06/CH06-1.html#HEADING1-319"><B>6.4.3 </B>- The XLAT Instruction</A><DT><A HREF="CH06/CH06-2.html#HEADING2-1"><B>6.5 </B>- Arithmetic Instructions</A><DT><A HREF="CH06/CH06-2.html#HEADING2-28"><B>6.5.1 </B>- The Addition Instructions:ADD, ADC, INC, XADD, AAA, and DAA</A> <DT><A HREF="CH06/CH06-2.html#HEADING2-48"><B>6.5.1.1 </B>- The ADD andADC Instructions</A> <DT><A HREF="CH06/CH06-2.html#HEADING2-117"><B>6.5.1.2 </B>- The INC Instruction</A><DT><A HREF="CH06/CH06-2.html#HEADING2-123"><B>6.5.1.3 </B>- The XADD Instruction</A><DT><A HREF="CH06/CH06-2.html#HEADING2-133"><B>6.5.1.4 </B>- The AAA andDAA Instructions</A> <DT><A HREF="CH06/CH06-2.html#HEADING2-171"><B>6.5.2 </B>- The SubtractionInstructions: SUB, SBB, DEC, AAS, and DAS</A> <DT><A HREF="CH06/CH06-2.html#HEADING2-244"><B>6.5.3 </B>- The CMP Instruction</A><DT><A HREF="CH06/CH06-2.html#HEADING2-286"><B>6.5.4 </B>- The CMPXCHG,and CMPXCHG8B Instructions</A> <DT><A HREF="CH06/CH06-2.html#HEADING2-313"><B>6.5.5 </B>- The NEG Instruction</A><DT><A HREF="CH06/CH06-2.html#HEADING2-337"><B>6.5.6 </B>- The MultiplicationInstructions: MUL, IMUL, and AAM</A> <DT><A HREF="CH06/CH06-2.html#HEADING2-451"><B>6.5.7 </B>- The DivisionInstructions: DIV, IDIV, and AAD</A> <DT><A HREF="CH06/CH06-3.html#HEADING3-1"><B>6.6 </B>- Logical, Shift, Rotateand Bit Instructions</A> <DT><A HREF="CH06/CH06-3.html#HEADING3-4"><B>6.6.1 </B>- The Logical Instructions:AND, OR, XOR, and NOT</A> <DT><A HREF="CH06/CH06-3.html#HEADING3-42"><B>6.6.2 </B>- The Shift Instructions:SHL/SAL, SHR, SAR, SHLD, and SHRD</A> <DT><A HREF="CH06/CH06-3.html#HEADING3-82"><B>6.6.2.1 </B>- SHL/SAL</A><DT><A HREF="CH06/CH06-3.html#HEADING3-120"><B>6.6.2.2 </B>- SAR</A> <DT><A HREF="CH06/CH06-3.html#HEADING3-174"><B>6.6.2.3 </B>- SHR</A> <DT><A HREF="CH06/CH06-3.html#HEADING3-208"><B>6.6.2.4 </B>- The SHLD andSHRD Instructions</A> <DT><A HREF="CH06/CH06-3.html#HEADING3-253"><B>6.6.3 </B>- The Rotate Instructions:RCL, RCR, ROL, and ROR</A> <DT><A HREF="CH06/CH06-3.html#HEADING3-273"><B>6.6.3.1 </B>- RCL</A> <DT><A HREF="CH06/CH06-3.html#HEADING3-284"><B>6.6.3.2 </B>- RCR</A> <DT><A HREF="CH06/CH06-3.html#HEADING3-294"><B>6.6.3.3 </B>- ROL</A> <DT><A HREF="CH06/CH06-3.html#HEADING3-306"><B>6.6.3.4 </B>- ROR</A> <DT><A HREF="CH06/CH06-4.html#HEADING4-1"><B>6.6.4 </B>- The Bit Operations</A><DT><A HREF="CH06/CH06-4.html#HEADING4-39"><B>6.6.4.1 </B>- TEST</A> <DT><A HREF="CH06/CH06-4.html#HEADING4-55"><B>6.6.4.2 </B>- The Bit TestInstructions: BT, BTS, BTR, and BTC</A> <DT><A HREF="CH06/CH06-4.html#HEADING4-67"><B>6.6.4.3 </B>- Bit Scanning:BSF and BSR</A> <DT><A HREF="CH06/CH06-4.html#HEADING4-74"><B>6.6.5 </B>- The "Seton Condition" Instructions</A> <DT><A HREF="CH06/CH06-4.html#HEADING4-144"><B>6.7 </B>- I/O Instructions</A><DT><A HREF="CH06/CH06-4.html#HEADING4-162"><B>6.8 </B>- String Instructions</A><DT><A HREF="CH06/CH06-5.html#HEADING5-1"><B>6.9 </B>- Program Flow ControlInstructions</A> <DT><A HREF="CH06/CH06-5.html#HEADING5-3"><B>6.9.1 </B>- Unconditional Jumps</A><DT><A HREF="CH06/CH06-5.html#HEADING5-98"><B>6.9.2 </B>- The CALL and RETInstructions</A> <DT><A HREF="CH06/CH06-5.html#HEADING5-171"><B>6.9.3 </B>- The INT, INTO,BOUND, and IRET Instructions</A> <DT><A HREF="CH06/CH06-5.html#HEADING5-226"><B>6.9.4 </B>- The ConditionalJump Instructions</A> <DT><A HREF="CH06/CH06-5.html#HEADING5-282"><B>6.9.5 </B>- The JCXZ/JECXZInstructions</A> <DT><A HREF="CH06/CH06-5.html#HEADING5-294"><B>6.9.6 </B>- The LOOP Instruction</A><DT><A HREF="CH06/CH06-5.html#HEADING5-312"><B>6.9.7 </B>- The LOOPE/LOOPZInstruction</A> <DT><A HREF="CH06/CH06-5.html#HEADING5-335"><B>6.9.8 </B>- The LOOPNE/LOOPNZInstruction</A> <DT><A HREF="CH06/CH06-5.html#HEADING5-372"><B>6.10 </B>- MiscellaneousInstructions</A> <DT><A HREF="CH06/CH06-6.html#HEADING6-1"><B>6.11 </B>- Sample Programs</A><DT><A HREF="CH06/CH06-6.html#HEADING6-3"><B>6.11.1 </B>- Simple ArithmeticI</A> <DT><A HREF="CH06/CH06-6.html#HEADING6-108"><B>6.11.2 </B>- Simple ArithmeticII</A> <DT><A HREF="CH06/CH06-6.html#HEADING6-228"><B>6.11.3 </B>- Logical Operations</A><DT><A HREF="CH06/CH06-6.html#HEADING6-329"><B>6.11.4 </B>- Shift and RotateOperations</A> <DT><A HREF="CH06/CH06-6.html#HEADING6-447"><B>6.11.5 </B>- Bit Operationsand SETcc Instructions</A> <DT><A HREF="CH06/CH06-6.html#HEADING6-579"><B>6.11.6 </B>- String Operations</A><DT><A HREF="CH06/CH06-6.html#HEADING6-697"><B>6.11.7 </B>- ConditionalJumps</A> <DT><A HREF="CH06/CH06-6.html#HEADING6-816"><B>6.11.8 </B>- CALL and INTInstructions</A> <DT><A HREF="CH06/CH06-6.html#HEADING6-914"><B>6.11.9 </B>- ConditionalJumps I</A> <DT><A HREF="CH06/CH06-6.html#HEADING6-1026"><B>6.11.10 </B>- ConditionalJump Instructions II</A> </DL><BR>6.12 Laboratory Exercises <BR>6.12.1 The IBM/L System <BR>6.12.2 IBM/L Exercises <BR>6.13 Programming Projects <BR>6.14 Summary <BR>6.15 Questions <BR><BR><A NAME="HEADING1-284"></A><HR><DL><DT><A HREF="CH07/CH07-1.html"><B>Chapter Seven </B>- The UCRStandard Library</A> <DT><A HREF="CH07/CH07-1.html#HEADING1-2"><B>7.0 </B>- Chapter Overview</A><DT><A HREF="CH07/CH07-1.html#HEADING1-10"><B>7.1 </B>- An Introductionto the UCR Standard Library</A> <DT><A HREF="CH07/CH07-1.html#HEADING1-17"><B>7.1.1 </B>- Memory ManagementRoutines: MEMINIT, MALLOC, and FREE</A> <DT><A HREF="CH07/CH07-1.html#HEADING1-33"><B>7.1.2 </B>- The Standard InputRoutines: GETC, GETS, GETSM</A> <DT><A HREF="CH07/CH07-1.html#HEADING1-91"><B>7.1.3 </B>- The Standard OutputRoutines: PUTC, PUTCR, PUTS, PUTH, PUTI, PRINT, and PRINTF</A> <DT><A HREF="CH07/CH07-1.html#HEADING1-221"><B>7.1.4 </B>- Formatted OutputRoutines: Putisize, Putusize, Putlsize, and Putulsize</A> <DT><A HREF="CH07/CH07-1.html#HEADING1-224"><B>7.1.5 </B>- Output FieldSize Routines: Isize, Usize, and Lsize</A> <DT><A HREF="CH07/CH07-1.html#HEADING1-227"><B>7.1.6 </B>- Conversion Routines:ATOx, and xTOA</A> <DT><A HREF="CH07/CH07-1.html#HEADING1-287"><B>7.1.7 </B>- Routines thatTest Characters for Set Membership</A> <DT><A HREF="CH07/CH07-1.html#HEADING1-295"><B>7.1.8 </B>- Character ConversionRoutines: ToUpper, ToLower</A> <DT><A HREF="CH07/CH07-1.html#HEADING1-299"><B>7.1.9 </B>- Random NumberGeneration: Random, Randomize</A> <DT><A HREF="CH07/CH07-1.html#HEADING1-312"><B>7.1.10 </B>- Constants, Macros,and other Miscellany</A> <DT><A HREF="CH07/CH07-1.html#HEADING1-347"><B>7.1.11 </B>- Plus more!</A><DT><A HREF="CH07/CH07-2.html#HEADING2-1"><B>7.2 </B>- Sample Programs</A><DT><A HREF="CH07/CH07-2.html#HEADING2-3"><B>7.2.1 </B>- Stripped SHELL.ASMFile</A> <DT><A HREF="CH07/CH07-2.html#HEADING2-54"><B>7.2.2 </B>- Numeric I/O</A></DL><BR>7.3 Laboratory Exercises <BR>7.3.1 Obtaining the UCR Standard Library <BR>7.3.2 Unpacking the Standard Library <BR>7.3.3 Using the Standard Library <BR>7.3.4 The Standard Library Documentation Files <BR>7.4 Programming Projects <BR>7.5 Summary <BR>7.6 Questions <BR><BR><A NAME="HEADING1-310"></A><HR><DL><DT><A HREF="CH08/CH08-1.html"<B>Chapter Eight </B>- MASM: Directives& Pseudo-Opcodes</A> <DT><A HREF="CH08/CH08-1.html#HEADING1-4"><B>8.0 </B>- Chapter Overview</A><DT><A HREF="CH08/CH08-1.html#HEADING1-19"><B>8.1 </B>- Assembly LanguageStatements</A> <DT><A HREF="CH08/CH08-1.html#HEADING1-58"><B>8.2 </B>- The Location Counter</A><DT><A HREF="CH08/CH08-1.html#HEADING1-74"><B>8.3 </B>- Symbols</A> <DT><A HREF="CH08/CH08-1.html#HEADING1-148"><B>8.4 </B>- Literal Constants</A><DT><A HREF="CH08/CH08-1.html#HEADING1-160"><B>8.4.1 </B>- Integer Constants</A><DT><A HREF="CH08/CH08-1.html#HEADING1-175"><B>8.4.2 </B>- String Constants</A><DT><A HREF="CH08/CH08-1.html#HEADING1-193"><B>8.4.3 </B>- Real Constants</A><DT><A HREF="CH08/CH08-1.html#HEADING1-202"><B>8.4.4 </B>- Text Constants</A><DT><A HREF="CH08/CH08-1.html#HEADING1-206"><B>8.5 </B>- Declaring ManifestConstants Using Equates</A> <DT><A HREF="CH08/CH08-1.html#HEADING1-285"><B>8.6 </B>- Processor Directives</A>
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -