├── .gitignore ├── README.md ├── SUMMARY.md ├── assets ├── 1-1.jpg ├── 1-2.jpg ├── 1-3.jpg ├── 1-4.gif ├── 1-5.gif ├── 1-6.gif ├── 1-7.jpg ├── 14-a.gif ├── 14-b.gif ├── 14-c.gif ├── 14-d.gif ├── 14-e.gif ├── 14-f.gif ├── 14-g.png ├── 3-1.gif ├── 3-2.gif ├── 4-1.gif ├── 4-2.jpg ├── 4-3.gif ├── 4-4.gif ├── 5-1.jpg ├── 6-1.gif ├── 6-2.gif ├── 6-3.gif ├── 6-4.gif ├── 6-5.gif ├── 7-1.gif ├── 7-10.jpg ├── 7-11.gif ├── 7-2.gif ├── 7-3.gif ├── 7-4.gif ├── 7-5.gif ├── 7-6.gif ├── 7-7.gif ├── 7-8.jpg ├── 7-9.gif ├── 9-1.gif ├── A418868_1_En_10_Chapter_Equa.gif ├── A418868_1_En_11_Chapter_Equa.gif ├── A418868_1_En_11_Fig1_HTML.gif ├── A418868_1_En_11_Fig2_HTML.gif ├── A418868_1_En_12_Fig1_HTML.gif ├── A418868_1_En_12_Fig2_HTML.gif ├── A418868_1_En_12_Fig3_HTML.gif ├── A418868_1_En_12_Fig4_HTML.gif ├── A418868_1_En_15_Fig1_HTML.jpg ├── A418868_1_En_15_Fig2_HTML.jpg ├── A418868_1_En_15_Fig3_HTML.jpg ├── A418868_1_En_16_Chapter_Equa.gif ├── A418868_1_En_18_Fig1_HTML.jpg ├── A418868_1_En_18_Fig2_HTML.jpg ├── A418868_1_En_18_Fig3_HTML.jpg ├── A418868_1_En_18_Fig4_HTML.jpg └── A418868_1_En_5_Chapter_IEq1.gif ├── part1.md ├── part1 ├── assembly-language.md ├── assembly-language │ ├── assignment-inputoutput-library.md │ ├── assignment-inputoutput-library │ │ └── self-evaluation.md │ ├── example-calculating-string-length.md │ ├── example-output-register-contents.md │ ├── example-output-register-contents │ │ ├── local-labels.md │ │ ├── order-of-execution.md │ │ └── relative-addressing.md │ ├── function-calls.md │ ├── setting-up-the-environment.md │ ├── setting-up-the-environment │ │ └── working-with-code-examples.md │ ├── summary.md │ ├── working-with-data.md │ ├── working-with-data │ │ ├── constant-precomputation.md │ │ ├── endianness.md │ │ ├── pointers-and-different-addressing-types.md │ │ └── strings.md │ ├── writing-hello-world.md │ └── writing-hello-world │ │ ├── basic-input-and-output.md │ │ ├── basic-instructions.md │ │ └── program-structure.md ├── basic-computer-architecture.md ├── basic-computer-architecture │ ├── evolution.md │ ├── evolution │ │ ├── architecture-extensions.md │ │ ├── drawbacks-of-von-neumann-architecture.md │ │ └── intel-64-architecture.md │ ├── hardware-stack.md │ ├── protection-rings.md │ ├── registers.md │ ├── registers │ │ ├── general-purpose-registers.md │ │ ├── other-registers.md │ │ └── system-registers.md │ ├── summary.md │ ├── the-core-architecture.md │ └── the-core-architecture │ │ ├── model-of-computation.md │ │ └── von-neumann-architecture.md ├── compilation-pipeline.md ├── compilation-pipeline │ ├── linking.md │ ├── preprocessor.md │ └── translation.md ├── interrupts-and-system-calls.md ├── interrupts-and-system-calls │ ├── input-and-output.md │ ├── input-and-output │ │ └── tr-register-and-task-state-segment.md │ ├── interrupts.md │ ├── summary.md │ ├── system-calls.md │ └── system-calls │ │ ├── model-specific-registers.md │ │ └── syscall-and-sysret.md ├── legacy.md ├── legacy │ ├── accessing-parts-of-registers.md │ ├── accessing-parts-of-registers │ │ ├── an-unexpected-behavior.md │ │ ├── cisc-and-risc.md │ │ └── explanation.md │ ├── minimal-segmentation-in-long-mode.md │ ├── protected-mode.md │ ├── real-mode.md │ └── summary.md ├── models-of-computation.md ├── models-of-computation │ ├── assignment-forth-compiler-and-interpreter.md │ ├── finite-state-machines.md │ ├── forth-machine.md │ └── summary.md ├── virtual-memory.md └── virtual-memory │ ├── address-spaces.md │ ├── caching.md │ ├── efficiency.md │ ├── example-accessing-forbidden-address.md │ ├── example-mapping-file-into-memory.md │ ├── example-mapping-file-into-memory │ ├── chang-liang-de-zhu-ji-ming.md │ ├── complete-example.md │ ├── example-mapping-file-into-memory.md │ └── mnemonic-names-for-constants.md │ ├── features.md │ ├── implementation.md │ ├── implementation │ ├── address-translation-in-depth.md │ ├── page-sizes.md │ └── virtual-address-structure.md │ ├── memory-mapping.md │ ├── motivation.md │ └── summary.md ├── part2.md ├── part2 ├── basics.md ├── code-structure.md ├── good-code-practices.md ├── memory.md ├── syntax-semantics-and-pragmatics.md └── type-system.md ├── part3.md ├── part3 ├── multithreading.md ├── multithreading │ ├── c11-memory-model.md │ ├── c11-memory-model │ │ ├── atomics.md │ │ ├── memory-orderings-in-c11.md │ │ ├── operations.md │ │ └── overview.md │ ├── execution-order.md │ ├── how-strong-is-intel-64.md │ ├── introduction-to-pthreads.md │ ├── introduction-to-pthreads │ │ ├── condition-variables.md │ │ ├── creating-threads.md │ │ ├── deadlocks.md │ │ ├── example-distributed-factorization.md │ │ ├── livelocks.md │ │ ├── managing-threads.md │ │ ├── mutexes.md │ │ ├── spinlocks.md │ │ └── when-to-use-multithreading.md │ ├── memory-barriers.md │ ├── processes-and-threads.md │ ├── reordering-example.md │ ├── semaphores.md │ ├── strong-and-weak-memory-models.md │ ├── summary.md │ ├── what-is-lock-free-programming.md │ ├── what-is-volatile-and-what-is-not.md │ └── what-makes-multithreading-hard.md ├── performance.md ├── performance │ ├── caching.md │ ├── caching │ │ ├── bypassing-cache.md │ │ ├── example-binary-search-with-prefetching.md │ │ ├── example-matrix-initialization.md │ │ ├── how-do-we-use-cache-effectively.md │ │ └── prefetching.md │ ├── optimizations.md │ ├── optimizations │ │ ├── common-subexpressions-elimination.md │ │ ├── constant-propagation.md │ │ ├── general-advice.md │ │ ├── grouping-reads-and-writes-in-code.md │ │ ├── influence-of-branch-prediction.md │ │ ├── influence-of-execution-units.md │ │ ├── myth-about-fast-languages.md │ │ ├── named-return-value-optimization.md │ │ ├── omit-stack-frame-pointer.md │ │ └── tail-recursion.md │ ├── simd-instruction-class.md │ ├── sse-and-avx-extensions.md │ ├── sse-and-avx-extensions │ │ └── assignment-sepia-filter.md │ └── summary.md ├── shared-objects-and-code-models.md ├── shared-objects-and-code-models │ ├── code-models.md │ ├── code-models │ │ ├── large-code-model-no-pic.md │ │ ├── large-pic-code-model.md │ │ ├── medium-code-model-no-pic.md │ │ ├── medium-pic-code-model.md │ │ ├── small-code-model-no-pic.md │ │ └── small-pic-code-model.md │ ├── dynamic-loading.md │ ├── example-dynamic-library-in-c.md │ ├── examples.md │ ├── got-and-plt.md │ ├── optimizations.md │ ├── preloading.md │ ├── relocations-and-pic.md │ ├── summary.md │ ├── symbol-addressing-summary.md │ └── which-objects-are-linked.md ├── translation-details.md └── translation-details │ ├── format-output-vulnerabilities.md │ ├── function-calling-sequence.md │ ├── function-calling-sequence │ ├── calling-convention.md │ ├── example-simple-function-and-its-stack.md │ ├── red-zone.md │ ├── variable-number-of-arguments.md │ ├── vprintf-and-friends.md │ └── xmm-registers.md │ ├── inline.md │ ├── non-local-jumpssetjmp.md │ ├── non-local-jumpssetjmp │ └── volatile-and-setjmp.md │ ├── protection-mechanisms.md │ ├── protection-mechanisms │ ├── address-space-layout-randomization.md │ ├── dep.md │ └── security-cookie.md │ ├── restrict.md │ ├── security-issues.md │ ├── security-issues │ ├── format-output-vulnerabilities.md │ ├── return-to-libc.md │ └── stack-buffer-overrun.md │ ├── strict-aliasing.md │ ├── summary.md │ ├── volatile.md │ └── volatile │ ├── generated-code.md │ └── lazy-memory-allocation.md ├── part4.md └── part4 ├── appendix-a-using-gdb.md ├── appendix-b-using-make.md ├── appendix-c-system-calls.md ├── appendix-d-performance-tests-information.md └── bibliography.md /.gitignore: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/cch123/llp-trans/HEAD/.gitignore -------------------------------------------------------------------------------- /README.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/cch123/llp-trans/HEAD/README.md -------------------------------------------------------------------------------- /SUMMARY.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/cch123/llp-trans/HEAD/SUMMARY.md -------------------------------------------------------------------------------- /assets/1-1.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/cch123/llp-trans/HEAD/assets/1-1.jpg -------------------------------------------------------------------------------- /assets/1-2.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/cch123/llp-trans/HEAD/assets/1-2.jpg -------------------------------------------------------------------------------- /assets/1-3.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/cch123/llp-trans/HEAD/assets/1-3.jpg -------------------------------------------------------------------------------- /assets/1-4.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/cch123/llp-trans/HEAD/assets/1-4.gif -------------------------------------------------------------------------------- /assets/1-5.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/cch123/llp-trans/HEAD/assets/1-5.gif -------------------------------------------------------------------------------- /assets/1-6.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/cch123/llp-trans/HEAD/assets/1-6.gif -------------------------------------------------------------------------------- /assets/1-7.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/cch123/llp-trans/HEAD/assets/1-7.jpg -------------------------------------------------------------------------------- /assets/14-a.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/cch123/llp-trans/HEAD/assets/14-a.gif -------------------------------------------------------------------------------- /assets/14-b.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/cch123/llp-trans/HEAD/assets/14-b.gif -------------------------------------------------------------------------------- /assets/14-c.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/cch123/llp-trans/HEAD/assets/14-c.gif -------------------------------------------------------------------------------- /assets/14-d.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/cch123/llp-trans/HEAD/assets/14-d.gif -------------------------------------------------------------------------------- /assets/14-e.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/cch123/llp-trans/HEAD/assets/14-e.gif -------------------------------------------------------------------------------- /assets/14-f.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/cch123/llp-trans/HEAD/assets/14-f.gif -------------------------------------------------------------------------------- /assets/14-g.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/cch123/llp-trans/HEAD/assets/14-g.png -------------------------------------------------------------------------------- /assets/3-1.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/cch123/llp-trans/HEAD/assets/3-1.gif -------------------------------------------------------------------------------- /assets/3-2.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/cch123/llp-trans/HEAD/assets/3-2.gif -------------------------------------------------------------------------------- /assets/4-1.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/cch123/llp-trans/HEAD/assets/4-1.gif -------------------------------------------------------------------------------- /assets/4-2.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/cch123/llp-trans/HEAD/assets/4-2.jpg -------------------------------------------------------------------------------- /assets/4-3.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/cch123/llp-trans/HEAD/assets/4-3.gif -------------------------------------------------------------------------------- /assets/4-4.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/cch123/llp-trans/HEAD/assets/4-4.gif -------------------------------------------------------------------------------- /assets/5-1.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/cch123/llp-trans/HEAD/assets/5-1.jpg -------------------------------------------------------------------------------- /assets/6-1.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/cch123/llp-trans/HEAD/assets/6-1.gif -------------------------------------------------------------------------------- /assets/6-2.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/cch123/llp-trans/HEAD/assets/6-2.gif -------------------------------------------------------------------------------- /assets/6-3.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/cch123/llp-trans/HEAD/assets/6-3.gif -------------------------------------------------------------------------------- /assets/6-4.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/cch123/llp-trans/HEAD/assets/6-4.gif -------------------------------------------------------------------------------- /assets/6-5.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/cch123/llp-trans/HEAD/assets/6-5.gif -------------------------------------------------------------------------------- /assets/7-1.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/cch123/llp-trans/HEAD/assets/7-1.gif -------------------------------------------------------------------------------- /assets/7-10.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/cch123/llp-trans/HEAD/assets/7-10.jpg -------------------------------------------------------------------------------- /assets/7-11.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/cch123/llp-trans/HEAD/assets/7-11.gif -------------------------------------------------------------------------------- /assets/7-2.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/cch123/llp-trans/HEAD/assets/7-2.gif -------------------------------------------------------------------------------- /assets/7-3.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/cch123/llp-trans/HEAD/assets/7-3.gif -------------------------------------------------------------------------------- /assets/7-4.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/cch123/llp-trans/HEAD/assets/7-4.gif -------------------------------------------------------------------------------- /assets/7-5.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/cch123/llp-trans/HEAD/assets/7-5.gif -------------------------------------------------------------------------------- /assets/7-6.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/cch123/llp-trans/HEAD/assets/7-6.gif -------------------------------------------------------------------------------- /assets/7-7.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/cch123/llp-trans/HEAD/assets/7-7.gif -------------------------------------------------------------------------------- /assets/7-8.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/cch123/llp-trans/HEAD/assets/7-8.jpg -------------------------------------------------------------------------------- /assets/7-9.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/cch123/llp-trans/HEAD/assets/7-9.gif -------------------------------------------------------------------------------- /assets/9-1.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/cch123/llp-trans/HEAD/assets/9-1.gif -------------------------------------------------------------------------------- /assets/A418868_1_En_10_Chapter_Equa.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/cch123/llp-trans/HEAD/assets/A418868_1_En_10_Chapter_Equa.gif -------------------------------------------------------------------------------- /assets/A418868_1_En_11_Chapter_Equa.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/cch123/llp-trans/HEAD/assets/A418868_1_En_11_Chapter_Equa.gif -------------------------------------------------------------------------------- /assets/A418868_1_En_11_Fig1_HTML.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/cch123/llp-trans/HEAD/assets/A418868_1_En_11_Fig1_HTML.gif -------------------------------------------------------------------------------- /assets/A418868_1_En_11_Fig2_HTML.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/cch123/llp-trans/HEAD/assets/A418868_1_En_11_Fig2_HTML.gif -------------------------------------------------------------------------------- /assets/A418868_1_En_12_Fig1_HTML.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/cch123/llp-trans/HEAD/assets/A418868_1_En_12_Fig1_HTML.gif -------------------------------------------------------------------------------- /assets/A418868_1_En_12_Fig2_HTML.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/cch123/llp-trans/HEAD/assets/A418868_1_En_12_Fig2_HTML.gif -------------------------------------------------------------------------------- /assets/A418868_1_En_12_Fig3_HTML.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/cch123/llp-trans/HEAD/assets/A418868_1_En_12_Fig3_HTML.gif -------------------------------------------------------------------------------- /assets/A418868_1_En_12_Fig4_HTML.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/cch123/llp-trans/HEAD/assets/A418868_1_En_12_Fig4_HTML.gif -------------------------------------------------------------------------------- /assets/A418868_1_En_15_Fig1_HTML.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/cch123/llp-trans/HEAD/assets/A418868_1_En_15_Fig1_HTML.jpg -------------------------------------------------------------------------------- /assets/A418868_1_En_15_Fig2_HTML.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/cch123/llp-trans/HEAD/assets/A418868_1_En_15_Fig2_HTML.jpg -------------------------------------------------------------------------------- /assets/A418868_1_En_15_Fig3_HTML.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/cch123/llp-trans/HEAD/assets/A418868_1_En_15_Fig3_HTML.jpg -------------------------------------------------------------------------------- /assets/A418868_1_En_16_Chapter_Equa.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/cch123/llp-trans/HEAD/assets/A418868_1_En_16_Chapter_Equa.gif -------------------------------------------------------------------------------- /assets/A418868_1_En_18_Fig1_HTML.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/cch123/llp-trans/HEAD/assets/A418868_1_En_18_Fig1_HTML.jpg -------------------------------------------------------------------------------- /assets/A418868_1_En_18_Fig2_HTML.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/cch123/llp-trans/HEAD/assets/A418868_1_En_18_Fig2_HTML.jpg -------------------------------------------------------------------------------- /assets/A418868_1_En_18_Fig3_HTML.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/cch123/llp-trans/HEAD/assets/A418868_1_En_18_Fig3_HTML.jpg -------------------------------------------------------------------------------- /assets/A418868_1_En_18_Fig4_HTML.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/cch123/llp-trans/HEAD/assets/A418868_1_En_18_Fig4_HTML.jpg -------------------------------------------------------------------------------- /assets/A418868_1_En_5_Chapter_IEq1.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/cch123/llp-trans/HEAD/assets/A418868_1_En_5_Chapter_IEq1.gif -------------------------------------------------------------------------------- /part1.md: -------------------------------------------------------------------------------- 1 | # 汇编语言与计算机架构 2 | 3 | 4 | 5 | -------------------------------------------------------------------------------- /part1/assembly-language.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/cch123/llp-trans/HEAD/part1/assembly-language.md -------------------------------------------------------------------------------- /part1/assembly-language/assignment-inputoutput-library.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/cch123/llp-trans/HEAD/part1/assembly-language/assignment-inputoutput-library.md -------------------------------------------------------------------------------- /part1/assembly-language/assignment-inputoutput-library/self-evaluation.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/cch123/llp-trans/HEAD/part1/assembly-language/assignment-inputoutput-library/self-evaluation.md -------------------------------------------------------------------------------- /part1/assembly-language/example-calculating-string-length.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/cch123/llp-trans/HEAD/part1/assembly-language/example-calculating-string-length.md -------------------------------------------------------------------------------- /part1/assembly-language/example-output-register-contents.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/cch123/llp-trans/HEAD/part1/assembly-language/example-output-register-contents.md -------------------------------------------------------------------------------- /part1/assembly-language/example-output-register-contents/local-labels.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/cch123/llp-trans/HEAD/part1/assembly-language/example-output-register-contents/local-labels.md -------------------------------------------------------------------------------- /part1/assembly-language/example-output-register-contents/order-of-execution.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/cch123/llp-trans/HEAD/part1/assembly-language/example-output-register-contents/order-of-execution.md -------------------------------------------------------------------------------- /part1/assembly-language/example-output-register-contents/relative-addressing.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/cch123/llp-trans/HEAD/part1/assembly-language/example-output-register-contents/relative-addressing.md -------------------------------------------------------------------------------- /part1/assembly-language/function-calls.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/cch123/llp-trans/HEAD/part1/assembly-language/function-calls.md -------------------------------------------------------------------------------- /part1/assembly-language/setting-up-the-environment.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/cch123/llp-trans/HEAD/part1/assembly-language/setting-up-the-environment.md -------------------------------------------------------------------------------- /part1/assembly-language/setting-up-the-environment/working-with-code-examples.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/cch123/llp-trans/HEAD/part1/assembly-language/setting-up-the-environment/working-with-code-examples.md -------------------------------------------------------------------------------- /part1/assembly-language/summary.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/cch123/llp-trans/HEAD/part1/assembly-language/summary.md -------------------------------------------------------------------------------- /part1/assembly-language/working-with-data.md: -------------------------------------------------------------------------------- 1 | 2.5 处理数据 2 | 3 | -------------------------------------------------------------------------------- /part1/assembly-language/working-with-data/constant-precomputation.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/cch123/llp-trans/HEAD/part1/assembly-language/working-with-data/constant-precomputation.md -------------------------------------------------------------------------------- /part1/assembly-language/working-with-data/endianness.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/cch123/llp-trans/HEAD/part1/assembly-language/working-with-data/endianness.md -------------------------------------------------------------------------------- /part1/assembly-language/working-with-data/pointers-and-different-addressing-types.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/cch123/llp-trans/HEAD/part1/assembly-language/working-with-data/pointers-and-different-addressing-types.md -------------------------------------------------------------------------------- /part1/assembly-language/working-with-data/strings.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/cch123/llp-trans/HEAD/part1/assembly-language/working-with-data/strings.md -------------------------------------------------------------------------------- /part1/assembly-language/writing-hello-world.md: -------------------------------------------------------------------------------- 1 | 2.2 写一个 Hello World 2 | 3 | -------------------------------------------------------------------------------- /part1/assembly-language/writing-hello-world/basic-input-and-output.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/cch123/llp-trans/HEAD/part1/assembly-language/writing-hello-world/basic-input-and-output.md -------------------------------------------------------------------------------- /part1/assembly-language/writing-hello-world/basic-instructions.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/cch123/llp-trans/HEAD/part1/assembly-language/writing-hello-world/basic-instructions.md -------------------------------------------------------------------------------- /part1/assembly-language/writing-hello-world/program-structure.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/cch123/llp-trans/HEAD/part1/assembly-language/writing-hello-world/program-structure.md -------------------------------------------------------------------------------- /part1/basic-computer-architecture.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/cch123/llp-trans/HEAD/part1/basic-computer-architecture.md -------------------------------------------------------------------------------- /part1/basic-computer-architecture/evolution.md: -------------------------------------------------------------------------------- 1 | 1.2 进化 2 | 3 | -------------------------------------------------------------------------------- /part1/basic-computer-architecture/evolution/architecture-extensions.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/cch123/llp-trans/HEAD/part1/basic-computer-architecture/evolution/architecture-extensions.md -------------------------------------------------------------------------------- /part1/basic-computer-architecture/evolution/drawbacks-of-von-neumann-architecture.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/cch123/llp-trans/HEAD/part1/basic-computer-architecture/evolution/drawbacks-of-von-neumann-architecture.md -------------------------------------------------------------------------------- /part1/basic-computer-architecture/evolution/intel-64-architecture.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/cch123/llp-trans/HEAD/part1/basic-computer-architecture/evolution/intel-64-architecture.md -------------------------------------------------------------------------------- /part1/basic-computer-architecture/hardware-stack.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/cch123/llp-trans/HEAD/part1/basic-computer-architecture/hardware-stack.md -------------------------------------------------------------------------------- /part1/basic-computer-architecture/protection-rings.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/cch123/llp-trans/HEAD/part1/basic-computer-architecture/protection-rings.md -------------------------------------------------------------------------------- /part1/basic-computer-architecture/registers.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/cch123/llp-trans/HEAD/part1/basic-computer-architecture/registers.md -------------------------------------------------------------------------------- /part1/basic-computer-architecture/registers/general-purpose-registers.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/cch123/llp-trans/HEAD/part1/basic-computer-architecture/registers/general-purpose-registers.md -------------------------------------------------------------------------------- /part1/basic-computer-architecture/registers/other-registers.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/cch123/llp-trans/HEAD/part1/basic-computer-architecture/registers/other-registers.md -------------------------------------------------------------------------------- /part1/basic-computer-architecture/registers/system-registers.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/cch123/llp-trans/HEAD/part1/basic-computer-architecture/registers/system-registers.md -------------------------------------------------------------------------------- /part1/basic-computer-architecture/summary.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/cch123/llp-trans/HEAD/part1/basic-computer-architecture/summary.md -------------------------------------------------------------------------------- /part1/basic-computer-architecture/the-core-architecture.md: -------------------------------------------------------------------------------- 1 | 1.1 核心架构 2 | 3 | -------------------------------------------------------------------------------- /part1/basic-computer-architecture/the-core-architecture/model-of-computation.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/cch123/llp-trans/HEAD/part1/basic-computer-architecture/the-core-architecture/model-of-computation.md -------------------------------------------------------------------------------- /part1/basic-computer-architecture/the-core-architecture/von-neumann-architecture.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/cch123/llp-trans/HEAD/part1/basic-computer-architecture/the-core-architecture/von-neumann-architecture.md -------------------------------------------------------------------------------- /part1/compilation-pipeline.md: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /part1/compilation-pipeline/linking.md: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /part1/compilation-pipeline/preprocessor.md: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /part1/compilation-pipeline/translation.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/cch123/llp-trans/HEAD/part1/compilation-pipeline/translation.md -------------------------------------------------------------------------------- /part1/interrupts-and-system-calls.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/cch123/llp-trans/HEAD/part1/interrupts-and-system-calls.md -------------------------------------------------------------------------------- /part1/interrupts-and-system-calls/input-and-output.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/cch123/llp-trans/HEAD/part1/interrupts-and-system-calls/input-and-output.md -------------------------------------------------------------------------------- /part1/interrupts-and-system-calls/input-and-output/tr-register-and-task-state-segment.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/cch123/llp-trans/HEAD/part1/interrupts-and-system-calls/input-and-output/tr-register-and-task-state-segment.md -------------------------------------------------------------------------------- /part1/interrupts-and-system-calls/interrupts.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/cch123/llp-trans/HEAD/part1/interrupts-and-system-calls/interrupts.md -------------------------------------------------------------------------------- /part1/interrupts-and-system-calls/summary.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/cch123/llp-trans/HEAD/part1/interrupts-and-system-calls/summary.md -------------------------------------------------------------------------------- /part1/interrupts-and-system-calls/system-calls.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/cch123/llp-trans/HEAD/part1/interrupts-and-system-calls/system-calls.md -------------------------------------------------------------------------------- /part1/interrupts-and-system-calls/system-calls/model-specific-registers.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/cch123/llp-trans/HEAD/part1/interrupts-and-system-calls/system-calls/model-specific-registers.md -------------------------------------------------------------------------------- /part1/interrupts-and-system-calls/system-calls/syscall-and-sysret.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/cch123/llp-trans/HEAD/part1/interrupts-and-system-calls/system-calls/syscall-and-sysret.md -------------------------------------------------------------------------------- /part1/legacy.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/cch123/llp-trans/HEAD/part1/legacy.md -------------------------------------------------------------------------------- /part1/legacy/accessing-parts-of-registers.md: -------------------------------------------------------------------------------- 1 | 3.4 访问寄存器局部 2 | 3 | -------------------------------------------------------------------------------- /part1/legacy/accessing-parts-of-registers/an-unexpected-behavior.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/cch123/llp-trans/HEAD/part1/legacy/accessing-parts-of-registers/an-unexpected-behavior.md -------------------------------------------------------------------------------- /part1/legacy/accessing-parts-of-registers/cisc-and-risc.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/cch123/llp-trans/HEAD/part1/legacy/accessing-parts-of-registers/cisc-and-risc.md -------------------------------------------------------------------------------- /part1/legacy/accessing-parts-of-registers/explanation.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/cch123/llp-trans/HEAD/part1/legacy/accessing-parts-of-registers/explanation.md -------------------------------------------------------------------------------- /part1/legacy/minimal-segmentation-in-long-mode.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/cch123/llp-trans/HEAD/part1/legacy/minimal-segmentation-in-long-mode.md -------------------------------------------------------------------------------- /part1/legacy/protected-mode.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/cch123/llp-trans/HEAD/part1/legacy/protected-mode.md -------------------------------------------------------------------------------- /part1/legacy/real-mode.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/cch123/llp-trans/HEAD/part1/legacy/real-mode.md -------------------------------------------------------------------------------- /part1/legacy/summary.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/cch123/llp-trans/HEAD/part1/legacy/summary.md -------------------------------------------------------------------------------- /part1/models-of-computation.md: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /part1/models-of-computation/assignment-forth-compiler-and-interpreter.md: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /part1/models-of-computation/finite-state-machines.md: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /part1/models-of-computation/forth-machine.md: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /part1/models-of-computation/summary.md: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /part1/virtual-memory.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/cch123/llp-trans/HEAD/part1/virtual-memory.md -------------------------------------------------------------------------------- /part1/virtual-memory/address-spaces.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/cch123/llp-trans/HEAD/part1/virtual-memory/address-spaces.md -------------------------------------------------------------------------------- /part1/virtual-memory/caching.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/cch123/llp-trans/HEAD/part1/virtual-memory/caching.md -------------------------------------------------------------------------------- /part1/virtual-memory/efficiency.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/cch123/llp-trans/HEAD/part1/virtual-memory/efficiency.md -------------------------------------------------------------------------------- /part1/virtual-memory/example-accessing-forbidden-address.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/cch123/llp-trans/HEAD/part1/virtual-memory/example-accessing-forbidden-address.md -------------------------------------------------------------------------------- /part1/virtual-memory/example-mapping-file-into-memory.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/cch123/llp-trans/HEAD/part1/virtual-memory/example-mapping-file-into-memory.md -------------------------------------------------------------------------------- /part1/virtual-memory/example-mapping-file-into-memory/chang-liang-de-zhu-ji-ming.md: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /part1/virtual-memory/example-mapping-file-into-memory/complete-example.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/cch123/llp-trans/HEAD/part1/virtual-memory/example-mapping-file-into-memory/complete-example.md -------------------------------------------------------------------------------- /part1/virtual-memory/example-mapping-file-into-memory/example-mapping-file-into-memory.md: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /part1/virtual-memory/example-mapping-file-into-memory/mnemonic-names-for-constants.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/cch123/llp-trans/HEAD/part1/virtual-memory/example-mapping-file-into-memory/mnemonic-names-for-constants.md -------------------------------------------------------------------------------- /part1/virtual-memory/features.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/cch123/llp-trans/HEAD/part1/virtual-memory/features.md -------------------------------------------------------------------------------- /part1/virtual-memory/implementation.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/cch123/llp-trans/HEAD/part1/virtual-memory/implementation.md -------------------------------------------------------------------------------- /part1/virtual-memory/implementation/address-translation-in-depth.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/cch123/llp-trans/HEAD/part1/virtual-memory/implementation/address-translation-in-depth.md -------------------------------------------------------------------------------- /part1/virtual-memory/implementation/page-sizes.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/cch123/llp-trans/HEAD/part1/virtual-memory/implementation/page-sizes.md -------------------------------------------------------------------------------- /part1/virtual-memory/implementation/virtual-address-structure.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/cch123/llp-trans/HEAD/part1/virtual-memory/implementation/virtual-address-structure.md -------------------------------------------------------------------------------- /part1/virtual-memory/memory-mapping.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/cch123/llp-trans/HEAD/part1/virtual-memory/memory-mapping.md -------------------------------------------------------------------------------- /part1/virtual-memory/motivation.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/cch123/llp-trans/HEAD/part1/virtual-memory/motivation.md -------------------------------------------------------------------------------- /part1/virtual-memory/summary.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/cch123/llp-trans/HEAD/part1/virtual-memory/summary.md -------------------------------------------------------------------------------- /part2.md: -------------------------------------------------------------------------------- 1 | # C 编程语言 2 | 3 | 4 | 5 | -------------------------------------------------------------------------------- /part2/basics.md: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /part2/code-structure.md: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /part2/good-code-practices.md: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /part2/memory.md: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /part2/syntax-semantics-and-pragmatics.md: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /part2/type-system.md: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /part3.md: -------------------------------------------------------------------------------- 1 | # C 和汇编 2 | 3 | 4 | 5 | -------------------------------------------------------------------------------- /part3/multithreading.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/cch123/llp-trans/HEAD/part3/multithreading.md -------------------------------------------------------------------------------- /part3/multithreading/c11-memory-model.md: -------------------------------------------------------------------------------- 1 | 17.12 C11 内存模型 2 | 3 | -------------------------------------------------------------------------------- /part3/multithreading/c11-memory-model/atomics.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/cch123/llp-trans/HEAD/part3/multithreading/c11-memory-model/atomics.md -------------------------------------------------------------------------------- /part3/multithreading/c11-memory-model/memory-orderings-in-c11.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/cch123/llp-trans/HEAD/part3/multithreading/c11-memory-model/memory-orderings-in-c11.md -------------------------------------------------------------------------------- /part3/multithreading/c11-memory-model/operations.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/cch123/llp-trans/HEAD/part3/multithreading/c11-memory-model/operations.md -------------------------------------------------------------------------------- /part3/multithreading/c11-memory-model/overview.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/cch123/llp-trans/HEAD/part3/multithreading/c11-memory-model/overview.md -------------------------------------------------------------------------------- /part3/multithreading/execution-order.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/cch123/llp-trans/HEAD/part3/multithreading/execution-order.md -------------------------------------------------------------------------------- /part3/multithreading/how-strong-is-intel-64.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/cch123/llp-trans/HEAD/part3/multithreading/how-strong-is-intel-64.md -------------------------------------------------------------------------------- /part3/multithreading/introduction-to-pthreads.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/cch123/llp-trans/HEAD/part3/multithreading/introduction-to-pthreads.md -------------------------------------------------------------------------------- /part3/multithreading/introduction-to-pthreads/condition-variables.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/cch123/llp-trans/HEAD/part3/multithreading/introduction-to-pthreads/condition-variables.md -------------------------------------------------------------------------------- /part3/multithreading/introduction-to-pthreads/creating-threads.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/cch123/llp-trans/HEAD/part3/multithreading/introduction-to-pthreads/creating-threads.md -------------------------------------------------------------------------------- /part3/multithreading/introduction-to-pthreads/deadlocks.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/cch123/llp-trans/HEAD/part3/multithreading/introduction-to-pthreads/deadlocks.md -------------------------------------------------------------------------------- /part3/multithreading/introduction-to-pthreads/example-distributed-factorization.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/cch123/llp-trans/HEAD/part3/multithreading/introduction-to-pthreads/example-distributed-factorization.md -------------------------------------------------------------------------------- /part3/multithreading/introduction-to-pthreads/livelocks.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/cch123/llp-trans/HEAD/part3/multithreading/introduction-to-pthreads/livelocks.md -------------------------------------------------------------------------------- /part3/multithreading/introduction-to-pthreads/managing-threads.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/cch123/llp-trans/HEAD/part3/multithreading/introduction-to-pthreads/managing-threads.md -------------------------------------------------------------------------------- /part3/multithreading/introduction-to-pthreads/mutexes.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/cch123/llp-trans/HEAD/part3/multithreading/introduction-to-pthreads/mutexes.md -------------------------------------------------------------------------------- /part3/multithreading/introduction-to-pthreads/spinlocks.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/cch123/llp-trans/HEAD/part3/multithreading/introduction-to-pthreads/spinlocks.md -------------------------------------------------------------------------------- /part3/multithreading/introduction-to-pthreads/when-to-use-multithreading.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/cch123/llp-trans/HEAD/part3/multithreading/introduction-to-pthreads/when-to-use-multithreading.md -------------------------------------------------------------------------------- /part3/multithreading/memory-barriers.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/cch123/llp-trans/HEAD/part3/multithreading/memory-barriers.md -------------------------------------------------------------------------------- /part3/multithreading/processes-and-threads.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/cch123/llp-trans/HEAD/part3/multithreading/processes-and-threads.md -------------------------------------------------------------------------------- /part3/multithreading/reordering-example.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/cch123/llp-trans/HEAD/part3/multithreading/reordering-example.md -------------------------------------------------------------------------------- /part3/multithreading/semaphores.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/cch123/llp-trans/HEAD/part3/multithreading/semaphores.md -------------------------------------------------------------------------------- /part3/multithreading/strong-and-weak-memory-models.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/cch123/llp-trans/HEAD/part3/multithreading/strong-and-weak-memory-models.md -------------------------------------------------------------------------------- /part3/multithreading/summary.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/cch123/llp-trans/HEAD/part3/multithreading/summary.md -------------------------------------------------------------------------------- /part3/multithreading/what-is-lock-free-programming.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/cch123/llp-trans/HEAD/part3/multithreading/what-is-lock-free-programming.md -------------------------------------------------------------------------------- /part3/multithreading/what-is-volatile-and-what-is-not.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/cch123/llp-trans/HEAD/part3/multithreading/what-is-volatile-and-what-is-not.md -------------------------------------------------------------------------------- /part3/multithreading/what-makes-multithreading-hard.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/cch123/llp-trans/HEAD/part3/multithreading/what-makes-multithreading-hard.md -------------------------------------------------------------------------------- /part3/performance.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/cch123/llp-trans/HEAD/part3/performance.md -------------------------------------------------------------------------------- /part3/performance/caching.md: -------------------------------------------------------------------------------- 1 | 16.2 缓存 2 | 3 | -------------------------------------------------------------------------------- /part3/performance/caching/bypassing-cache.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/cch123/llp-trans/HEAD/part3/performance/caching/bypassing-cache.md -------------------------------------------------------------------------------- /part3/performance/caching/example-binary-search-with-prefetching.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/cch123/llp-trans/HEAD/part3/performance/caching/example-binary-search-with-prefetching.md -------------------------------------------------------------------------------- /part3/performance/caching/example-matrix-initialization.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/cch123/llp-trans/HEAD/part3/performance/caching/example-matrix-initialization.md -------------------------------------------------------------------------------- /part3/performance/caching/how-do-we-use-cache-effectively.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/cch123/llp-trans/HEAD/part3/performance/caching/how-do-we-use-cache-effectively.md -------------------------------------------------------------------------------- /part3/performance/caching/prefetching.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/cch123/llp-trans/HEAD/part3/performance/caching/prefetching.md -------------------------------------------------------------------------------- /part3/performance/optimizations.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/cch123/llp-trans/HEAD/part3/performance/optimizations.md -------------------------------------------------------------------------------- /part3/performance/optimizations/common-subexpressions-elimination.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/cch123/llp-trans/HEAD/part3/performance/optimizations/common-subexpressions-elimination.md -------------------------------------------------------------------------------- /part3/performance/optimizations/constant-propagation.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/cch123/llp-trans/HEAD/part3/performance/optimizations/constant-propagation.md -------------------------------------------------------------------------------- /part3/performance/optimizations/general-advice.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/cch123/llp-trans/HEAD/part3/performance/optimizations/general-advice.md -------------------------------------------------------------------------------- /part3/performance/optimizations/grouping-reads-and-writes-in-code.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/cch123/llp-trans/HEAD/part3/performance/optimizations/grouping-reads-and-writes-in-code.md -------------------------------------------------------------------------------- /part3/performance/optimizations/influence-of-branch-prediction.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/cch123/llp-trans/HEAD/part3/performance/optimizations/influence-of-branch-prediction.md -------------------------------------------------------------------------------- /part3/performance/optimizations/influence-of-execution-units.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/cch123/llp-trans/HEAD/part3/performance/optimizations/influence-of-execution-units.md -------------------------------------------------------------------------------- /part3/performance/optimizations/myth-about-fast-languages.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/cch123/llp-trans/HEAD/part3/performance/optimizations/myth-about-fast-languages.md -------------------------------------------------------------------------------- /part3/performance/optimizations/named-return-value-optimization.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/cch123/llp-trans/HEAD/part3/performance/optimizations/named-return-value-optimization.md -------------------------------------------------------------------------------- /part3/performance/optimizations/omit-stack-frame-pointer.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/cch123/llp-trans/HEAD/part3/performance/optimizations/omit-stack-frame-pointer.md -------------------------------------------------------------------------------- /part3/performance/optimizations/tail-recursion.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/cch123/llp-trans/HEAD/part3/performance/optimizations/tail-recursion.md -------------------------------------------------------------------------------- /part3/performance/simd-instruction-class.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/cch123/llp-trans/HEAD/part3/performance/simd-instruction-class.md -------------------------------------------------------------------------------- /part3/performance/sse-and-avx-extensions.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/cch123/llp-trans/HEAD/part3/performance/sse-and-avx-extensions.md -------------------------------------------------------------------------------- /part3/performance/sse-and-avx-extensions/assignment-sepia-filter.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/cch123/llp-trans/HEAD/part3/performance/sse-and-avx-extensions/assignment-sepia-filter.md -------------------------------------------------------------------------------- /part3/performance/summary.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/cch123/llp-trans/HEAD/part3/performance/summary.md -------------------------------------------------------------------------------- /part3/shared-objects-and-code-models.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/cch123/llp-trans/HEAD/part3/shared-objects-and-code-models.md -------------------------------------------------------------------------------- /part3/shared-objects-and-code-models/code-models.md: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /part3/shared-objects-and-code-models/code-models/large-code-model-no-pic.md: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /part3/shared-objects-and-code-models/code-models/large-pic-code-model.md: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /part3/shared-objects-and-code-models/code-models/medium-code-model-no-pic.md: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /part3/shared-objects-and-code-models/code-models/medium-pic-code-model.md: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /part3/shared-objects-and-code-models/code-models/small-code-model-no-pic.md: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /part3/shared-objects-and-code-models/code-models/small-pic-code-model.md: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /part3/shared-objects-and-code-models/dynamic-loading.md: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /part3/shared-objects-and-code-models/example-dynamic-library-in-c.md: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /part3/shared-objects-and-code-models/examples.md: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /part3/shared-objects-and-code-models/got-and-plt.md: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /part3/shared-objects-and-code-models/optimizations.md: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /part3/shared-objects-and-code-models/preloading.md: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /part3/shared-objects-and-code-models/relocations-and-pic.md: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /part3/shared-objects-and-code-models/summary.md: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /part3/shared-objects-and-code-models/symbol-addressing-summary.md: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /part3/shared-objects-and-code-models/which-objects-are-linked.md: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /part3/translation-details.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/cch123/llp-trans/HEAD/part3/translation-details.md -------------------------------------------------------------------------------- /part3/translation-details/format-output-vulnerabilities.md: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /part3/translation-details/function-calling-sequence.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/cch123/llp-trans/HEAD/part3/translation-details/function-calling-sequence.md -------------------------------------------------------------------------------- /part3/translation-details/function-calling-sequence/calling-convention.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/cch123/llp-trans/HEAD/part3/translation-details/function-calling-sequence/calling-convention.md -------------------------------------------------------------------------------- /part3/translation-details/function-calling-sequence/example-simple-function-and-its-stack.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/cch123/llp-trans/HEAD/part3/translation-details/function-calling-sequence/example-simple-function-and-its-stack.md -------------------------------------------------------------------------------- /part3/translation-details/function-calling-sequence/red-zone.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/cch123/llp-trans/HEAD/part3/translation-details/function-calling-sequence/red-zone.md -------------------------------------------------------------------------------- /part3/translation-details/function-calling-sequence/variable-number-of-arguments.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/cch123/llp-trans/HEAD/part3/translation-details/function-calling-sequence/variable-number-of-arguments.md -------------------------------------------------------------------------------- /part3/translation-details/function-calling-sequence/vprintf-and-friends.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/cch123/llp-trans/HEAD/part3/translation-details/function-calling-sequence/vprintf-and-friends.md -------------------------------------------------------------------------------- /part3/translation-details/function-calling-sequence/xmm-registers.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/cch123/llp-trans/HEAD/part3/translation-details/function-calling-sequence/xmm-registers.md -------------------------------------------------------------------------------- /part3/translation-details/inline.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/cch123/llp-trans/HEAD/part3/translation-details/inline.md -------------------------------------------------------------------------------- /part3/translation-details/non-local-jumpssetjmp.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/cch123/llp-trans/HEAD/part3/translation-details/non-local-jumpssetjmp.md -------------------------------------------------------------------------------- /part3/translation-details/non-local-jumpssetjmp/volatile-and-setjmp.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/cch123/llp-trans/HEAD/part3/translation-details/non-local-jumpssetjmp/volatile-and-setjmp.md -------------------------------------------------------------------------------- /part3/translation-details/protection-mechanisms.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/cch123/llp-trans/HEAD/part3/translation-details/protection-mechanisms.md -------------------------------------------------------------------------------- /part3/translation-details/protection-mechanisms/address-space-layout-randomization.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/cch123/llp-trans/HEAD/part3/translation-details/protection-mechanisms/address-space-layout-randomization.md -------------------------------------------------------------------------------- /part3/translation-details/protection-mechanisms/dep.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/cch123/llp-trans/HEAD/part3/translation-details/protection-mechanisms/dep.md -------------------------------------------------------------------------------- /part3/translation-details/protection-mechanisms/security-cookie.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/cch123/llp-trans/HEAD/part3/translation-details/protection-mechanisms/security-cookie.md -------------------------------------------------------------------------------- /part3/translation-details/restrict.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/cch123/llp-trans/HEAD/part3/translation-details/restrict.md -------------------------------------------------------------------------------- /part3/translation-details/security-issues.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/cch123/llp-trans/HEAD/part3/translation-details/security-issues.md -------------------------------------------------------------------------------- /part3/translation-details/security-issues/format-output-vulnerabilities.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/cch123/llp-trans/HEAD/part3/translation-details/security-issues/format-output-vulnerabilities.md -------------------------------------------------------------------------------- /part3/translation-details/security-issues/return-to-libc.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/cch123/llp-trans/HEAD/part3/translation-details/security-issues/return-to-libc.md -------------------------------------------------------------------------------- /part3/translation-details/security-issues/stack-buffer-overrun.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/cch123/llp-trans/HEAD/part3/translation-details/security-issues/stack-buffer-overrun.md -------------------------------------------------------------------------------- /part3/translation-details/strict-aliasing.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/cch123/llp-trans/HEAD/part3/translation-details/strict-aliasing.md -------------------------------------------------------------------------------- /part3/translation-details/summary.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/cch123/llp-trans/HEAD/part3/translation-details/summary.md -------------------------------------------------------------------------------- /part3/translation-details/volatile.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/cch123/llp-trans/HEAD/part3/translation-details/volatile.md -------------------------------------------------------------------------------- /part3/translation-details/volatile/generated-code.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/cch123/llp-trans/HEAD/part3/translation-details/volatile/generated-code.md -------------------------------------------------------------------------------- /part3/translation-details/volatile/lazy-memory-allocation.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/cch123/llp-trans/HEAD/part3/translation-details/volatile/lazy-memory-allocation.md -------------------------------------------------------------------------------- /part4.md: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /part4/appendix-a-using-gdb.md: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /part4/appendix-b-using-make.md: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /part4/appendix-c-system-calls.md: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /part4/appendix-d-performance-tests-information.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/cch123/llp-trans/HEAD/part4/appendix-d-performance-tests-information.md -------------------------------------------------------------------------------- /part4/bibliography.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/cch123/llp-trans/HEAD/part4/bibliography.md --------------------------------------------------------------------------------