His Index Begins with Symbolic and Numeric Items, Listed In
Total Page:16
File Type:pdf, Size:1020Kb
027_evans_IX.fm Page 505 Monday, April 7, 2003 10:03 PM Index his index begins with symbolic and introducing an option (Unix/Linux), 53 Tnumeric items, listed in accordance subtraction operator, 63 with the ASCII character code ordering (see unary negation operator, 63 Table 2-3), followed by the A–Z items. character introducing a directive, 56 " " characters in symbols, 58 enclosing string data, 60 symbol for location counter, 62 enclosing string parameters, 470 / character # character (preprocessor), 201 division operator, 63 $ character double, for comment delimiter, 14, 56 beginning a system-defined macro, 56 examine command (adb), 72 in symbols, 58 @ character % character @gprel, 15 in format strings, 270 in floating-point class mnemonics, 247 in parameters for asm function, 482 in macros, 475 & character : character logical AND operator, 63 in adb commands, 72, 74 reference indicator (C language), 210 double, 55 () characters, clarifying precedence, 63 terminating a label, 55 * character ; character multiplication operator, 63 double, 15, 55 + character marking instruction dependencies, 55, addition operator, 63 138–140 unary positive operator, 63 = character for symbol definition, 59 , character, separating specifiers, 55 [] characters in register indirect addressing, 111 - character \ character 505 027_evans_IX.fm Page 506 Monday, April 7, 2003 10:03 PM 506 Index in macros, 467–470 Addresses in repeat blocks, 462–463 comparing as unsigned values, 129 ^ character for exclusive OR operator, 63 definition of, 27 _ character in symbols, 58 number of, 32–34 | character, logical OR operator, 63 symbolic, 56 ~ character, binary complement operator, 63 Addressing modes 0 prefix for octal, 58–59 autodecrement, 116, 190 0b prefix for hexadecimal, 58–59 autodecrement deferred, 118 0x prefix for binary, 59 autoincrement, 111, 116, 190 1620 computer, 3 autoincrement deferred, 117–118 360 computer, 1 base addressing, 117 4004 processor, 7 branch, 135–136 8008 processor, 7 direct, 110–111, 117 8080 processor, 7–8 displacement, 117 8085 processor, 7–8 displacement deferred, 118 8086 processor, 7–8, 26 immediate, 89, 110, 112 8088 processor, 8, 26 indirect, 111 80286 processor, 8 Itanium, 110–112 memory direct, 110–111 memory indirect, 111 A other architectures, 116–118 a access mode, 279 performance issues, 325 a flag, 473 postincrement, 101, 102, 111–112 -a option for requesting assembly listing file, 67 register direct, 89, 101–102, 110–112 A class of instruction, 86–88 register indirect, 101–102, 111–112, 116 a.out (C default output file), 180 register indirect deferred, 117 Absolute path (see Path) relative, 117 Absolute symbols (see Symbols) relative deferred, 117 Absolute value (floating-point), 239 for stacks (see Stacks) aCC command (HP compiler), 52, 343 Addressing range for branches, 135–136 Access mode, 279 addp4 instruction, 107 Accumulator register, 33 adds instruction, 88–89, 94 Accuracy (floating-point), 38 Advanced load (see Load types) acq completer, 388–390 -Ae option for HP-UX compilers, 53, 422 Actual parameters, 467–468 AINT function (FORTRAN), 249 Ada language as a 3GL, 3, 405 ALAT (advanced load address table), 308–309, adb debugger (Unix), 53, 70–71, 73–74 312 add instruction, 88–89, 94–96 .align directive, 57 Addition Alignment floating-point, 240 of floating-point data, 38, 40, 236–237 integer, 88–89 of integer data, 101–102 logical basis, 162–163 for pipeline efficiency, 298 addl instruction, 88–89, 94–96 alloc instruction, 179–180, 198–199, 313 Address space, 29 Allocation, storage (see Storage allocation) 027_evans_IX.fm Page 507 Monday, April 7, 2003 10:03 PM Index 507 Alpha architecture, 7, 9, 34, 84, 301 PA-RISC, 10–11, 34 Alphanumeric characters, 41–44 PDP-8 architecture, 23, 32 Altivec extensions (PowerPC), 407 PDP-11, 7, 9, 33–34, 83 .altrp directive, 212–213 Pentium, 35 ALU (see Arithmetic logic unit) of the piano, 2–3 Ampersand character (see & character) PowerPC, 296, 301 and compare type, 161 RISC, 6–7, 9–11, 84, 300–301, 340–341 and instruction, 157–158 SPARC, 197–198 AND logical function, 157 stack-based, 32–33 and.orcm compare type, 161 superscalar, 35, 295–296 andcm compare type, 161 three-address, 33 andcm instruction, 157–158 two-address, 33 ANSI/IEEE 754 (see IEEE floating-point numbers) UltraSparc, 384 Answers for selected exercises, 495–502 VAX, 7, 9, 33–34, 84 Antidependency, 298 VLIW, 296, 301 Application registers (see Registers) zero-address, 32–33 Approximation instructions Argument passing reciprocal, 253–254 for C, 210 reciprocal square root, 254–255 for COBOL, 210 APPROXPI program, 256–260 by descriptor, 209–210 ar.bsp register, 212 for FORTRAN, 210 ar.bspstore register, 212 locations, 208–209 ar.ccv register, 389 methods, 209–210 ar.csd register, 389–390 by reference, 209–210 ar.ec register, 313–316 by value, 209–210 ar.fpsr register, 212, 242–243 Argument return registers, 214, 451 ar.itc register, 480–482 Arguments for conditional assembly, 464–465 ar.lc register, 143–145, 212 Arguments for macros (see Macros) ar.pfs register, 180–181, 198–199, 212, 456 Aries (PA-RISC to Itanium migration), 34 ar.rnat register, 212 Arithmetic instructions ar.unat register, 212 as a category, 30 Architecture floating-point, 240–243 Alpha, 7, 9, 301 integer, 88–93 CISC, 6–7, 84 parallel floating-point, 385 CRAY-1, 378–379 parallel integer, 380 defined, 1 special cases, 91–92 EPIC, 6, 10–11, 301 Arithmetic logic unit, 156 extensions to, 393–394 Arithmetic overflow IA-16, IA-32, IA-64, 10 floating-point, 243 instruction-level parallelism, 300–301 integer, 89–90 Itanium, 9–11, 34–35 Arithmetic shift, 165 lifetime, 396 Arrays load/store, 33–34 record structures, 104–105 one-address, 33 shladd instruction for indexing, 91 027_evans_IX.fm Page 508 Monday, April 7, 2003 10:03 PM 508 Index AS/400, 34 Backside cache (see Cache) ASCII characters, 41–44 BACKWARD program, 181–183 ASCII codes, table of, 43 Banked registers (see Registers) .ascii directive, 60 Base addressing (see Addressing modes) ASCII file (see Text file) Base for number systems ASCII mode (ftp), 415 binary, 16 .asciz directive, 60 decimal, 16 _Asm functions (HP-UX C), 4, 479–481 hexadecimal, 16 asm keyword (C language), 4, 481–482 for machine language, 3 Assembler directives, 57, 60 octal, 16 Assemblers, 3, 49, 57, 66–67, 142 BASIC language as a 3GL, 3 Assembly language BBEdit, 427 advantages and disadvantages, 4, 49–50 BetterTelnet, 427 architectural dependence of, 4 Biased exponent, 37–41, 234–235 compared with other languages, 3–4 Bibliography, 485–493 for Itanium, 14–15 Big-endian convention, 36–37 lack of portability of, 50 bin subdirectory, 53, 416 operators, 56–57 Binary files, 288 statement types, 54–55 Binary mode (ftp), 416 why study, 4 Binary multiples Assembly process, 66–67 names for, 5 Asterisk character (see * character) prefixes for, 5 At character (see @ character) Binary operators, arithmetic and logical, 62–63 Atomic instructions, 386–390 Bit encoding of instructions, 93–96 Authors, 503 Bit-field layouts for instructions, 85–86 .auto directive, 460 Bits, numbering of, 36 Autodecrement addressing (see Addressing modes) .body directive, 57, 145, 180–181 Autodecrement deferred addressing (see Address- Boolean functions, 156–157 ing modes) Boolean operations Autoincrement addressing AND, 157 postincrementing as Itanium equivalent, 111 NAND, 157 for stacks, 190 NOR, 157 Autoincrement deferred addressing (see NOT, 92, 157 Addressing modes) NXOR, 157 Automatic registers (see Registers) OR, 157 Automatic variables, 191–192 XOR, 157 booth function, 215–216 B Booth’s algorithm for multiplication, 170–173 /b byte display mode (debuggers), 72 br instruction, 130–131 :b command (adb), 72 br.call instruction, 179–180, 205 b suffix, temporary labels, 142–143 br.cexit instruction, 315 B class of instruction, 86–88 br.cloop instruction, 143–145 B-unit, 87–88 br.ctop instruction, 315 Backing store, 199–200 br.ia instruction, 408 027_evans_IX.fm Page 509 Monday, April 7, 2003 10:03 PM Index 509 br.ret instruction, 179–180, 205 C br.wexit instruction, 315–316 /c display mode (debuggers), 72 br.wtop instruction, 315–316 :c command (adb), 72 Branch addressing, 135–136 .c file (see File types) Branch deallocation hint, 130–131 C language Branch instructions as a 3GL, 3 argument passing, 210 call, 205 compiler output, 345–349 completers, 130–131 library functions for I/O, 269, 278 conditional, 130–131 SQUARES program, 12–13 ordinary, 130–131 C++ language as a 4GL, 3 pipeline behavior, 298–299 Cache return, 205 backside, 99 unconditional, 130–131 hit ratio, 120–121, 325 Branch offset, IP-relative, 135–136 Itanium 2 processor, 98–100 Branch penalty Itanium processor, 399–400 in general, 131, 143 levels, 29, 98–100 Itanium 2 processor, 297 line size, 98–99 Itanium processor, 402 structures, 98–100, 399–400 Branch prediction, 299, 404 subsystem, 29, 98–100 call branch type, 130, 205 Branch prefetch hint, 130 Call to procedure, 205–207 Branch range, 135–136 Calling conventions, 203–214 Branch registers (see Registers) Caret character (see ^ character) Branch type, 130 Carriage return character, 415 Branch whether hint, 130 Carry bit, 162–163 break command (gdb), 71–73 Case sensitivity (Unix/Linux), 53 break statement (C language), 149 Case structures, 148–150 Breakpoints, 71–74 cat command (Unix/Linux), 416 brl instruction, 136, 405 cc command (HP compiler), 52, 343, 422 brp instruction, 404 cc_bundled command (HP compiler), 52, 343, brtype completer (branch instructions), 130 422 Bubble sort cd command (DOS, Unix/Linux), 416 integers (SORTINT),