ورود به حساب

نام کاربری گذرواژه

گذرواژه را فراموش کردید؟ کلیک کنید

حساب کاربری ندارید؟ ساخت حساب

ساخت حساب کاربری

نام نام کاربری ایمیل شماره موبایل گذرواژه

برای ارتباط با ما می توانید از طریق شماره موبایل زیر از طریق تماس و پیامک با ما در ارتباط باشید


09117307688
09117179751

در صورت عدم پاسخ گویی از طریق پیامک با پشتیبان در ارتباط باشید

دسترسی نامحدود

برای کاربرانی که ثبت نام کرده اند

ضمانت بازگشت وجه

درصورت عدم همخوانی توضیحات با کتاب

پشتیبانی

از ساعت 7 صبح تا 10 شب

دانلود کتاب Assembly Language for x86 Processors

دانلود کتاب زبان اسمبلی برای پردازنده های x86

Assembly Language for x86 Processors

مشخصات کتاب

Assembly Language for x86 Processors

دسته بندی: برنامه نویسی: زبان های برنامه نویسی
ویرایش: 7th 
نویسندگان:   
سری:  
ISBN (شابک) : 0133769402, 9780133769401 
ناشر: Pearson 
سال نشر: 2014 
تعداد صفحات: 873 
زبان: English 
فرمت فایل : PDF (درصورت درخواست کاربر به PDF، EPUB یا AZW3 تبدیل می شود) 
حجم فایل: 12 مگابایت 

قیمت کتاب (تومان) : 42,000



کلمات کلیدی مربوط به کتاب زبان اسمبلی برای پردازنده های x86: انفورماتیک و مهندسی کامپیوتر، علوم کامپیوتر (برنامه نویسی)، برنامه نویسی ASEMBLER



ثبت امتیاز به این کتاب

میانگین امتیاز به این کتاب :
       تعداد امتیاز دهندگان : 17


در صورت تبدیل فایل کتاب Assembly Language for x86 Processors به فرمت های PDF، EPUB، AZW3، MOBI و یا DJVU می توانید به پشتیبان اطلاع دهید تا فایل مورد نظر را تبدیل نمایند.

توجه داشته باشید کتاب زبان اسمبلی برای پردازنده های x86 نسخه زبان اصلی می باشد و کتاب ترجمه شده به فارسی نمی باشد. وبسایت اینترنشنال لایبرری ارائه دهنده کتاب های زبان اصلی می باشد و هیچ گونه کتاب ترجمه شده یا نوشته شده به فارسی را ارائه نمی دهد.


توضیحاتی در مورد کتاب زبان اسمبلی برای پردازنده های x86

اسمبلی زبان برای پردازنده های x86، 7e برای استفاده در دوره های کارشناسی برنامه نویسی زبان اسمبلی و دوره های مقدماتی سیستم های کامپیوتری و معماری کامپیوتر در نظر گرفته شده است. این عنوان همچنین برای برنامه نویسان و مهندسان سیستم های جاسازی شده، متخصصان ارتباطات، برنامه نویسان بازی و برنامه نویسان گرافیک مناسب است. تسلط به یک زبان برنامه نویسی دیگر، ترجیحاً جاوا، C یا C++ توصیه می شود.
این مطالعه کامل و کاملاً به روز شده در مورد زبان اسمبلی که به طور خاص برای پلتفرم Intel/Windows 32 و 64 بیتی نوشته شده است به دانش آموزان می آموزد که برنامه ها را در سطح ماشین بنویسند و اشکال زدایی کنند. این متن مفاهیمی را که دانش‌آموزان باید قبل از رفتن به دوره‌های پیشرفته‌تر معماری کامپیوتر و سیستم‌های عامل درک کنند، ساده‌سازی می‌کند. دانش‌آموزان تئوری را از طریق نوشتن نرم‌افزار در سطح ماشین به عمل می‌آورند و تجربه‌ای به یاد ماندنی ایجاد می‌کنند که به آنها اعتماد به نفس می‌دهد تا در هر محیط سیستم‌عامل/ماشین محور کار کنند.


توضیحاتی درمورد کتاب به خارجی

Assembly Language for x86 Processors, 7e is intended for use in undergraduate courses in assembly language programming and introductory courses in computer systems and computer architecture. This title is also suitable for embedded systems programmers and engineers, communication specialists, game programmers, and graphics programmers. Proficiency in one other programming language, preferably Java, C, or C++, is recommended.
Written specifically for 32- and 64-bit Intel/Windows platform, this complete and fullyupdated study of assembly language teaches students to write and debug programs at the machine level. This text simplifies and demystifies concepts that students need to grasp before they can go on to more advanced computer architecture and operating systems courses. Students put theory into practice through writing software at the machine level, creating a memorable experience that gives them the confidence to work in any OS/machine-oriented environment.



فهرست مطالب

Cover......Page 1
ASCII CONTROL CHARACTERS......Page 2
KEYBOARD SCAN CODES......Page 3
Assembly Language for x86 Processors......Page 4
©......Page 5
Contents......Page 8
Preface......Page 26
1.1 Welcome to Assembly Language......Page 36
1.1.1 Questions You Might Ask......Page 38
1.1.3 Section Review......Page 41
1.2 Virtual Machine Concept......Page 42
1.3 Data Representation......Page 44
1.3.1 Binary Integers......Page 45
1.3.2 Binary Addition......Page 47
1.3.4 Hexadecimal Integers......Page 48
1.3.5 Hexadecimal Addition......Page 50
1.3.6 Signed Binary Integers......Page 51
1.3.7 Binary Subtraction......Page 53
1.3.8 Character Storage......Page 54
1.3.9 Section Review......Page 56
1.4 Boolean Expressions......Page 57
1.4.1 Truth Tables for Boolean Functions......Page 59
1.5 Chapter Summary......Page 61
1.6 Key Terms......Page 62
1.7.1 Short Answer......Page 63
1.7.2 Algorithm Workbench......Page 65
2 x86 Processor Architecture......Page 67
2.1.1 Basic Microcomputer Design......Page 68
2.1.2 Instruction Execution Cycle......Page 69
2.1.4 Loading and Executing a Program......Page 71
2.2.1 Modes of Operation......Page 72
2.2.2 Basic Execution Environment......Page 73
2.2.3 x86 Memory Management......Page 76
2.3 64-Bit x86-64 Processors......Page 77
2.3.2 Basic 64-Bit Execution Environment......Page 78
2.4.1 Motherboard......Page 79
2.4.3 Section Review......Page 81
2.5.1 Levels of I/O Access......Page 82
2.5.2 Section Review......Page 84
2.6 Chapter Summary......Page 85
2.7 Key Terms......Page 86
2.8 Review Questions......Page 87
3 Assembly Language Fundamentals......Page 88
3.1.1 First Assembly Language Program......Page 89
3.1.2 Integer Literals......Page 90
3.1.3 Constant Integer Expressions......Page 91
3.1.5 Character Literals......Page 92
3.1.8 Identifiers......Page 93
3.1.9 Directives......Page 94
3.1.10 Instructions......Page 95
3.2.1 The AddTwo Program......Page 98
3.2.2 Running and Debugging the AddTwo Program......Page 100
3.2.4 Section Review......Page 105
3.3.2 Listing File......Page 106
3.3.3 Section Review......Page 108
3.4.2 Data Definition Statement......Page 109
3.4.3 Adding a Variable to the AddTwo Program......Page 110
3.4.4 Defining BYTE and SBYTE Data......Page 111
3.4.5 Defining WORD and SWORD Data......Page 113
3.4.7 Defining QWORD Data......Page 114
3.4.8 Defining Packed BCD (TBYTE) Data......Page 115
3.4.10 A Program That Adds Variables......Page 116
3.4.11 Little-Endian Order......Page 117
3.4.13 Section Review......Page 118
3.5.1 Equal-Sign Directive......Page 119
3.5.2 Calculating the Sizes of Arrays and Strings......Page 120
3.5.3 EQU Directive......Page 121
3.5.4 TEXTEQU Directive......Page 122
3.6 64-Bit Programming......Page 123
3.7 Chapter Summary......Page 125
3.8.1 Terms......Page 126
3.9.1 Short Answer......Page 127
3.9.2 Algorithm Workbench......Page 128
3.10 Programming Exercises......Page 129
4 Data Transfers, Addressing, and Arithmetic......Page 130
4.1.3 Direct Memory Operands......Page 131
4.1.4 MOV Instruction......Page 133
4.1.5 Zero/Sign Extension of Integers......Page 134
4.1.6 LAHF and SAHF Instructions......Page 136
4.1.8 Direct-Offset Operands......Page 137
4.1.9 Example Program (Moves)......Page 138
4.1.10 Section Review......Page 139
4.2.2 ADD Instruction......Page 140
4.2.5 Implementing Arithmetic Expressions......Page 141
4.2.6 Flags Affected by Addition and Subtraction......Page 142
4.2.7 Example Program (AddSubTest)......Page 146
4.3.1 OFFSET Operator......Page 147
4.3.2 ALIGN Directive......Page 148
4.3.3 PTR Operator......Page 149
4.3.4 TYPE Operator......Page 150
4.3.7 LABEL Directive......Page 151
4.4.1 Indirect Operands......Page 152
4.4.2 Arrays......Page 153
4.4.3 Indexed Operands......Page 154
4.4.4 Pointers......Page 156
4.4.5 Section Review......Page 157
4.5.1 JMP Instruction......Page 158
4.5.2 LOOP Instruction......Page 159
4.5.3 Displaying an Array in the Visual Studio Debugger......Page 160
4.5.4 Summing an Integer Array......Page 161
4.5.5 Copying a String......Page 162
4.6.1 MOV Instruction......Page 163
4.6.3 Addition and Subtraction......Page 165
4.6.4 Section Review......Page 166
4.7 Chapter Summary......Page 167
4.8.2 Instructions, Operators, and Directives......Page 168
4.9.1 Short Answer......Page 169
4.9.2 Algorithm Workbench......Page 171
4.10 Programming Exercises......Page 172
5 Procedures......Page 174
5.1.1 Runtime Stack (32-bit mode)......Page 175
5.1.2 PUSH and POP Instructions......Page 177
5.2.1 PROC Directive......Page 180
5.2.2 CALL and RET Instructions......Page 182
5.2.3 Nested Procedure Calls......Page 183
5.2.5 Example: Summing an Integer Array......Page 185
5.2.6 Saving and Restoring Registers......Page 187
5.3 Linking to an External Library......Page 188
5.3.1 Background Information......Page 189
5.4.1 Motivation for Creating the Library......Page 190
5.4.2 Overview......Page 192
5.4.3 Individual Procedure Descriptions......Page 193
5.4.4 Library Test Programs......Page 205
5.5.1 The Irvine64 Library......Page 213
5.5.3 The x64 Calling Convention......Page 214
5.5.4 Sample Program that Calls a Procedure......Page 215
5.6 Chapter Summary......Page 217
5.8.1 Short Answer......Page 218
5.8.2 Algorithm Workbench......Page 221
5.9 Programming Exercises......Page 222
6 Conditional Processing......Page 224
6.2 Boolean and Comparison Instructions......Page 225
6.2.2 AND Instruction......Page 226
6.2.3 OR Instruction......Page 227
6.2.4 Bit-Mapped Sets......Page 229
6.2.5 XOR Instruction......Page 230
6.2.7 TEST Instruction......Page 231
6.2.8 CMP Instruction......Page 232
6.2.9 Setting and Clearing Individual CPU Flags......Page 233
6.3.1 Conditional Structures......Page 234
6.3.2 Jcond Instruction......Page 235
6.3.3 Types of Conditional Jump Instructions......Page 236
6.3.4 Conditional Jump Applications......Page 239
6.3.5 Section Review......Page 243
6.4.2 LOOPNZ and LOOPNE Instructions......Page 244
6.5.1 Block-Structured IF Statements......Page 245
6.5.2 Compound Expressions......Page 248
6.5.3 WHILE Loops......Page 249
6.5.4 Table-Driven Selection......Page 251
6.6.1 Validating an Input String......Page 254
6.6.2 Validating a Signed Integer......Page 255
6.6.3 Section Review......Page 259
6.7 Conditional Control Flow Directives......Page 260
6.7.1 Creating IF Statements......Page 261
6.7.2 Signed and Unsigned Comparisons......Page 262
6.7.3 Compound Expressions......Page 263
6.7.4 Creating Loops with .REPEAT and .WHILE......Page 266
6.8 Chapter Summary......Page 267
6.9.1 Terms......Page 268
6.10.1 Short Answer......Page 269
6.10.2 Algorithm Workbench......Page 271
6.11.1 Suggestions for Testing Your Code......Page 272
6.11.2 Exercise Descriptions......Page 273
7 Integer Arithmetic......Page 277
7.1.1 Logical Shifts and Arithmetic Shifts......Page 278
7.1.2 SHL Instruction......Page 279
7.1.3 SHR Instruction......Page 280
7.1.4 SAL and SAR Instructions......Page 281
7.1.6 ROR Instruction......Page 282
7.1.7 RCL and RCR Instructions......Page 283
7.1.9 SHLD/SHRD Instructions......Page 284
7.2 Shift and Rotate Applications......Page 286
7.2.1 Shifting Multiple Doublewords......Page 287
7.2.2 Binary Multiplication......Page 288
7.2.4 Extracting File Date Fields......Page 289
7.3.1 MUL Instruction......Page 290
7.3.2 IMUL Instruction......Page 292
7.3.3 Measuring Program Execution Times......Page 295
7.3.4 DIV Instruction......Page 297
7.3.5 Signed Integer Division......Page 299
7.3.6 Implementing Arithmetic Expressions......Page 302
7.4.1 ADC Instruction......Page 304
7.4.2 Extended Addition Example......Page 305
7.4.4 Section Review......Page 307
7.5 ASCII and Unpacked Decimal Arithmetic......Page 308
7.5.1 AAA Instruction......Page 309
7.5.4 AAD Instruction......Page 311
7.6.1 DAA Instruction......Page 312
7.7 Chapter Summary......Page 314
7.8.2 Instructions, Operators, and Directives......Page 315
7.9.1 Short Answer......Page 316
7.9.2 Algorithm Workbench......Page 317
7.10 Programming Exercises......Page 319
8 Advanced Procedures......Page 321
8.2.1 Stack Parameters......Page 322
8.2.2 Disadvantages of Register Parameters......Page 323
8.2.3 Accessing Stack Parameters......Page 325
8.2.4 32-Bit Calling Conventions......Page 328
8.2.5 Local Variables......Page 330
8.2.6 Reference Parameters......Page 332
8.2.8 ENTER and LEAVE Instructions......Page 333
8.2.9 LOCAL Directive......Page 335
8.2.10 The Microsoft x64 Calling Convention......Page 336
8.3 Recursion......Page 337
8.3.1 Recursively Calculating a Sum......Page 338
8.3.2 Calculating a Factorial......Page 339
8.4.1 INVOKE Directive......Page 346
8.4.2 ADDR Operator......Page 347
8.4.3 PROC Directive......Page 348
8.4.4 PROTO Directive......Page 351
8.4.5 Parameter Classi.cations......Page 354
8.4.6 Example: Exchanging Two Integers......Page 355
8.4.7 Debugging Tips......Page 356
8.4.8 WriteStackFrame Procedure......Page 357
8.5.1 Hiding and Exporting Procedure Names......Page 358
8.5.2 Calling External Procedures......Page 359
8.5.3 Using Variables and Symbols across Module Boundaries......Page 360
8.5.5 Creating the Modules Using Extern......Page 361
8.5.6 Creating the Modules Using INVOKE and PROTO......Page 365
8.6.1 Stack Affected by the USES Operator......Page 368
8.6.2 Passing 8-Bit and 16-Bit Arguments on the Stack......Page 370
8.6.3 Passing 64-Bit Arguments......Page 371
8.6.4 Non-Doubleword Local Variables......Page 372
8.7.1 Java Virtual Machine......Page 374
8.7.2 Instruction Set......Page 375
8.7.3 Java Disassembly Examples......Page 376
8.7.4 Example: Conditional Branch......Page 379
8.8 Chapter Summary......Page 381
8.9.1 Terms......Page 382
8.10.2 Algorithm Workbench......Page 383
8.11 Programming Exercises......Page 384
9.1 Introduction......Page 387
9.2 String Primitive Instructions......Page 388
9.2.1 MOVSB, MOVSW, and MOVSD......Page 389
9.2.2 CMPSB, CMPSW, and CMPSD......Page 390
9.2.5 LODSB, LODSW, and LODSD......Page 391
9.3 Selected String Procedures......Page 392
9.3.1 Str_compare Procedure......Page 393
9.3.3 Str_copy Procedure......Page 394
9.3.4 Str_trim Procedure......Page 395
9.3.5 Str_ucase Procedure......Page 398
9.3.6 String Library Demo Program......Page 399
9.3.7 String Procedures in the Irvine64 Library......Page 400
9.4.1 Ordering of Rows and Columns......Page 403
9.4.2 Base-Index Operands......Page 404
9.4.3 Base-Index-Displacement Operands......Page 406
9.4.4 Base-Index Operands in 64-Bit Mode......Page 407
9.5.1 Bubble Sort......Page 408
9.5.2 Binary Search......Page 410
9.6 Java Bytecodes: String Processing (Optional Topic)......Page 417
9.7 Chapter Summary......Page 418
9.9.1 Short Answer......Page 419
9.9.2 Algorithm Workbench......Page 420
9.10 Programming Exercises......Page 421
10.1 Structures......Page 425
10.1.1 Defining Structures......Page 426
10.1.2 Declaring Structure Variables......Page 428
10.1.3 Referencing Structure Variables......Page 429
10.1.4 Example: Displaying the System Time......Page 432
10.1.6 Example: Drunkard\'s Walk......Page 434
10.1.7 Declaring and Using Unions......Page 438
10.2.1 Overview......Page 440
10.2.2 Defining Macros......Page 441
10.2.3 Invoking Macros......Page 442
10.2.4 Additional Macro Features......Page 443
10.2.5 Using the Book\'s Macro Library (32-bit mode only)......Page 447
10.2.6 Example Program: Wrappers......Page 454
10.3 Conditional-Assembly Directives......Page 455
10.3.1 Checking for Missing Arguments......Page 456
10.3.2 Default Argument Initializers......Page 457
10.3.4 IF, ELSE, and ENDIF Directives......Page 458
10.3.5 The IFIDN and IFIDNI Directives......Page 459
10.3.6 Example: Summing a Matrix Row......Page 460
10.3.7 Special Operators......Page 463
10.3.8 Macro Functions......Page 466
10.4.1 WHILE Directive......Page 468
10.4.3 FOR Directive......Page 469
10.4.4 FORC Directive......Page 470
10.4.5 Example: Linked List......Page 471
10.4.6 Section Review......Page 472
10.5 Chapter Summary......Page 473
10.6.2 Operators and Directives......Page 474
10.7.2 Algorithm Workbench......Page 475
10.8 Programming Exercises......Page 477
11.1 Win32 Console Programming......Page 480
11.1.1 Background Information......Page 481
11.1.2 Win32 Console Functions......Page 485
11.1.3 Displaying a Message Box......Page 487
11.1.4 Console Input......Page 490
11.1.5 Console Output......Page 496
11.1.6 Reading and Writing Files......Page 498
11.1.7 File I/O in the Irvine32 Library......Page 503
11.1.8 Testing the File I/O Procedures......Page 505
11.1.9 Console Window Manipulation......Page 508
11.1.10 Controlling the Cursor......Page 511
11.1.11 Controlling the Text Color......Page 512
11.1.12 Time and Date Functions......Page 514
11.1.13 Using the 64-Bit Windows API......Page 517
11.2.1 Necessary Structures......Page 519
11.2.3 The WinMain Procedure......Page 521
11.2.4 The WinProc Procedure......Page 522
11.2.6 Program Listing......Page 523
11.3 Dynamic Memory Allocation......Page 527
11.3.1 HeapTest Programs......Page 531
11.4 x86 Memory Management......Page 534
11.4.1 Linear Addresses......Page 535
11.4.2 Page Translation......Page 538
11.5 Chapter Summary......Page 540
11.7.1 Short Answer......Page 542
11.7.2 Algorithm Workbench......Page 543
11.8 Programming Exercises......Page 544
12.1 Floating-Point Binary Representation......Page 546
12.1.1 IEEE Binary Floating-Point Representation......Page 547
12.1.4 Creating the IEEE Representation......Page 549
12.1.5 Converting Decimal Fractions to Binary Reals......Page 551
12.2 Floating-Point Unit......Page 553
12.2.1 FPU Register Stack......Page 554
12.2.2 Rounding......Page 556
12.2.4 Floating-Point Instruction Set......Page 558
12.2.5 Arithmetic Instructions......Page 561
12.2.6 Comparing Floating-Point Values......Page 565
12.2.7 Reading and Writing Floating-Point Values......Page 568
12.2.8 Exception Synchronization......Page 569
12.2.9 Code Examples......Page 570
12.2.10 Mixed-Mode Arithmetic......Page 572
12.2.11 Masking and Unmasking Exceptions......Page 573
12.3 x86 Instruction Encoding......Page 574
12.3.1 Instruction Format......Page 575
12.3.3 Move Immediate to Register......Page 576
12.3.4 Register-Mode Instructions......Page 577
12.3.5 Processor Operand-Size Pre.x......Page 578
12.3.6 Memory-Mode Instructions......Page 579
12.4 Chapter Summary......Page 582
12.6.1 Short Answer......Page 584
12.6.2 Algorithm Workbench......Page 585
12.7 Programming Exercises......Page 586
13.1 Introduction......Page 590
13.1.1 General Conventions......Page 591
13.1.2 .MODEL Directive......Page 592
13.1.3 Examining Compiler-Generated Code......Page 594
13.2.1 __asm Directive in Visual C++......Page 599
13.2.2 File Encryption Example......Page 601
13.2.3 Section Review......Page 604
13.3.1 IndexOf Example......Page 605
13.3.2 Calling C and C++ Functions......Page 609
13.3.3 Multiplication Table Example......Page 611
13.3.4 Calling C Library Functions......Page 614
13.3.5 Directory Listing Program......Page 617
13.4 Chapter Summary......Page 618
13.6 Review Questions......Page 619
13.7 Programming Exercises......Page 620
14.1 MS-DOS and the IBM-PC......Page 622
14.1.1 Memory Organization......Page 623
14.1.2 Redirecting Input-Output......Page 624
14.1.3 Software Interrupts......Page 625
14.1.4 INT Instruction......Page 626
14.1.5 Coding for 16-Bit Programs......Page 627
14.2 MS-DOS Function Calls (INT 21h)......Page 628
14.2.1 Selected Output Functions......Page 630
14.2.2 Hello World Program Example......Page 632
14.2.3 Selected Input Functions......Page 633
14.2.4 Date/Time Functions......Page 637
14.3 Standard MS-DOS File I/O Services......Page 641
14.3.1 Create or Open File (716Ch)......Page 643
14.3.3 Move File Pointer (42h)......Page 644
14.3.5 Selected Library Procedures......Page 645
14.3.6 Example: Read and Copy a Text File......Page 646
14.3.7 Reading the MS-DOS Command Tail......Page 648
14.3.8 Example: Creating a Binary File......Page 651
14.4 Chapter Summary......Page 654
14.5 Programming Exercises......Page 656
15.1 Disk Storage Systems......Page 658
15.1.1 Tracks, Cylinders, and Sectors......Page 659
15.1.3 Section Review......Page 661
15.2 File Systems......Page 662
15.2.3 FAT32......Page 663
15.2.5 Primary Disk Areas......Page 664
15.2.6 Section Review......Page 665
15.3 Disk Directory......Page 666
15.3.1 MS-DOS Directory Structure......Page 667
15.3.2 Long Filenames in MS-Windows......Page 669
15.3.4 Section Review......Page 671
15.4 Reading and Writing Disk Sectors......Page 672
15.4.1 Sector Display Program......Page 673
15.4.2 Section Review......Page 676
15.5.1 Get Disk Free Space (7303h)......Page 677
15.5.4 Set Current Directory (3Bh)......Page 680
15.5.6 Get and Set File Attributes (7143h)......Page 681
15.6 Chapter Summary......Page 682
15.7 Programming Exercises......Page 683
16.1 Introduction......Page 685
16.1.1 BIOS Data Area......Page 686
16.2.1 How the Keyboard Works......Page 687
16.2.2 INT 16h Functions......Page 688
16.3.1 Basic Background......Page 692
16.3.2 Controlling the Color......Page 694
16.3.3 INT 10h Video Functions......Page 696
16.3.4 Library Procedure Examples......Page 706
16.4 Drawing Graphics Using INT 10h......Page 707
16.4.1 INT 10h Pixel-Related Functions......Page 708
16.4.2 DrawLine Program......Page 709
16.4.3 Cartesian Coordinates Program......Page 711
16.4.4 Converting Cartesian Coordinates to Screen Coordinates......Page 713
16.5.1 Mode 13h: 320 X 200, 256 Colors......Page 714
16.5.2 Memory-Mapped Graphics Program......Page 716
16.5.3 Section Review......Page 718
16.6.1 Mouse INT 33h Functions......Page 719
16.6.2 Mouse Tracking Program......Page 724
16.6.3 Section Review......Page 728
16.7 Chapter Summary......Page 729
16.8 Programming Exercises......Page 730
17.1 Introduction......Page 732
17.2.1 Simplified Segment Directives......Page 733
17.2.2 Explicit Segment Definitions......Page 735
17.2.4 Combining Segments......Page 738
17.3 Runtime Program Structure......Page 740
17.3.2 COM Programs......Page 741
17.3.3 EXE Programs......Page 742
17.4 Interrupt Handling......Page 744
17.4.1 Hardware Interrupts......Page 745
17.4.3 Writing a Custom Interrupt Handler......Page 747
17.4.5 Application: The No_Reset Program......Page 750
17.5 Hardware Control Using I/O Ports......Page 754
17.5.2 PC Sound Program......Page 755
17.6 Chapter Summary......Page 757
Appendix A: MASM Reference......Page 758
Appendix B: The x86 Instruction Set......Page 780
Appendix C: Answers to Section Review Questions......Page 815
Appendix D: BIOS and MS-DOS Interrupts......Page 835
Appendix E: Answers to Review Questions (Chapters 14–17)......Page 844
A......Page 854
C......Page 855
D......Page 857
F......Page 858
G......Page 859
I......Page 860
L......Page 862
M......Page 863
N......Page 864
P......Page 865
R......Page 866
S......Page 867
W......Page 869
Z......Page 870




نظرات کاربران