《Programming from the Ground Up》阅读笔记:p1-p18

programming,from,the,ground,up,p1,p18 · 浏览次数 : 0

小编点评

第一天学习总结: 1. fetch-execute cycle:CPU逐个从内存中读取指令并执行,这是一个周期。 2. general-purpose vs special-purpose registers:通用寄存器用于通用计算,专用寄存器用于特定任务。 3. addressing modes:包括立即寻址、直接寻址、寄存器寻址、变址寻址、间接寻址和基址寻址。 4. frustration:大多数编程入门书籍令人沮丧。 5. base on vs base off of:Modern computer architecture基于冯·诺依曼架构,该架构以创始人命名。 6. divide up into vs divide into:都可以表示将某物分成几个部分,但up表示“至多”。 其他信息: 1. 为什么要看这本书:因为想找与汇编相关的书籍,发现这本书有趣。 2. 学习方法:遇到不懂的内容,先多次阅读,然后相信自己,稍后再回来看。 3. 参考资料:包括编程和英语相关的资源。

正文

《Programming from the Ground Up》学习第1天,p1-18总结,总计18页。

一、技术总结

1.fetch-execute cycle

p9, The CPU reads in instructions from memory one at a time and executes them. This is known as the fetch-execute cycle。

2.general-purpose vs special-purpose

(1)general-purpose: 通用的,翻译的时候为了简洁性,可省略“的”字。例如:general-purpose register——通用寄存器。

(2)special-purpose:专用的,翻译的时候为了简洁性,可省略“的”字。例如:special-purpose register——专用寄存器。当然,也可以翻译成“特殊的”。

3.addressing mode

(1)immediate mode(立即寻址)

(2)direct addressing mode(直接寻址)

(3)register addressing mode(寄存器寻址)

(4)indexed addressing mode(变址寻址)

(5)indirect addressing mode(间接寻址)

(6)base pointer addressing mode(基址寻址)

其实这里是重点,但是书中没有详细的例子,这里先了解概念,继续往下读。

二、英语总结

1.with style

p1, I enjoy the challenge to not only make a working program, but to do so with style。

“with style”的意思是“put some thougt, design and so on into sth, and make sth impressive”。style在这里指的是编程风格,例如:谷歌的编程风格指南https://google.github.io/styleguide/。

2.concept vs conception

参考stackexchange(https://ell.stackexchange.com/questions/7620/concept-and-conception)的回答:

You use conception when talking about an idea or notion that someone has. When used in this sense, it always belongs to someone, or to a group of people. A concept is simply an idea or notion, in an abstract sense. It belongs to no one.

For example, you and I may agree that:

Freedom is a concept.

...in that we both agree that there exists an idea called "freedom." However, it is possible that:

Your conception of freedom differs from mine.

...in that if we were both asked to define freedom, we would give two different answers. Your mental model of the concept of freedom is your conception of it.

3.frustrate

p1, Most introductory books on programming frustrate me to no end。

frustrate: to make sb feel annoyed or less confident(使xxx沮丧)。

to no end: 无止境的。

所以这句话的意思是“大多数关于编程的介绍性书籍都让我感到无止境的沮丧”。其实自己是理解英文的意思的,但是还想翻译成中文,这个习惯不好。理解英文后应该继续往下读。

4.base on vs base off of

p7, Modern computer architecture is based off of an architecture called the Von Neumann architecture, named after its creator。

在这句话中base off of可以写作base off, 也可以使用base on/base upon。base off美式英语中用得多一点,不那么正式(casual)。base on英式英语中用得多一点,更正式一点(formal)。

5.divide up into vs divide into

p7, The Von Neumann architecture divides the computer up into two main parts - the CPU(Central Processing Unit) and the memory。

这里的divide up into可以使用divide into代替。虽然两者意思差不多,但使用up的时候,有“至多”之意,这种用法比较普遍。

三、其它

1.为什么看这本书?

在看《Compilers: Principles, Techniques and Tools》时,里面有些跟汇编相关的内容,于是想找一些跟汇编有关的书,便发现了这本《Programming From The Ground Up》,读起来挺有意思的——比如作者说“第一遍看不懂,那就看第二遍;还是看不懂,暂且先记住它,后面再回头看”。当然,其实《Programming From The Ground Up》这本书不是介绍汇编语言的,而是已汇编语言作为示例让大家入门编程的。既然觉得有意思,那就看看吧,反正也就326页。

2.学习方法

p2, If you don't understand something the first time, reread it. If you still don't understand it, it is sometimes best to take it by faith and come back to it later. Ofter after more exposure to programming the ideas will make more sense.

四、参考资料

1. 编程

(1)Jonathan Bartlett,《Programming From The Ground Up》:https://book.douban.com/subject/1787855/

2. 英语

(1)Etymology Dictionary:https://www.etymonline.com

(2) Cambridge Dictionary:https://dictionary.cambridge.org

欢迎搜索及关注:编程人(a_codists)

与《Programming from the Ground Up》阅读笔记:p1-p18相似的内容:

《Programming from the Ground Up》阅读笔记:p1-p18

《Programming from the Ground Up》学习第1天,p1-18总结,总计18页。 一、技术总结 1.fetch-execute cycle p9, The CPU reads in instructions from memory one at a time and exec

FAQ docker运行容器时遇到的一个iptables的报错

现象 某个同学执行docker启动容器的时候提示 docker: Error response from daemon: driver failed programming external connectivity on endpoint frosty_montalcini (5f23d1b819

[转帖]简洁的 Bash Programming 技巧

https://kodango.com/simple-bash-programming-skills 简洁的 Bash Programming 技巧这一系列文章专门介绍Bash编程中一些简洁的技巧,帮助大家提供 Bash 编程的效率,目前该系列已经有三篇文章,有兴趣的同学可以继续阅读其它两篇续篇(一

[转帖]简洁的 Bash Programming 技巧续篇

https://kodango.com/simple-bash-programming-skills 简洁的 Bash Programming 技巧系列文章专门介绍Bash编程中一些简洁的技巧,帮助大家提高平时 Bash 编程的效率。继上一篇文章发布后,收到很多读者的反响,所以我决定继续将自己学到的

[转帖]简洁的 Bash Programming 技巧(三)

这是简洁的 Bash Programming 技巧系列的第三篇文章,这一系列的文章专门介绍Bash编程中一些简洁的技巧,帮助大家提高平时 Bash 编程的效率。有兴趣的同学可以回顾下之前的两篇文章(一)和续篇。 1. 替换语法${parameter/pattern/string}的妙用 ${para

[转帖]技术派-关于最佳线程数的计算的准确理解

Venkat Subramaniam 博士在《Programming Concurrency on the JVM》中提到关于最优线程数的计算: The minimum number of threads is equal to the number of available cores. If a

[转帖]《AWK程序设计语言》笔记(1)—— AWK入门与简单案例

原文为 《The AWK Programming Language》,GitHub上有中译版,不过有些内容翻译的比较奇怪,建议跟原版对照着看 https://github.com/wuzhouhui/awk 本篇的小案例基本均基于文件 emp.data,三个字段分别为:员工名、每小时工资、工作时长,

AOP(面向切面编程)

AOP(Aspect Oriented Programming,面向切面编程),通过预编译方式和运行期动态代理实现程序功能的统一维护的一种技术。

C++ 多态与虚拟:Class 语法语义

1.object与class:在object-oriented programming编程领域,对象(object)有更严格的定义。对象是由数据结构和用于处理该结构的过程(称为methods)组成的实体(instance)。这些方法由对象接收的消息激活。一个对象的内部数据结构与其他对象完全隔离(此属

Java算法之动态规划详解-买卖股票最佳时机

①动态规划 动态规划(Dynamic Programming,DP)是运筹学的一个分支,是求解决策过程最优化的过程。20世纪50年代初,美国数学家贝尔曼(R.Bellman)等人在研究多阶段决策过程的优化问题时,提出了著名的最优化原理,从而创立了动态规划。动态规划的应用极其广泛,包括工程技术、经济、