๐”– Scriptorium
โœฆ   LIBER   โœฆ

๐Ÿ“

From Source Code To Machine Code(2023)[Smith][]


Year
2023
Tongue
English
Leaves
102
Category
Library

โฌ‡  Acquire This Volume

No coin nor oath required. For personal study only.

โœฆ Table of Contents


Cover
Contents
01. Introduction
1.1 Why Compiler?
1.2 Components of Compilers
1.3 The Book
02. A Simple Calculator
2.1 Introduction
2.2 The Sexpr
2.3 Start Coding
2.4 Expression Evaluation
03. Interpreter: Variables and Scopes
3.1 Introduction
3.2 New Commands for Variables
3.3 Variables and Scopes
3.4 Testing
04. Interpreter: Control Flows and Functions
4.1 If-Then-Else
4.2 Loops
4.3 Functions
4.4 Done
05. How Computers Work
5.1 Registers, Memory, and Instructions
5.2 Function Calls and Stacks
5.3 System Calls
06. The Virtual Machine and Bytecode
6.1 The Two Phases of Compilation
6.2 The Virtual Machine Design
6.2.1 The Data Stack
6.2.2 Virtual Instructions
6.2.3 Non-Local Variables
6.3 Static Typing
07. Compiler: Variables and Expressions
7.1 Introduction
7.2 Data Structures
7.2.1 class Scope
7.2.2 class Func
7.3 Compilation Overview
7.3.1 Input and Output
7.3.2 Managing Temporaries
7.3.3 Dispatching Commands
7.4 Local Variables
7.4.1 Variable Declarations
7.4.2 Variable Lookup and Assignment
7.4.3 Scopes
7.5 Operators
08. Compiler: Control Flows
8.1 Introduction
8.2 If-Then-Else
8.2.1 Labels
8.2.2 Conditionals
8.3 Loops
09. Compiler: Functions and Non-Locals
9.1 Introduction
9.2 Function Definitions
9.2.1 Data Structures
9.2.2 Function Definitions
9.2.3 Mutual Function Calls
9.3 Function Calls and Returns
9.4 Non-Local Variables
9.5 Closing Remarks
10. A Crash Course on x64 Assembly
10.1 Registers
10.2 Addressing Modes
10.3 The mov Instruction
10.4 Control Flows
10.4.1 Unconditional Jumps
10.4.2 Conditional Jumps
10.4.3 Flags
10.5 Function Calls and the Stack
10.5.1 Push and Pop
10.5.2 Call and Return
10.5.3 System Calls
11. The x64 Instruction Encoding
11.1 Instruction Format
11.2 ModR/M Byte
11.3 SIB Byte
11.4 Prefixes
12. From Virtual Machine To Real Machine
12.1 Stacks
12.2 CodeGen class
12.3 Load and Store
12.4 Constants
12.5 Control Flows
12.6 Function Calls
12.6.1 Calls and Returns
12.6.2 Non-Local Variables
12.7 Operators
12.8 Executing Machine Code
12.8.1 The Wrapper Function
12.8.2 mmap and ctypes
12.8.3 Testing
13. Binary Executables
13.1 The ELF Format
13.1.1 The Program Header
13.1.2 The Section Header
13.1.3 The ELF Header
13.1.4 The File Layout
13.2 Creating ELF Files
13.2.1 Headers and Structures
13.2.2 The Entry Point
13.3 Mission Completed
14. Pointers and Memory
14.1 New Commands
14.2 Demos
14.3 The Implementation
14.3.1 Peek and Poke
14.3.2 Referencing Variables
14.3.3 Typecastings
14.3.4 Pointer Arithmetic
14.4 More Demos
14.4.1 The Bump Allocator
14.4.2 A String Library
14.4.3 Number to String Conversion
14.5 Closing Remarks


๐Ÿ“œ SIMILAR VOLUMES


Core Blender Development: Understanding
โœ Brad E. Hollister ๐Ÿ“‚ Library ๐Ÿ“… 2021 ๐Ÿ› Apress ๐ŸŒ English

<p>Learn the essential source code of Blender and its unique build system. This book provides the inner workings of the Blender C-based source code, and will be indispensable for those wanting to contribute to this important open-source project.<br>Blender is an open-source 3D modeling and rendering