Àâòîðèçàöèÿ
Ïîèñê ïî óêàçàòåëÿì
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
Ïðåäìåòíûé óêàçàòåëü
Numeric data representation, terminology 22
Numeric strings, types of 23
Nybble 232
Object file 77
OFFSET operator 115—116
operands 70—71 98—100 315—318
Operating system (OS) 11 38—39 58 77
Operating system (OS), support for file systems 502
Operator precedence 27
Operators, MASM 684—687
Optimizing C++ compiled code 448—455
OR (inclusive OR) instruction 183—184 636
OS see Operating system (OS)
OUT (output to port) instruction 564 566—567 636
Output function, MS-DOS 464—467
Output operations, access levels 58—59
output parameters 271
output ports 56—57
OUTS (output string to port) instruction 636
OUTSB (output string to port) instruction 636
OUTSD (output string to port) instruction 636
OUTSW (output string to port) instruction 636
Overflow flag (OF) 44 112 181 228—236
P6 processor family 46
Packed decimal integers 254
Page 52
PAGE align type 586 587
Page directory 423
page fault 52 423
Page tables 423
Page translation 422 425—427
Paging 52 422 423—424
Paging Unit 35
PARA align type 586 587
Parallel port 57
Parameters, classifications 271
Parity flag 44 181 185
Partition (disk) 498—499
PASCAL specifier 278
Passing arguments by reference 280—282
passing by reference 265 269—271 280—282
passing by value 269—271
Passing data structures 270—271
Passing immediate values, trouble shooting tips 274
Passing register arguments 164
Passing wrong type of pointer, trouble shooting tips 274
PC assemblers, history 11—12
PC interrupts, number and description 649—652
PCI (Peripheral Component Interconnect) bus 54
Pentium 46
Pentium 4 46
Petabyte 16
Physical disk geometry 497
Pipelining 34
pixels 55
Pixels, converting to character coordinates 570
Plain text (encryption) 195
Platform 380
Pointers vs. subscripts 453—454
Pointers, 16- and 32-bit modes 124
Pointers, indirect addressing 124—126
Pointers, Intel-based programs 124
POP (pop from stack) instruction 156 637
POP (pop from stack) instruction, operation 155
POP (pop from stack) instruction, trouble-shooting tips 272—273
POPA (pop all) instruction 157 637
POPAD (pop all) instruction 157 637
POPF (pop flags from stack) instruction 156 637
POPFD(pop flags from stack) instruction 156—157 637
Powers of 16, decimal values 17—18
Precedence 65—66
preconditions 160
Predefined symbols, MASM 682—684
Preemptive multitasking 39
Primary colors mixing 539—540
Primary disk areas 503—504
Privilege level 425
PROC directive 159—161 266—267
Procedure call overhead 437—439
Procedure offsets 208
Procedures 137—177
Procedures, book’s link library 140—153
Procedures, defining and using 159—169
Procedures, linking to an external library 138—139
Procedures, program design using 169—175
Procedures, stack operations 153—159
Processor clock (CLK) 37
Program counter 34
Program database file (PDB) 80
Program description, example 73—75
Program design using procedures 169—175
Program execution registers 42—44
Program listing, example 72
Programmable Interrupt Controller (PIC) 54
reserved bits 507
Reserved words 67
Reserving stack space 262—263
Reset mouse 568—569
Restoring registers, trouble-shooting tips 272—273
RET (return from procedure) instruction 159 161—164 640
RETF (return from procedure) instruction 640
RETN (return from procedure) instruction 640
Reversing a string 157—158
RGB colors 564—565
ROL (rotate left) instruction 231—232 640
ROM (read-only memory) 55
ROM BIOS 459
Root Directory 504 505
ROR (rotate right) instruction 232 640
Round-Robin scheduling 39—40
RS-232 serial port 57
Running programs in full-screen mode 538
Runtime operators, MASM 687—688
Runtime program structure 592—597
Runtime relational and logical operators 218
runtime stack 153—155
SAHF (store AH into flags) instruction 641
SAL (shift arithmetic left) instruction 231 641
SAR (shift arithmetic right) instruction 231 641
Saving and restoring registers 280
Saving and restoring registers, trouble-shooting tips 272—273
SBB (subtract with borrow) instruction 250 642
SBYTE signed byte 81—82
Scanning an array 194—195
Scanning an array, application 194—197
SCAS (scan string) instruction 329
SCASB (scan string) instruction 307 642
SCASD (scan string) instruction 307 642
SCASW (scan siring) instruction 307 642
Scheduler 39
Screen buffer 381 398—402
screen scraping 548
Scroll window down 548
Scroll window up 546
SDWORD directive 84
Sector display program 497 513—517
sectors 496—497
Segment 48 74 421
Segment 0040h, BIOS data area 528—529
Segment descriptor 421
Segment descriptor, details 425
Segment descriptor, tables 50
Segment limit field 51 425
Segment names 432—433
Segment overrides 589—590
Segment present flag 425
Segment registers 43
Segment selector 421
Segment type 425
Segment, defining 584—592
Segment, list 79
Segment-offset address 49—50
Segmentation 421
Segmented memory map 49
Sequential search 321
Serial poit 57
SET condition (set condition) 642
Set current directory function 522
Set cursor lines function 543—544
Set cursor position function 544
Set mouse position 571
Set typematic rate function 531
Set video mode function 542—543
SetConsoleCursorPosition 403
SetConsoleMode function 388—389
SetConsoleScreenBufferSize function 402
SetConsoleTextAttribute function 403
SetConsoleWindowInfo function 400—402
SetCursorPosition example 220
SetFilePointer function 397
SetLocalTime function 406
SetTextColor procedure 145—146
Setting mouse limits 573
Shift and rotate applications, integer arithmetic 236—239
Shift and rotate instructions, integer arithmetic 228—236
Shifting multiple doublewords 236
SHL (shift left) instruction 229—230 643
SHLD (double-precision shift left) instruction 233—234 643
SHR (shift right) instruction 230—231 643
SHRD (double-precision shift right) instruction 233—234 644
Sign flag (SF) 44 110
Sign flag (SF), boolean and comparison instructions 180—181
Signed and unsigned comparisons 219—220
Signed arithmetic, overflow flag 111—113
Signed binary, converting to decimal 20
Signed comparison, jumps 193
Signed decimal integer FSM 213
Signed decimal, converting to binary and hexadecimal 20
Signed division, SAL and SAR instructions 231
Signed hexadecimal, converting to decimal 21
Signed integer 18—21
Signed integer, comparing 219—220
Signed integer, FSM flowchart 214
Signed integer, storage sizes and ranges 21
Signed integer, validating 213—216
SIMMs (memory) 54
Simplified segment directives 584—586
Single-character input 388—389
Single-instruction, multiple-data (SIMD) operations 44
Six-stage non-pipelined instruction execution 35
Six-stage pipelined execution 36
SIZE operators 435—436
sizeof operator 119
Slack bytes (fill bytes) 587
sleep function 407
Software BIOS 458
Software Development Kit 380
Software interrupts (MS-DOS) 461
source file 77
Stack abstract data type (ADT) 153
Stack applications 155
stack data structure 153
stack frames 275—285
Stack frames, CalcSum program 286—287
Stack frames, Factorial program 288—290
Stack operations 153—159
Stack parameters 263—275
Stack segment 74
Standard input device 460
Standard input, definition 140
Standard output device 460
Standard output, definition 140
Start state (FSM) 211
Startup procedure 74
Static global variables 260
Static RAM 55
status flags 44
STC (set carry flag) instruction 233 644
STD (set direction flag) instruction 644
STDCALL specifier 277—278
STI (set interrupt flag) instruction 600—601 645
Stopwatch timer 409—410
Storage sizes, Borland C++ 441
Store AH into status flags (SAHF) 103
STOS (store string data) instruction 329 645
STOSB (store string data) instruction 308 645
STOSD (store string data) instruction 308 645
STOSW (store string data) instruction 308 645
String 21 282
String, calculating size of string 90—91
String, copying strings 130—131
String, defining strings 83
String, description 302
String, FSM 211—212
String, procedures 309—315
String, program example 469—470
String, string constants 67
String, string encryption 195—197
String, string primitive instructions 302—309
String, structures 335
STRUCT directive 334
StructSize field description 518
structures 334—347
Structures, chart example 170—171
Structures, conditional processing 202—211
Structures, declaring and using unions 344—346
Structures, declaring variables 335—336
Structures, defining a structure 334—335
Structures, example 338—340 341—344
Structures, nested sunctures 340—341
Structures, referencing variables 336—338
Str_compare procedure 310—311
Str_copy procedure 311—312
Str_length procedure 311
Str_trim procedure 312—314
Str_ucase procedure 314
Stub program example 171—172
SUB (subtract) instruction 73 645
subdirectories 505
Subdirectory bit 507
Subscripts vs. pointers 453—454
Substitution operator (&) 363—364
Subtraction 107—114
Subtraction, example program 113—114
Subtraction, flags 110—113
Subtraction, implementing arithmetic expressions 109—110
Subtraction, INC and DEC instructions 107—108
Subtraction, instructions 108—109
Subtraction, NEG instruction 109
Summing an integer array 129—130 164—165
Superscalar architecture 36—37
Superscalar example: six-stage pipelined processor 37
Superscalar processor 36
Support processors, IA-32 system 54
Swap procedure 266 271—272
SWORD signed word 84
symbols 79 89 618
symmetric encryption 195
Syntax notation, MASM 661—662
System file 507
System management mode (SSM) 41
system partition 499
System time displaying 338—340
System-level file functions 517—522
SYSTEMTIME structure 406
Table-driven selection 208—210
Task Manager 423
Task switching 39
TASM (Borland Turbo Assembler) 11
TBYTE(tenbyte) 85
Ðåêëàìà