From 931847828060842fb3ce114f24e454690db372f3 Mon Sep 17 00:00:00 2001 From: chai2010 Date: Sat, 19 May 2018 08:13:11 +0800 Subject: [PATCH] =?UTF-8?q?ch3:=20=E5=89=8D=E8=A8=80?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- SUMMARY.md | 2 +- ch3-asm/readme.md | 11 +++++++++-- 2 files changed, 10 insertions(+), 3 deletions(-) diff --git a/SUMMARY.md b/SUMMARY.md index 1e53f03..aeb9335 100644 --- a/SUMMARY.md +++ b/SUMMARY.md @@ -22,7 +22,7 @@ * [2.10. Go实现Python模块](ch2-cgo/ch2-10-py-module.md) * [2.11. 编译和链接参数](ch2-cgo/ch2-11-link.md) * [2.12. 补充说明](ch2-cgo/ch2-12-faq.md) -* [第三章 汇编语言(TODO)](ch3-asm/readme.md) +* [第三章 汇编语言](ch3-asm/readme.md) * [3.1. 汇编基础(TODO)](ch3-asm/ch3-01-basic.md) * [3.2. 控制流(TODO)](ch3-asm/ch3-02-control-flow.md) * [3.3. 包变量(TODO)](ch3-asm/ch3-03-var.md) diff --git a/ch3-asm/readme.md b/ch3-asm/readme.md index 0734dba..eda2cde 100644 --- a/ch3-asm/readme.md +++ b/ch3-asm/readme.md @@ -1,3 +1,10 @@ -# 第三章 Go汇编语言(TODO) +# 第三章 Go汇编语言 + +Go语言中很多设计思想和工具都是传承自Plan9操作系统,Go汇编语言也是基于Plan9汇编演化而来。根据Rob Pike的介绍,大神Ken Thompson在1986年为Plan9系统编写的C语言编译器输出的汇编伪代码就是Plan9汇编的前身。所谓的Plan9汇编语言只是便于以手工方式书写该C语言编译器输出的汇编伪代码而已。 + +无论高级语言如何发展,作为最接近CPU的汇编语言的地方依然是无法彻底被替代的。只有通过汇编语言才能彻底挖掘CPU芯片的全部功能,因此操作系统的引导过程必须要依赖汇编语言的帮助。只有通过汇编语言才能彻底榨干CPU芯片的性能,因此很多底层的加密解密等对性能敏感的算法会考虑通过汇编语言进行性能优化。 + +对于每一个严肃的Gopher,Go汇编语言都是一个不可忽视的技术。因为哪怕只懂一点点汇编,也便于更好地理解计算机,将更容易理解Go语言中动态栈/接口等高级特性的实现原理。而且掌握了Go汇编语言之后,你将不用担心再被其它所谓的任何高级编程语言用户鄙视。 + +本章我们将简单地探讨Go汇编语言的基础用法。 -TODO