
| 要想很好地学习、掌握汇编语言,一本好书是必不可少的。《汇编语言艺术》就是近年来出现的一本好书。本书是由著名作者Randall Hyde在其十多年的汇编语言教学经验基础上编写而成的,作者将多年来的开发和教学经验融合在大量的编程实例中,读者通过本书能快速地学会汇编语言程序设计,掌握其中的编程技巧,并能从一开始就养成良好的编程风格,从而实现从初学者到高级编程人员的过渡。 |
| 1 hello,world of assembly language 1.1 chapter overview 1.2 the anatomy of an hla program 1.3 running your first hla program 1.4 some basic hla data declarations 1.5 boolean values 1.6 character values 1.7 an introduction to ifle intel 80x86 cpu family 1.8 some basic machine instructions 1.9 some basic hla control structures 1.10 introduction fo tfle hla sfandard library 1.11 additionai defails about try..endtry 1.12 high levei assembiy language vs.low level assembiy 1.13 for more information 2 data representation 2.1 chapter overview 2.2 numbering systems 2.3 the hexadecimal numbering system 2.4 data organization 2.5 arithmetic operations on binary and hexadecimal numbers .2.6 a note about numbers vs. representation 2.7 logical operations on bits 2.8 logical operations on binary numbers and bit strings 2.9 signed and unsigned numbers 2.10 sign extension, zero extension, contraction, and saturation 2.11 shifts and rotates 2.12 bit fields and packed data 2.13 an introduction to floating point arithmetic 2.14 binary coded decimal (bcd) representation 2.15 characters 2.16 the unicode character set 2.17 for more information 3 memory access and organization 3.1 chaloter overview 3.2 the 80x86 addressing modes 3.3 run-time memory organization 3.4 how hla allocates memory for variables 3.5 hla support for data alignment 3.6 address expressions 3.7 type coercion 3.8 register type coercion 3.9 the stack segment and the push and pop instructions 3.10 dynamic memory allocation and the heap segment 3.11 the inc and dec instructions 3.12 obtaining the address of a memory object 3.13 for more information 4 constants, variables, and data types 4.1 chapter overview 4.2 some additional instructions:intmul, bound, into 4.3 the tbyte data types 4.4 hla constant and value declarations 4.5 the hla type section 4.6 enum and hla enumerated data types 4.7 pointer data types 4.8 the hla standard library chars. hhf module 4.9 composite data types 4.10 character strings 4.11 hla strings 4.12 accessing the characters within a srting 4.13 the hla string module and other string-related routines 4.14 in-memory conversions 4.15 character sets 4.16 character set implementation in hla 4.17 hla character set constants and character set expressions 4.18 the in operator in hla hll boolean expressions 4.19 character set support in the hla standard library 4.20 using character sets in your hla programs 4.21 arrays 4.22 declaring arrays in your hla programs 4.23 hla array constants 4.24 accessing elements of a single dimension array 4.25 multidimensional arrays 4.26 allocating storage for multidimensional arrays 4.27 accessing multidimensional array elements in assembly language 4.28 large arrays and masm (windows programmers only) 4.29 records 4.30 record constants 4.31 arrays of records 4.32 arrays/records as record fields 4.33 controlling field offsets within a record 4.34 aligning fields within a record 4.35 pointers to records 4.36 unions 4.37 anonymous unions 4.38 variant types 4.39 union constants 4.40 namespaces 4.41 dynamic arrays in assembly language 4.42 hla standard library array support 4.43 for more information 5 procedures and units 5.1 chapter overview 5.2 procedures 5.3 saving the state of the machine 5.4 prematurely returning from a procedure 5.5 local variables 5.6 other local and global symbol types 5.7 parameters 5.8 functions and function results 5.9 recursion 5.10 forward procedures 5.11 low level procedures and the call instruction 5.12 procedures and the stack 5.13 activation records 5.14 the standard entry sequence 5.15 the standard exit sequence 5.16 low level implementation of automatic (local)variables 5.17 low level parameter implementation 5.18 procedure pointers 5.19 procedure parameters 5.20 untyped reference parameters 5.21 managing large programs 5.22 the #include directive 5.23 ignoring duplicate #include operations 5.24 units and the external directive 5.25 namespace pollution 5.26 for more information 6 arithmetic 6.1 chapter overview 6.2 80x86 integer arithmetic instructions 6.3 arithmetic expressions 6.4 logical (boolean)expressions 6.5 machine and arithmetic idioms 6.6 floating point arithmetic 6.7 converting floating point expressions to assembly language 6.8 hla standard library support for floating point arithmetic 6.9 puffing it all together 7 low level control structures 7.1 chapter overview 7.2 low level control structures 7.3 statement labels 7.4 unconditional transfer of control (jmp) 7.5 the conditional jump instructions 7.6 "medium level" control structures: jt and jf 7.7 implementing common control structures in assembly language 7.8 introduction to decisions 7.9 state machines and indirect jumps 7.10 spaghetti code 7.11 loops 7.12 performance improvements 7.13 hybrid control structures in hla 7.14 for more information 8 files 8.1 chapter overview 8.2 file organization 8.3 sequential files 8.4 random access files 8.5 isam (indexed sequential access method) files 8.6 truncating a file 8.7 for more information 9 advanced arithmetic 9.1 chapter overview 9.2 multiprecision operations 9.3 operating on different-sized operands 9.4 decimal arithmetic 9.5 tables 9.6 for more information 10 macros and the hla compile time language 10.1 chapter overview 10.2 introduction to the compile time language (ctl) 10.3 the #print and #error statements 10.4 compile time constants and variables 10.5 compile time expressions and operators 10.6 compile time functions 10.7 conditional compilation (compile time decisions) 10.8 repetitive compilation (compile time loops) 10.9 macros (compile time procedures) 10.10 writing compile time "programs" 10.11 using macros in different source files 10.12 for more information 11 bit manipulation 11.1 chapter overview 11.2 what is bit data, anyway? 11.3 instructions that manipulate bits 11.4 the carry flag as a bit accumulator 11.5 packing and unpacking bit strings 11.6 coalescing bit sets and distributing bit strings 11.7 packed arrays of bit strings 11.8 searching for a bit 11.9 counting bits 11.10 reversing a bit string 11.11 merging bit strings 11.12 extracting bit strings 11.13 searching for a bit pattern 11.14 the hla standard library bits module 11.15 for more information 12 the string instructions 12.1 chapter overview 12.2 the 80x86 string instructions 12.3 performance of the 80x86 string instructions 12.4 for more information 13 the mmx instruction set 13.1 chapter overview 13.2 determining whether a cpu supports the mmx instruction set 13.3 the mmx programming environment 13.4 the purpose of the mmx instruction set 13.5 saturation arithmetic and wrap-around mode 13.6 mmx instruction operands 13.7 mmx technology instructions 13.8 the mmx programming paradigm 13.9 for more information 14 classes and objects 14.1 chapter overview 14.2 general principles 14.3 classes in hla 14.4 objects 14.5 inheritance 14.6 overriding 14.7 virtual methods vs. static procedures 14.8 writing class methods and procedures 14.9 object implementation 14.10 constructors and object initialization 14.11 destructors 14.12 hla's "_initialize_" and "_finalize_" strings 14.13 abstract methods 14.14 run-time type information (rtti) 14.15 calling base class methods 14.16 for more information 15 mixed language programming 15.1 chapter overview 15.2 mixing hla and masm/gas code in the same program 15.3 programming in delphi/kylix and hla 15.4 programming in c/c++ and hla 15.5 for more information a ascii character set b the 80x86 instruction set index |
商品评论(0条)