E-Book, Englisch, 644 Seiten, eBook
Dandamudi Introduction to Assembly Language Programming
Erscheinungsjahr 2013
ISBN: 978-1-4757-2858-3
Verlag: Springer US
Format: PDF
Kopierschutz: 1 - PDF Watermark
From 8086 to Pentium Processors
E-Book, Englisch, 644 Seiten, eBook
Reihe: Undergraduate Texts in Computer Science
ISBN: 978-1-4757-2858-3
Verlag: Springer US
Format: PDF
Kopierschutz: 1 - PDF Watermark
There are three main reasons for writing this book. While several assembly language books are on the market, almost all of them cover only the 8086 processor-a 16-bit processor Intel introduced in 1979. A modem computer organization or assembly language course requires treatment of a more recent processor like the Pentium, which is a 32-bit processor in the Intel family. This is one of the main motivations for writing this book. There are two other equally valid reasons. The book approaches assembly language programming from the high-level language viewpoint. As a result, it focuses on the assembly language features that are required to efficiently implement high-level language constructs. Performance is another reason why people program in assembly language. This is particularly true with real-time application programming. Our treatment of assembly language programming is oriented toward performance optimiza tion. Every chapter ends with a performance section that discusses the impact of specific sets of assembly language statements on the performance of the whole program. Put another way, this book focuses on performance-oriented assembly language programming. Intended Use This book is intended as an introduction to assembly language programming using the Intel 80X86 family of processors. We have selected the assembly language of the Intel 80X86 processors (including the Pentium processor) be cause of the widespread availability of PCs and assemblers. Both Microsoft and Borland provide assemblers for the PCs.
Zielgruppe
Research
Autoren/Hrsg.
Weitere Infos & Material
I Introductory Topics.- 1 Introduction.- 2 Basic Computer Organization.- 3 Overview of Assembly Language.- II Basic Topics.- 4 Procedures and the Stack.- 5 Addressing Modes.- 6 Arithmetic Flags and Instructions.- 7 Selection and Iteration.- 8 Logical and Bit Operations.- III Advanced Topics.- 9 String Processing.- 10 Macros and Conditional Assembly.- 11 ASCII and BCD Arithmetic.- 12 Interrupts and Input/Output.- 13 High-Level Language Interface.- IV Appendices.- A Internal Data Representation.- A.1 Positional Number Systems.- A.1.1 Notation.- A.2 Number Systems Conversion.- A.2.1 Conversion to Decimal.- A.2.2 Conversion from Decimal.- A.2.3 Conversion among Binary, Octal, and Hexadecimal.- A.3 Unsigned Integer Representation.- A.3.1 Arithmetic on Unsigned Integers.- A.4 Signed Integer Representation.- A.4.1 Signed-Magnitude Representation.- A.4.2 Excess-M Representation.- A.4.3 l’s Complement Representation.- A.4.4 2’s Complement Representation.- A.5 Floating-Point Representation.- A.5.1 Fractions.- A.5.2 Representing Floating-Point Numbers.- A.5.3 Floating-Point Representation.- A.6 Character Representation.- A.7 Summary.- A.8 Exercises.- A.9 Progamming Exercises.- B Assembling and Linking Assembly Language Programs.- B. 1 Structure of Assembly Language Programs.- B.2 Input/Output Routines.- B.3 Assembling and Linking.- B.3.1 The Assembly Process.- B.3.2 Linking Object Files.- B.4 Summary.- B.5 Exercises.- B.6 Progamming Exercises.- C Debugging Assembly Language Programs.- C.1 Strategies to Debug Assembly Language Programs.- C.2 DEBUG.- C.2.1 Miscellaneous Group.- C.2.2 An Example.- C.3 Turbo Debugger TD.- C.4 CodeView.- C.5 Summary.- C.6 Exercises.- C.7 Progamming Exercises.- D Pentium Instruction Set.- D.1 Pentium Instruction Format.- D.1.1 Instruction Prefixes.-D.1.2 General Instruction Format.- D.2 Selected Pentium Instructions.- E ASCII Character Set.