Please use this identifier to cite or link to this item:
http://localhost/handle/Hannan/958
Full metadata record
DC Field | Value | Language |
---|---|---|
dc.contributor.author | Zhirkov, Igor, ; author ; | en_US |
dc.date.accessioned | 2013 | en_US |
dc.date.accessioned | 2020-05-17T08:23:53Z | - |
dc.date.available | 2020-05-17T08:23:53Z | - |
dc.date.issued | 2017 | en_US |
dc.identifier.isbn | 9781484224038 ; | en_US |
dc.identifier.isbn | 1484224035 ; | en_US |
dc.identifier.uri | http://localhost/handle/Hannan/958 | - |
dc.description | 005.1 ; 23 ; | en_US |
dc.description | Ohio Library and Information Network ; | en_US |
dc.description | en_US | |
dc.description | Available to OhioLINK libraries ; | en_US |
dc.description | en_US | |
dc.description | en_US | |
dc.description | en_US | |
dc.description | Printed edition: ; 9781484224021 ; | en_US |
dc.description | en_US | |
dc.description.abstract | Learn 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.statementofresponsibility | Igor Zhirkov | en_US |
dc.description.tableofcontents | At 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.tableofcontents | 2.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.tableofcontents | 3.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.tableofcontents | 5.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.tableofcontents | 5.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.extent | 1 online resource ; | en_US |
dc.format.extent | Includes bibliographical references and index ; | en_US |
dc.publisher | Apress, | en_US |
dc.relation.haspart | 9781484224038.pdf | en_US |
dc.subject | Computer programming ; | en_US |
dc.subject | Programming Languages and Electronic Computers | en_US |
dc.subject | C (Computer program language) ; | en_US |
dc.subject | Assembly languages (Electronic computers) ; | en_US |
dc.subject | Intel microprocessors ; Programming ; | en_US |
dc.title | Low-level programming : | en_US |
dc.title.alternative | C, Assembly, and program execution on Intele 64 architecture / | en_US |
dc.type | Book | en_US |
dc.publisher.place | New York, NY : | en_US |
dc.classification.lc | QA76.6 ; | en_US |
Appears in Collections: | مهندسی فناوری اطلاعات |
Files in This Item:
File | Description | Size | Format | |
---|---|---|---|---|
9781484224038.pdf | 5.6 MB | Adobe PDF | Preview File |
Full metadata record
DC Field | Value | Language |
---|---|---|
dc.contributor.author | Zhirkov, Igor, ; author ; | en_US |
dc.date.accessioned | 2013 | en_US |
dc.date.accessioned | 2020-05-17T08:23:53Z | - |
dc.date.available | 2020-05-17T08:23:53Z | - |
dc.date.issued | 2017 | en_US |
dc.identifier.isbn | 9781484224038 ; | en_US |
dc.identifier.isbn | 1484224035 ; | en_US |
dc.identifier.uri | http://localhost/handle/Hannan/958 | - |
dc.description | 005.1 ; 23 ; | en_US |
dc.description | Ohio Library and Information Network ; | en_US |
dc.description | en_US | |
dc.description | Available to OhioLINK libraries ; | en_US |
dc.description | en_US | |
dc.description | en_US | |
dc.description | en_US | |
dc.description | Printed edition: ; 9781484224021 ; | en_US |
dc.description | en_US | |
dc.description.abstract | Learn 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.statementofresponsibility | Igor Zhirkov | en_US |
dc.description.tableofcontents | At 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.tableofcontents | 2.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.tableofcontents | 3.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.tableofcontents | 5.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.tableofcontents | 5.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.extent | 1 online resource ; | en_US |
dc.format.extent | Includes bibliographical references and index ; | en_US |
dc.publisher | Apress, | en_US |
dc.relation.haspart | 9781484224038.pdf | en_US |
dc.subject | Computer programming ; | en_US |
dc.subject | Programming Languages and Electronic Computers | en_US |
dc.subject | C (Computer program language) ; | en_US |
dc.subject | Assembly languages (Electronic computers) ; | en_US |
dc.subject | Intel microprocessors ; Programming ; | en_US |
dc.title | Low-level programming : | en_US |
dc.title.alternative | C, Assembly, and program execution on Intele 64 architecture / | en_US |
dc.type | Book | en_US |
dc.publisher.place | New York, NY : | en_US |
dc.classification.lc | QA76.6 ; | en_US |
Appears in Collections: | مهندسی فناوری اطلاعات |
Files in This Item:
File | Description | Size | Format | |
---|---|---|---|---|
9781484224038.pdf | 5.6 MB | Adobe PDF | Preview File |
Full metadata record
DC Field | Value | Language |
---|---|---|
dc.contributor.author | Zhirkov, Igor, ; author ; | en_US |
dc.date.accessioned | 2013 | en_US |
dc.date.accessioned | 2020-05-17T08:23:53Z | - |
dc.date.available | 2020-05-17T08:23:53Z | - |
dc.date.issued | 2017 | en_US |
dc.identifier.isbn | 9781484224038 ; | en_US |
dc.identifier.isbn | 1484224035 ; | en_US |
dc.identifier.uri | http://localhost/handle/Hannan/958 | - |
dc.description | 005.1 ; 23 ; | en_US |
dc.description | Ohio Library and Information Network ; | en_US |
dc.description | en_US | |
dc.description | Available to OhioLINK libraries ; | en_US |
dc.description | en_US | |
dc.description | en_US | |
dc.description | en_US | |
dc.description | Printed edition: ; 9781484224021 ; | en_US |
dc.description | en_US | |
dc.description.abstract | Learn 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.statementofresponsibility | Igor Zhirkov | en_US |
dc.description.tableofcontents | At 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.tableofcontents | 2.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.tableofcontents | 3.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.tableofcontents | 5.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.tableofcontents | 5.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.extent | 1 online resource ; | en_US |
dc.format.extent | Includes bibliographical references and index ; | en_US |
dc.publisher | Apress, | en_US |
dc.relation.haspart | 9781484224038.pdf | en_US |
dc.subject | Computer programming ; | en_US |
dc.subject | Programming Languages and Electronic Computers | en_US |
dc.subject | C (Computer program language) ; | en_US |
dc.subject | Assembly languages (Electronic computers) ; | en_US |
dc.subject | Intel microprocessors ; Programming ; | en_US |
dc.title | Low-level programming : | en_US |
dc.title.alternative | C, Assembly, and program execution on Intele 64 architecture / | en_US |
dc.type | Book | en_US |
dc.publisher.place | New York, NY : | en_US |
dc.classification.lc | QA76.6 ; | en_US |
Appears in Collections: | مهندسی فناوری اطلاعات |
Files in This Item:
File | Description | Size | Format | |
---|---|---|---|---|
9781484224038.pdf | 5.6 MB | Adobe PDF | Preview File |