Please use this identifier to cite or link to this item: http://localhost/handle/Hannan/958
Full metadata record
DC FieldValueLanguage
dc.contributor.authorZhirkov, Igor, ; author ;en_US
dc.date.accessioned2013en_US
dc.date.accessioned2020-05-17T08:23:53Z-
dc.date.available2020-05-17T08:23:53Z-
dc.date.issued2017en_US
dc.identifier.isbn9781484224038 ;en_US
dc.identifier.isbn1484224035 ;en_US
dc.identifier.urihttp://localhost/handle/Hannan/958-
dc.description005.1 ; 23 ;en_US
dc.descriptionOhio Library and Information Network ;en_US
dc.descriptionen_US
dc.descriptionAvailable to OhioLINK libraries ;en_US
dc.descriptionen_US
dc.descriptionen_US
dc.descriptionen_US
dc.descriptionPrinted edition: ; 9781484224021 ;en_US
dc.descriptionen_US
dc.description.abstractLearn Intel 64 assembly language and architecture, become proficient in C, and understand how the programs are compiled and executed down to machine instructions, enabling you to write robust, high-performance code. Low-Level Programming explains Intel 64 architecture as the result of von Neumann architecture evolution. The book teaches the latest version of the C language (C11) and assembly language from scratch. It covers the entire path from source code to program execution, including generation of ELF object files, and static and dynamic linking. Code examples and exercises are included along with the best code practices. Optimization capabilities and limits of modern compilers are examined, enabling you to balance between program readability and performance. The use of various performance-gain techniques is demonstrated, such as SSE instructions and pre-fetching. Relevant Computer Science topics such as models of computation and formal grammars are addressed, and their practical value explained. Low-Level Programming teaches programmers to: Freely write in assembly language Understand the programming model of Intel 64 Write maintainable and robust code in C11 Follow the compilation process and decipher assembly listings Debug errors in compiled assembly code Use appropriate models of computation to greatly reduce program complexity Write performance-critical code Comprehend the impact of a weak memory model in multi-threaded applications ;en_US
dc.description.statementofresponsibilityIgor Zhirkoven_US
dc.description.tableofcontentsAt a Glance; Contents; About the Author; About the Technical Reviewer; Acknowledgments; Introduction; Part I: Assembly Language and Computer Architecture; Chapter 1: Basic Computer Architecture; 1.1 The Core Architecture; 1.1.1 Model of Computation; 1.1.2 von Neumann Architecture; 1.2 Evolution; 1.2.1 Drawbacks of von Neumann Architecture; 1.2.2 Intel 64 Architecture; 1.2.3 Architecture Extensions; 1.3 Registers; 1.3.1 General Purpose Registers; 1.3.2 Other Registers; 1.3.3 System Registers; 1.4 Protection Rings; 1.5 Hardware Stack; 1.6 Summary; Chapter 2: Assembly Language ;en_US
dc.description.tableofcontents2.1 Setting Up the Environment2.1.1 Working with Code Examples; 2.2 Writing "Hello, world"; 2.2.1 Basic Input and Output; 2.2.2 Program Structure; 2.2.3 Basic Instructions; 2.3 Example: Output Register Contents; 2.3.1 Local Labels; 2.3.2 Relative Addressing; 2.3.3 Order of Execution; 2.4 Function Calls; 2.5 Working with Data; 2.5.1 Endianness; 2.5.2 Strings; 2.5.3 Constant Precomputation; 2.5.4 Pointers and Different Addressing Types; 2.6 Example: Calculating String Length; 2.7 Assignment: Input/Output Library; 2.7.1 Self-Evaluation; 2.8 Summary; Chapter 3: Legacy; 3.1 Real mode ;en_US
dc.description.tableofcontents3.2 Protected Mode3.3 Minimal Segmentation in Long Mode; 3.4 Accessing Parts of Registers; 3.4.1 An Unexpected Behavior; 3.4.2 CISC and RISC; 3.4.3 Explanation; 3.5 Summary; Chapter 4: Virtual Memory; 4.1 Caching; 4.2 Motivation; 4.3 Address Spaces; 4.4 Features; 4.5 Example: Accessing Forbidden Address; 4.6 Efficiency; 4.7 Implementation; 4.7.1 Virtual Address Structure; 4.7.2 Address Translation in Depth; 4.7.3 Page Sizes; 4.8 Memory Mapping; 4.9 Example: Mapping File into Memory; 4.9.1 Mnemonic Names for Constants; 4.9.2 Complete Example; 4.10 Summary; Chapter 5: Compilation Pipeline ;en_US
dc.description.tableofcontents5.1 Preprocessor5.1.1 Simple Substitutions; 5.1.2 Substitutions with Arguments; 5.1.3 Simple Conditional Substitution; 5.1.4 Conditioning on Definition; 5.1.5 Conditioning on Text Identity; 5.1.6 Conditioning on Argument Type; 5.1.7 Evaluation Order: Define, xdefine, Assign; 5.1.8 Repetition; 5.1.9 Example: Computing Prime Numbers; 5.1.10 Labels Inside Macros; 5.1.11 Conclusion; 5.2 Translation; 5.3 Linking; 5.3.1 Executable and Linkable Format; 5.3.1.1 Structure; 5.3.1.2 Sections in ELF Files; 5.3.2 Relocatable Object Files; 5.3.3 Executable Object Files; 5.3.4 Dynamic Libraries ;en_US
dc.description.tableofcontents5.3.5 Loader5.4 Assignment: Dictionary; 5.5 Summary; Chapter 6: Interrupts and System Calls; 6.1 Input and Output; 6.1.1 TR register and Task State Segment; 6.2 Interrupts; 6.3 System Calls; 6.3.1 Model-Specific Registers; 6.3.2 syscall and sysret; 6.4 Summary; Chapter 7: Models of Computation; 7.1 Finite State Machines; 7.1.1 Definition; 7.1.2 Example: Bits Parity; 7.1.3 Implementation in Assembly Language; 7.1.4 Practical Value; 7.1.5 Regular Expressions; 7.2 Forth Machine; 7.2.1 Architecture; 7.2.2 Tracing an Exemplary Forth Program; 7.2.3 Dictionary; 7.2.4 How Words Are Implemented ;en_US
dc.format.extent1 online resource ;en_US
dc.format.extentIncludes bibliographical references and index ;en_US
dc.publisherApress,en_US
dc.relation.haspart9781484224038.pdfen_US
dc.subjectComputer programming ;en_US
dc.subjectProgramming Languages and Electronic Computersen_US
dc.subjectC (Computer program language) ;en_US
dc.subjectAssembly languages (Electronic computers) ;en_US
dc.subjectIntel microprocessors ; Programming ;en_US
dc.titleLow-level programming :en_US
dc.title.alternativeC, Assembly, and program execution on Intele 64 architecture /en_US
dc.typeBooken_US
dc.publisher.placeNew York, NY :en_US
dc.classification.lcQA76.6 ;en_US
Appears in Collections:مهندسی فناوری اطلاعات

Files in This Item:
File Description SizeFormat 
9781484224038.pdf5.6 MBAdobe PDFThumbnail
Preview File
Full metadata record
DC FieldValueLanguage
dc.contributor.authorZhirkov, Igor, ; author ;en_US
dc.date.accessioned2013en_US
dc.date.accessioned2020-05-17T08:23:53Z-
dc.date.available2020-05-17T08:23:53Z-
dc.date.issued2017en_US
dc.identifier.isbn9781484224038 ;en_US
dc.identifier.isbn1484224035 ;en_US
dc.identifier.urihttp://localhost/handle/Hannan/958-
dc.description005.1 ; 23 ;en_US
dc.descriptionOhio Library and Information Network ;en_US
dc.descriptionen_US
dc.descriptionAvailable to OhioLINK libraries ;en_US
dc.descriptionen_US
dc.descriptionen_US
dc.descriptionen_US
dc.descriptionPrinted edition: ; 9781484224021 ;en_US
dc.descriptionen_US
dc.description.abstractLearn Intel 64 assembly language and architecture, become proficient in C, and understand how the programs are compiled and executed down to machine instructions, enabling you to write robust, high-performance code. Low-Level Programming explains Intel 64 architecture as the result of von Neumann architecture evolution. The book teaches the latest version of the C language (C11) and assembly language from scratch. It covers the entire path from source code to program execution, including generation of ELF object files, and static and dynamic linking. Code examples and exercises are included along with the best code practices. Optimization capabilities and limits of modern compilers are examined, enabling you to balance between program readability and performance. The use of various performance-gain techniques is demonstrated, such as SSE instructions and pre-fetching. Relevant Computer Science topics such as models of computation and formal grammars are addressed, and their practical value explained. Low-Level Programming teaches programmers to: Freely write in assembly language Understand the programming model of Intel 64 Write maintainable and robust code in C11 Follow the compilation process and decipher assembly listings Debug errors in compiled assembly code Use appropriate models of computation to greatly reduce program complexity Write performance-critical code Comprehend the impact of a weak memory model in multi-threaded applications ;en_US
dc.description.statementofresponsibilityIgor Zhirkoven_US
dc.description.tableofcontentsAt a Glance; Contents; About the Author; About the Technical Reviewer; Acknowledgments; Introduction; Part I: Assembly Language and Computer Architecture; Chapter 1: Basic Computer Architecture; 1.1 The Core Architecture; 1.1.1 Model of Computation; 1.1.2 von Neumann Architecture; 1.2 Evolution; 1.2.1 Drawbacks of von Neumann Architecture; 1.2.2 Intel 64 Architecture; 1.2.3 Architecture Extensions; 1.3 Registers; 1.3.1 General Purpose Registers; 1.3.2 Other Registers; 1.3.3 System Registers; 1.4 Protection Rings; 1.5 Hardware Stack; 1.6 Summary; Chapter 2: Assembly Language ;en_US
dc.description.tableofcontents2.1 Setting Up the Environment2.1.1 Working with Code Examples; 2.2 Writing "Hello, world"; 2.2.1 Basic Input and Output; 2.2.2 Program Structure; 2.2.3 Basic Instructions; 2.3 Example: Output Register Contents; 2.3.1 Local Labels; 2.3.2 Relative Addressing; 2.3.3 Order of Execution; 2.4 Function Calls; 2.5 Working with Data; 2.5.1 Endianness; 2.5.2 Strings; 2.5.3 Constant Precomputation; 2.5.4 Pointers and Different Addressing Types; 2.6 Example: Calculating String Length; 2.7 Assignment: Input/Output Library; 2.7.1 Self-Evaluation; 2.8 Summary; Chapter 3: Legacy; 3.1 Real mode ;en_US
dc.description.tableofcontents3.2 Protected Mode3.3 Minimal Segmentation in Long Mode; 3.4 Accessing Parts of Registers; 3.4.1 An Unexpected Behavior; 3.4.2 CISC and RISC; 3.4.3 Explanation; 3.5 Summary; Chapter 4: Virtual Memory; 4.1 Caching; 4.2 Motivation; 4.3 Address Spaces; 4.4 Features; 4.5 Example: Accessing Forbidden Address; 4.6 Efficiency; 4.7 Implementation; 4.7.1 Virtual Address Structure; 4.7.2 Address Translation in Depth; 4.7.3 Page Sizes; 4.8 Memory Mapping; 4.9 Example: Mapping File into Memory; 4.9.1 Mnemonic Names for Constants; 4.9.2 Complete Example; 4.10 Summary; Chapter 5: Compilation Pipeline ;en_US
dc.description.tableofcontents5.1 Preprocessor5.1.1 Simple Substitutions; 5.1.2 Substitutions with Arguments; 5.1.3 Simple Conditional Substitution; 5.1.4 Conditioning on Definition; 5.1.5 Conditioning on Text Identity; 5.1.6 Conditioning on Argument Type; 5.1.7 Evaluation Order: Define, xdefine, Assign; 5.1.8 Repetition; 5.1.9 Example: Computing Prime Numbers; 5.1.10 Labels Inside Macros; 5.1.11 Conclusion; 5.2 Translation; 5.3 Linking; 5.3.1 Executable and Linkable Format; 5.3.1.1 Structure; 5.3.1.2 Sections in ELF Files; 5.3.2 Relocatable Object Files; 5.3.3 Executable Object Files; 5.3.4 Dynamic Libraries ;en_US
dc.description.tableofcontents5.3.5 Loader5.4 Assignment: Dictionary; 5.5 Summary; Chapter 6: Interrupts and System Calls; 6.1 Input and Output; 6.1.1 TR register and Task State Segment; 6.2 Interrupts; 6.3 System Calls; 6.3.1 Model-Specific Registers; 6.3.2 syscall and sysret; 6.4 Summary; Chapter 7: Models of Computation; 7.1 Finite State Machines; 7.1.1 Definition; 7.1.2 Example: Bits Parity; 7.1.3 Implementation in Assembly Language; 7.1.4 Practical Value; 7.1.5 Regular Expressions; 7.2 Forth Machine; 7.2.1 Architecture; 7.2.2 Tracing an Exemplary Forth Program; 7.2.3 Dictionary; 7.2.4 How Words Are Implemented ;en_US
dc.format.extent1 online resource ;en_US
dc.format.extentIncludes bibliographical references and index ;en_US
dc.publisherApress,en_US
dc.relation.haspart9781484224038.pdfen_US
dc.subjectComputer programming ;en_US
dc.subjectProgramming Languages and Electronic Computersen_US
dc.subjectC (Computer program language) ;en_US
dc.subjectAssembly languages (Electronic computers) ;en_US
dc.subjectIntel microprocessors ; Programming ;en_US
dc.titleLow-level programming :en_US
dc.title.alternativeC, Assembly, and program execution on Intele 64 architecture /en_US
dc.typeBooken_US
dc.publisher.placeNew York, NY :en_US
dc.classification.lcQA76.6 ;en_US
Appears in Collections:مهندسی فناوری اطلاعات

Files in This Item:
File Description SizeFormat 
9781484224038.pdf5.6 MBAdobe PDFThumbnail
Preview File
Full metadata record
DC FieldValueLanguage
dc.contributor.authorZhirkov, Igor, ; author ;en_US
dc.date.accessioned2013en_US
dc.date.accessioned2020-05-17T08:23:53Z-
dc.date.available2020-05-17T08:23:53Z-
dc.date.issued2017en_US
dc.identifier.isbn9781484224038 ;en_US
dc.identifier.isbn1484224035 ;en_US
dc.identifier.urihttp://localhost/handle/Hannan/958-
dc.description005.1 ; 23 ;en_US
dc.descriptionOhio Library and Information Network ;en_US
dc.descriptionen_US
dc.descriptionAvailable to OhioLINK libraries ;en_US
dc.descriptionen_US
dc.descriptionen_US
dc.descriptionen_US
dc.descriptionPrinted edition: ; 9781484224021 ;en_US
dc.descriptionen_US
dc.description.abstractLearn Intel 64 assembly language and architecture, become proficient in C, and understand how the programs are compiled and executed down to machine instructions, enabling you to write robust, high-performance code. Low-Level Programming explains Intel 64 architecture as the result of von Neumann architecture evolution. The book teaches the latest version of the C language (C11) and assembly language from scratch. It covers the entire path from source code to program execution, including generation of ELF object files, and static and dynamic linking. Code examples and exercises are included along with the best code practices. Optimization capabilities and limits of modern compilers are examined, enabling you to balance between program readability and performance. The use of various performance-gain techniques is demonstrated, such as SSE instructions and pre-fetching. Relevant Computer Science topics such as models of computation and formal grammars are addressed, and their practical value explained. Low-Level Programming teaches programmers to: Freely write in assembly language Understand the programming model of Intel 64 Write maintainable and robust code in C11 Follow the compilation process and decipher assembly listings Debug errors in compiled assembly code Use appropriate models of computation to greatly reduce program complexity Write performance-critical code Comprehend the impact of a weak memory model in multi-threaded applications ;en_US
dc.description.statementofresponsibilityIgor Zhirkoven_US
dc.description.tableofcontentsAt a Glance; Contents; About the Author; About the Technical Reviewer; Acknowledgments; Introduction; Part I: Assembly Language and Computer Architecture; Chapter 1: Basic Computer Architecture; 1.1 The Core Architecture; 1.1.1 Model of Computation; 1.1.2 von Neumann Architecture; 1.2 Evolution; 1.2.1 Drawbacks of von Neumann Architecture; 1.2.2 Intel 64 Architecture; 1.2.3 Architecture Extensions; 1.3 Registers; 1.3.1 General Purpose Registers; 1.3.2 Other Registers; 1.3.3 System Registers; 1.4 Protection Rings; 1.5 Hardware Stack; 1.6 Summary; Chapter 2: Assembly Language ;en_US
dc.description.tableofcontents2.1 Setting Up the Environment2.1.1 Working with Code Examples; 2.2 Writing "Hello, world"; 2.2.1 Basic Input and Output; 2.2.2 Program Structure; 2.2.3 Basic Instructions; 2.3 Example: Output Register Contents; 2.3.1 Local Labels; 2.3.2 Relative Addressing; 2.3.3 Order of Execution; 2.4 Function Calls; 2.5 Working with Data; 2.5.1 Endianness; 2.5.2 Strings; 2.5.3 Constant Precomputation; 2.5.4 Pointers and Different Addressing Types; 2.6 Example: Calculating String Length; 2.7 Assignment: Input/Output Library; 2.7.1 Self-Evaluation; 2.8 Summary; Chapter 3: Legacy; 3.1 Real mode ;en_US
dc.description.tableofcontents3.2 Protected Mode3.3 Minimal Segmentation in Long Mode; 3.4 Accessing Parts of Registers; 3.4.1 An Unexpected Behavior; 3.4.2 CISC and RISC; 3.4.3 Explanation; 3.5 Summary; Chapter 4: Virtual Memory; 4.1 Caching; 4.2 Motivation; 4.3 Address Spaces; 4.4 Features; 4.5 Example: Accessing Forbidden Address; 4.6 Efficiency; 4.7 Implementation; 4.7.1 Virtual Address Structure; 4.7.2 Address Translation in Depth; 4.7.3 Page Sizes; 4.8 Memory Mapping; 4.9 Example: Mapping File into Memory; 4.9.1 Mnemonic Names for Constants; 4.9.2 Complete Example; 4.10 Summary; Chapter 5: Compilation Pipeline ;en_US
dc.description.tableofcontents5.1 Preprocessor5.1.1 Simple Substitutions; 5.1.2 Substitutions with Arguments; 5.1.3 Simple Conditional Substitution; 5.1.4 Conditioning on Definition; 5.1.5 Conditioning on Text Identity; 5.1.6 Conditioning on Argument Type; 5.1.7 Evaluation Order: Define, xdefine, Assign; 5.1.8 Repetition; 5.1.9 Example: Computing Prime Numbers; 5.1.10 Labels Inside Macros; 5.1.11 Conclusion; 5.2 Translation; 5.3 Linking; 5.3.1 Executable and Linkable Format; 5.3.1.1 Structure; 5.3.1.2 Sections in ELF Files; 5.3.2 Relocatable Object Files; 5.3.3 Executable Object Files; 5.3.4 Dynamic Libraries ;en_US
dc.description.tableofcontents5.3.5 Loader5.4 Assignment: Dictionary; 5.5 Summary; Chapter 6: Interrupts and System Calls; 6.1 Input and Output; 6.1.1 TR register and Task State Segment; 6.2 Interrupts; 6.3 System Calls; 6.3.1 Model-Specific Registers; 6.3.2 syscall and sysret; 6.4 Summary; Chapter 7: Models of Computation; 7.1 Finite State Machines; 7.1.1 Definition; 7.1.2 Example: Bits Parity; 7.1.3 Implementation in Assembly Language; 7.1.4 Practical Value; 7.1.5 Regular Expressions; 7.2 Forth Machine; 7.2.1 Architecture; 7.2.2 Tracing an Exemplary Forth Program; 7.2.3 Dictionary; 7.2.4 How Words Are Implemented ;en_US
dc.format.extent1 online resource ;en_US
dc.format.extentIncludes bibliographical references and index ;en_US
dc.publisherApress,en_US
dc.relation.haspart9781484224038.pdfen_US
dc.subjectComputer programming ;en_US
dc.subjectProgramming Languages and Electronic Computersen_US
dc.subjectC (Computer program language) ;en_US
dc.subjectAssembly languages (Electronic computers) ;en_US
dc.subjectIntel microprocessors ; Programming ;en_US
dc.titleLow-level programming :en_US
dc.title.alternativeC, Assembly, and program execution on Intele 64 architecture /en_US
dc.typeBooken_US
dc.publisher.placeNew York, NY :en_US
dc.classification.lcQA76.6 ;en_US
Appears in Collections:مهندسی فناوری اطلاعات

Files in This Item:
File Description SizeFormat 
9781484224038.pdf5.6 MBAdobe PDFThumbnail
Preview File