GO TO
Assembly Language for Intel®-Based Computers, Fifth Edition
by
Kip R. Irvine - Florida International University
Publisher: Prentice Hall
Publishing Date: 2006/06/16
eText ISBN-10
0-13-223811-X
eText ISBN-13
978-0-13-223811-3
Print ISBN-10
0-13-238310-1
Print ISBN-13
978-0-13-238310-3
« Back to My CourseSmart
Assembly Language for Intel®-Based Computers, Fifth Edition
by
Kip R. Irvine - Florida International University
eTextbook $64.50
(180 day subscription)
Compare Online & Downloadable
Copyright, ii
Preface, xix
1. Basic Concepts, 1
2. IA-32 Processor Archit...
3. Assembly Language Fund...
4. Data Transfers, Addres...
5. Procedures, 111
6. Conditional Processing...
7. Integer Arithmetic, 19...
8. Advanced Procedures, 2...
9. Strings and Arrays, 26...
10. Structures and Macros...
11. MS-Windows Programmin...
12. High-Level Language I...
13. 16-Bit MS-DOS Program...
14. Disk Fundamentals, 46...
15. BIOS-Level Programmin...
16. Expert MS-DOS Program...
17. Floating-Point Proces...
A. MASM Reference, 600
B. The IA-32 Instruction ...
C. BIOS and MS-DOS Interr...
D. Answers to Review Ques...
Inside Back Cover, Inside...
Table of Contents
Copyright, ii
Preface, xix
1. Basic Concepts, 1
1.1. Welcome to Assembly Language, 1
1.2. Virtual Machine Concept, 7
1.3. Data Representation, 9
1.4. Boolean Operations, 20
1.5. Chapter Summary, 23
End Notes, 24
2. IA-32 Processor Architecture, 25
2.1. General Concepts, 25
2.2. IA-32 Processor Architecture, 33
2.3. IA-32 Memory Management, 39
2.4. Components of an IA-32 Microcomputer, 43
2.5. Input-Output System, 46
2.6. Chapter Summary, 49
End Note, 50
3. Assembly Language Fundamentals, 51
3.1. Basic Elements of Assembly Language, 51
3.2. Example: Adding Three Integers, 58
3.3. Assembling, Linking, and Running Programs, 62
3.4. Defining Data, 64
3.5. Symbolic Constants, 72
3.6. Real-Address Mode Programming (Optional), 75
3.7. Chapter Summary, 76
3.8. Programming Exercises, 77
4. Data Transfers, Addressing, and Arithmetic, 79
4.1. Data Transfer Instructions, 79
4.2. Addition and Subtraction, 87
4.3. Data-Related Operators and Directives, 94
4.4. Indirect Addressing, 99
4.5. JMP and LOOP Instructions, 104
4.6. Chapter Summary, 108
4.7. Programming Exercises, 109
5. Procedures, 111
5.1. Introduction, 111
5.2. Linking to an External Library, 111
5.3. The Book’s Link Library, 113
5.4. Stack Operations, 129
5.5. Defining and Using Procedures, 134
5.6. Program Design Using Procedures, 143
5.7. Chapter Summary, 147
5.8. Programming Exercises, 148
End Notes, 149
6. Conditional Processing, 150
6.1. Introduction, 150
6.2. Boolean and Comparison Instructions, 151
6.3. Conditional Jumps, 158
6.4. Conditional Loop Instructions, 169
6.5. Conditional Structures, 170
6.6. Application: Finite-State Machines, 179
6.7. Decision Directives, 184
6.8. Chapter Summary, 189
6.9. Programming Exercises, 190
End Note, 192
7. Integer Arithmetic, 193
7.1. Introduction, 193
7.2. Shift and Rotate Instructions, 194
7.3. Shift and Rotate Applications, 201
7.4. Multiplication and Division Instructions, 204
7.5. Extended Addition and Subtraction, 213
7.6. ASCII and Unpacked Decimal Arithmetic, 215
7.7. Packed Decimal Arithmetic, 219
7.8. Chapter Summary, 221
7.9. Programming Exercises, 222
8. Advanced Procedures, 224
8.1. Introduction, 224
8.2. Stack Frames, 225
8.3. Recursion, 242
8.4. .MODEL Directive, 246
8.5. INVOKE, ADDR, PROC, and PROTO (Optional), 248
8.6. Creating Multimodule Programs, 258
8.7. Chapter Summary, 267
8.8. Programming Exercises, 268
End Notes, 268
9. Strings and Arrays, 269
9.1. Introduction, 269
9.2. String Primitive Instructions, 270
9.3. Selected String Procedures, 276
9.4. Two-Dimensional Arrays, 282
9.5. Searching and Sorting Integer Arrays, 285
9.6. Chapter Summary, 294
9.7. Programming Exercises, 295
End Note, 298
10. Structures and Macros, 299
10.1. Structures, 299
10.2. Macros, 313
10.3. Conditional-Assembly Directives, 326
10.4. Defining Repeat Blocks, 338
10.5. Chapter Summary, 342
10.6. Programming Exercises, 343
End Note, 345
11. MS-Windows Programming, 346
11.1. Win32 Console Programming, 346
11.2. Writing a Graphical Windows Application, 379
11.3. Dynamic Memory Allocation, 387
11.4. IA-32 Memory Management, 393
11.5. Chapter Summary, 399
11.6. Programming Exercises, 400
End Notes, 401
12. High-Level Language Interface, 402
12.1. Introduction, 402
12.2. Inline Assembly Code, 404
12.3. Linking to C/C++ in Protected Mode, 409
12.4. Linking to C/C++ in Real-Address Mode, 423
12.5. Chapter Summary, 430
12.6. Programming Exercises, 431
End Notes, 431
13. 16-Bit MS-DOS Programming, 432
13.1. MS-DOS and the IBM-PC, 432
13.2. MS-DOS Function Calls (INT 21h), 438
13.3. Standard MS-DOS File I/O Services, 449
13.4. Chapter Summary, 461
13.5. Chapter Exercises, 463
14. Disk Fundamentals, 464
14.1. Disk Storage Systems, 464
14.2. File Systems, 468
14.3. Disk Directory, 472
14.4. Reading and Writing Disk Sectors (7305h), 477
14.5. System-Level File Functions, 482
14.6. Chapter Summary, 487
14.7. Programming Exercises, 488
End Note, 489
15. BIOS-Level Programming, 490
15.1. Introduction, 490
15.2. Keyboard Input with INT 16h, 492
15.3. VIDEO Programming with INT 10h, 498
15.4. Drawing Graphics Using INT 10h, 512
15.5. Memory-Mapped Graphics, 519
15.6. Mouse Programming, 523
15.7. Chapter Summary, 533
15.8. Chapter Exercises, 534
End Notes, 535
16. Expert MS-DOS Programming, 536
16.1. Introduction, 536
16.2. Defining Segments, 537
16.3. Runtime Program Structure, 544
16.4. Interrupt Handling, 548
16.5. Hardware Control Using I/O Ports, 558
16.6. Chapter Summary, 560
17. Floating-Point Processing and Instruction Encoding, 562
17.1. Floating-Point Binary Representation, 562
17.2. Floating-Point Unit, 569
17.3. Intel Instruction Encoding, 588
17.4. Chapter Summary, 596
17.5. Programming Exercises, 597
End Notes, 599
A. MASM Reference, 600
A.1. Introduction, 600
A.2. MASM Reserved Words, 601
A.3. Register Names, 601
A.4. Microsoft Assembler (ML), 602
A.5. MASM Directives, 604
A.6. Symbols, 614
A.7. Operators, 615
A.8. Runtime Operators, 618
B. The IA-32 Instruction Set, 619
B.1. Introduction, 619
B.2. Instruction Set Details (Non Floating-Point), 621
B.3. Floating-Point Instructions, 644
C. BIOS and MS-DOS Interrupts, 650
C.1. Introduction, 650
C.2. PC Interrupts, 651
C.3. Interrupt 21H Functions (MS-DOS Services), 653
C.4. Interrupt 10H Functions (Video BIOS), 657
C.5. Keyboard BIOS INT 16h Functions, 658
C.6. Mouse Functions (INT 33h), 658
D. Answers to Review Questions, 659
1. Basic Concepts, 659
2. IA-32 Processor Architecture, 662
3. Assembly Language Fundamentals, 664
4. Data Transfers, Addressing, and Arithmetic, 666
5. Procedures, 668
6. Conditional Processing, 671
7. Integer Arithmetic, 675
8. Advanced Procedures, 679
9. Strings and Arrays, 682
10. Structures and Macros, 683
11. MS-Windows Programming, 688
12. High-Level Language Interface, 691
13. 16-Bit MS-DOS Programming, 693
14. Disk Fundamentals, 695
15. BIOS-Level Programming, 697
16. Expert MS-DOS Programming, 700
17. Floating-Point Processing and Instruction Encoding, 702
Inside Back Cover, InsideBackCover
ASCII Control Characters, InsideBackCover
ALT-KEY Combinations, InsideBackCover
Keyboard Scan Codes, InsideBackCover
Please use the Print button in the CourseSmart Reader header.