Àâòîðèçàöèÿ
Ïîèñê ïî óêàçàòåëÿì
Irvine K.R. — Assembly Language for Intel-Based Computers
Îáñóäèòå êíèãó íà íàó÷íîì ôîðóìå
Íàøëè îïå÷àòêó? Âûäåëèòå åå ìûøêîé è íàæìèòå Ctrl+Enter
Íàçâàíèå: Assembly Language for Intel-Based Computers
Àâòîð: Irvine K.R.
Àííîòàöèÿ: his text is designed for students and professionals interested in learning the basics of operating systems, architecture, and programming in the context of a microprocessor. In his eagerly anticipated fourth edition, Kip Irvine concentrates on the combined Windows/MS-DOS operating system and thoroughly covers 32-bit assembly language applications for Intel-based computers.
Focusing on how to approach programming problems with a machine-level mindset, Assembly Language for Intel(r)-Based Computers includes the following features:
* Detailed tutorials on numbering systems and data storage fundamentals.
* All programs tested with the Microsoft(r) MASM 6.15(tm) assembler.
* Inline assembly code, as well as linking assembly language to C/C++ in both Real and Protected modes.
* Extensive instruction set reference that includes instruction formats and CPU flag usage.
* Interrupt vectoring and device I/O.
* CD-ROM that includes the full professional version of the Microsoft(r) MASM 6.15(tm) Assembly Language Development System, a programmer's editor, a macro library, and the book's source code.
* New to the fourth edition: Win32 programming, including the console API and a graphical application.
* Expanded coverage of procedures, recursion, stack parameters, structures, and unions.
* Boolean expressions, truth tables, and flowcharts.
* Basic string handling, sorting and searching algorithms.
* Bit-mapped graphics in both Real and Protected modes.
* IEEE floating-point binary representation.
* Virtual machine architecture; IA-32 Protected mode segmentation and paging.
* Introductory explanations of the instruction execution cycle,memory I/O, multitasking, pipelining, and superscalar architecture.
* Disk fundamentals, including disk geometry, FAT32 and NTFS file structures.
ßçûê:
Ðóáðèêà: Computer science /
Ñòàòóñ ïðåäìåòíîãî óêàçàòåëÿ: Ãîòîâ óêàçàòåëü ñ íîìåðàìè ñòðàíèö
ed2k: ed2k stats
Èçäàíèå: 4th edition
Ãîä èçäàíèÿ: 2003
Êîëè÷åñòâî ñòðàíèö: 708
Äîáàâëåíà â êàòàëîã: 15.11.2009
Îïåðàöèè: Ïîëîæèòü íà ïîëêó |
Ñêîïèðîâàòü ññûëêó äëÿ ôîðóìà | Ñêîïèðîâàòü ID
Ïðåäìåòíûé óêàçàòåëü
.ELSE directive 217—218
.ELSEIF directive 217
.ENDIF directive 217
.IF directive 217—223
.WHILE directive 222—223
16-bit MS-DOS programming 457—493
16-bit Parity, XOR instruction 185
16-bit programs, assembling and linking 78
16-bit real-address mode 3 614—615
16-bit registers 124
16-bit starting cluster number field 506
16550 UART (Universal Asynchronous Receiver Transmitter) 57
20-bit linear address calculation 49—50
32-bit programs, assembling and linking 78
32-bit protected mode 3
32-bit protected mode, assembling and linking programs 612—614
32-bit Windows programming 379—430
AAA (ASCII adjust after addition) 252 619
AAD (ASCII adjust before division) 253—254 619
AAM (ASCII adjust after multiplication) 253 619
AAS (ASCII adjust after subtraction) 253 619
Absolute address 49—50
Access Levels 382
Access three levels 537
Activation record 275
ADC (add with carry) 620
ADC instruction 248
ADD (add) 70 620
ADD example 73
Addition and subtraction 107—114
Addition and subtraction example program 113—114
Addition and subtraction flags 110—113
Addition and subtraction implementing arithmetic expressions 109—110
Addition and subtraction INC and DEC instructions 107—108
Addition and subtraction instructions 108—109
Addition and subtraction NEG instruction 109
Addition and subtraction, binary 15
Additive inverse 19
ADDR operator 265—266
Address 48—50
Address bus 33
address space 41
AddSub program 74
AddSub program, adding variables to 87
AddSub program, alternative version 74—75
AddThree procedure 285
AddTwo procedure 278—280
Advanced procedures 259—299
ALIGN directive 116
Align, align type 587
Align, segment syntax 586
Allocate adequate stack space 262—263
American Standard Code for Information Interchange (ASCII) 21
AND (logical AND) instruction 181—183 620
Application Programming Interface (API) 380
archive bit 507
Arguments 155 164
Arguments initializers, default 360
Arguments types, INVOKE 264—265
Arguments, C++programs 439
Arguments, checking for missing 359—360
Arithmetic expression implement 245—247
Arithmetic logic unit (ALU) 32
arithmetic operators 65
Arithmetic shifts vs. logical shifts 229
Arithmetic status flags DIV and IDIV 243—244
Array multiplication example 308—309
Array of doubleword values 84—85
Array of word values 84
Array size, maximum number of comparisons 322
ArrayFill Example 281—282
Arrays of structures 336
Arrays, calculating the sizes 90—91
Arrays, indirect addressing 120—121
Arrays, time 319—320
Arrays, two-dimensional 315—318
ArraySum procedure 172 268 432
ArraySum procedure, flowchart 166—167
ArraySum program 291—296
ASCII and packed decimal arithmetic 251—254
ASCII control characters 464—465
ASCII digit string 22
ASCII strings 22
ASCII table 23
ASCII, decimal 251—252
ASM code generation, Visual C++ command-line options 448
Assemble-link-execute cycle 77—78
Assembler 2 3—4
Assembler, installing and using 611—615
Assembling and linking batch file 295—296
Assembly language 11 63—96
Assembly language Optimize C++ code 448—455
Assembly Language Sources 380
Assembly language vs. C++ 5
Assembly language vs. Java 5
Assembly language vs. machine language 5
Assembly language, access levels 59
Assembly language, applications 7—8
Assembly language, assembling. linking, and running programs 77—80
Assembly language, basic elements 64—72
Assembly language, defining data 80—88
Assembly language, example 72—77
Assembly language, high-level languages comparison 7—8
Assembly language, real-address mode programming 93—95
Assembly language, rules 7
Assembly language, symbolic constants 89—93
ASSUME directive 588
Attribute byte 540
Attribute byte constructing 541
Automatic code generation 261—262
Auxiliary carry flag 44
Average seek time 497
Background color (attribute) 538—539
Base address field 51 425
Base-index displacement 317—318
Base-index operands 315—317
Batch files, assembling and linking 295—296
Batch files, commands 613 614—615
Big endian order 86
Binary addition 15
Binary bit position values 14
Binary equivalents 17
Binary file creating 487—491
Binary multiplication 237
Binary numbers 13—15 22
Binary search 321—328
Binary search, test program 324—328
BIOS (Basic Input-Output System) 54 58 59—60 458 649—659
BIOS DATA AREA 528—529
BIOS data area, segment 0040h 528—529
BIOS level access 537—538
BIOS level programming 527—582
Bit extraction 182
Bit string isolating 238—239
Bit testing instructions 198—199
bits 13—14
Blinking attribute 539 540—541
Block-structured IF statements 202—204
Boolean algebra 25—26
Boolean and comparison instructions, conditional processing 180—189
Boolean expressions 26—27
Boolean expressions, relational operators 360
Boolean function 27—29
Boolean operations, AND operation 26—27
Boolean operations, NOT operation 26
Boolean operations, OR operation 27
Borland C++ data types in 16-bit applications 441
Borland C++ linking 440—441
BOUND (check array bounds) instruction 621
Break_handler procedure 603
BSF (bit scan forward) 621
BSR (bit scan reverse) 621
BSWAP (byte swap) 621
BT (bit test) instruction 198—199 622
BTC (bit test and complement) instruction 199 622
BTR (bit test and reset) instruction 199 622
BTS (bit test and set) instruction 199 622
Bubble sort 319—321
Bubble sort, test program 324—328
Bus 33
Bus Interface Unit (BIU) 35
BYTE align type 587
Byte, defining byte data 81—83
Byte, storage sizes 16
C Specifier 278
C++ vs. assembly language 5
C++, linking to 439—455
Cache memory 37
CalcSum program 286—288
CalcSum program, stack frame 287
Calculating 16-bit sum 317
Calculating a factorial 288—290
CALL (call procedure) instruction 74 161—164 622
Calling ArraySum 165
Calling convention 432
Capitalization, approaches to 74
Carry flag (CF) 44 110—111
Carry flag (CF), boolean and comparison instructions 180—189
Carry flag (CF), recovering a bit from the Carry flag 233
Cartesian Coordinates, converting to screen coordinates 562—563
Cartesian Coordinates, demonstration program 559—562
CBW (convert byte to word) instruction 243 622
CDQ (convert doubleword to quadword (IA-32)) 623
CDQ instruction 243
Central processor unit (CPU) 32—35
Central processor unit (CPU) flags 181
Central processor unit (CPU) flags, Carry flag 110—111
Central processor unit (CPU) flags, Overflow flag 111—112
Central processor unit (CPU) flags, setting and clearing 188
Characters, character constants 67
Characters, character storage 21—23
Characters, converting characters to upper case 182—183
Characters, converting to pixel coordinates 571
Characters, scan for matching characters 307
Characters, string example 212—213
Check keyboard buffer (11h) 533
Checksum 597
Chipset 54—55
Cipher text 195
class type 588
CLC (clear carry flag) instruction 232—233 623
CLD (clear direction flag) instruction 623
ClearKeyboard procedure 535—536
CLI (clear interrupt flag) instruction 601 623
clock 33
Clock cycle 33—37
Clock Generator 54
Close file handle (3Eh) 479—480
CloseHandle function 395
Clrscr procedure 141 554—555
Clusters 500—501
CMC (complement carry flag) instruction 624
CMOS RAM 56
CMP (compare) instruction 186—187 624
CMPS (compare strings) instruction 305 329 624
CMPSB (compare bytes) instruction 304—307 624
CMPSD (compare doublewords) instruction 304—305 624
CMPSW (compare words) instruction 304—305 624
CMPXCHG (compare and exchange) instruction 625
Code directive example 73—74
Code labels 69—70
Code optimization 452
Code Prefetch Unit 35
Code segment 74 584—586
CodeView command-line options 668—669
CodeView debugger 668—669
Color controlling 539—541
Color displaying a color string 552—554
Color indexes (Mode 13h) 563—565
COM programs 593—595
Combine type 587—588
Combining segments 590—591
Command processor 458
Command tail, MS-DOS 485—487
Comments 71 76
Comparing two strings 306—307
Complex Instruction Set (CISC) 46—47
Compound expressions 204—205 220—221
conditional processing 179—226
Conditional processing, .IF directive 217—223
Conditional processing, application 211—217
Conditional processing, Boolean and comparison instructions 180—189
Conditional processing, finite-state machines 211—217
Conditional processing, jumps 189—200 629—630
Conditional processing, loop instructions 200—202
Conditional processing, structures 202—211
Conditional transfer 127
Conditional-assembly directives 358—370
Console definition 140
Console functions 384—386
Console handles 383—384
Console input 386—389
Console output 389—392
Console window manipulation 398—402
Control bus 33
Control flags 44
Control unit (CU) 32
Conventional machine language 10
COORD structure 334
Copying a doubleword array 304
Copying a string 130—131
Create or open file (716Ch) 478—479
Create subdirectory (39h) 521
CreateFile function 392—395
Creating local variables 282—283
Creating multimodule programs 290—296
Crlf procedure 141
Ctrl-Break Handler example 602—604
Current location counter 60—91
Cursor controlling 402—403
Cursor showing and hiding 545—546
Custom interrupt handler 601—604
CWD (convert word to doubleword) instruction 243 625
Cylinders (disk) 496—497
DAA (decimal adjust after addition) instruction 254 625
DAS (decimal adjust after subtraction) instruction 254 625
Data area (BIOS) 458
Data bus 33
Data definition statement 81
data labels 70
Data representation 12—25
Data segment 74
Data transfer 98—107
Data transfer, direct memory operands 99—100
Data transfer, direct-offset operands 104—105
Data transfer, example program 105—106
Data transfer, LAHF and SAHF instructions 103
Data transfer, MOV instruction 100—101
Data transfer, operand types 98—99
Data transfer, XCHG instruction 104
Data transfer, zero/sign extension of integers 101—103
Data-related operators and directives 115—120
Date stamp field 507
Date/time function 472—476
DB directive 82
Debugging protected mode programs 612
Debugging tip 168
Debugging, Borland C++ 441
DEC (decrement) instruction 107—108 626
Decimal arithmetic 251—254
Ðåêëàìà