当然最简单快捷的方式就是学好英语然后买一本原文版。

甚至于你可以在英文不怎么太好的情况下购买一本原文版,毕竟CSAPP的用词并不会太难,相对来讲甚至可能会比你平常使用的英语教材还简单,毕竟图文并茂。

比如3.4.2中的

3.4.2 Data Movement Instructions
 Among the most heavily used instructions are those that copy data from one location to another. The generality of the operand notation allows a simple data movement instruction to express a range of possibilities that in many machines would require a number of different instructions. We present a number of different data movement instructions, differing in their source and destination types, what conversions they perform, and other side effects they may have. In our presentation, we group the many different instructions into instruction classes, where the instructions in a class perform the same operation but with different operand sizes.
 Figure 3.4 lists the simplest form of data movement instructions- -MOV class. These instructions copy data from a source location to a destination location without any transformation. The class consists of four instructions: movb, novw, mov1, and movq. AIl four of these instructions have similar efects; they dffer primarily in that they operate on data of dfferent sizes: 1, 2, 4. and 8 bytes respectively.

可能大家看到这么长的英文头都大了,别说学习,读完都成了问题。

那么我问大家,中文课本的重点内容会放在哪里,开头吗?肯定不是。教材要考虑如何给予学生一个理由,一个去思考接下来内容为何存在的理由。比如说,其实这里第一整段都是这个,你完~~~~~全可以略读甚至是不看。

重点是第二段文字,第一句话就点出了短期内的最大重心操作——MOV,并于段末介绍了按照移动单位大小进行的分类。

再往后看是位于新一面顶部的图表,这里简单还原一下:

Instruction   Effect Description
MOV S,D D<-S Move
 movb     Move byte
 movw     Move word
 movl     Move double word
 movq     Move quad word
movabsq I,R R<-I Move absolute quad word

这就是图文并茂中的图。它的重要性完全临驾于以上两段文字之上,最坏的情况就算你完全不通英语也可以读的半懂不懂的

就是这张必定要记下来背下来的图。

这张图给了什么信息呢?

其一看表头,好的看不懂也没关系。

其二观察竖排文字之间的关系,可以很快发现第一列都有共通的mov指令,并且最后一个字母虽然不同但都与最后执行的操作简写相关(movl不一样)。

其三分析内部逻辑与上文的关联,上文提到过4种按照大小分类的mov指令,分别为1,2,4,8个byte的移动量。观察图表很容易得出movb就是那个移动1byte的,依次类推word=2byte等等等。

好了到这里这一章节到此最重要的部分基本掌握。并不会有多大的阻碍感对不对。

至少比起中文版那种“明明我平时也是用的这语言为什么突然就看不懂”的气氛要好。

另外对于课后习题这种东西,不太好参考上面这种学习方法的话,建议先看答案理清其中一小部分逻辑关系然后自己对应依次类推。

关于CSAPP的学习:如何与如同机翻的文字搏斗及如何快速理解冗长的说明相关推荐

  1. TensorFlow学习笔记(二):快速理解Tutorial第一个例子-MNIST机器学习入门 标签: 机器学习SoftmaxTensorFlow教程 2016-08-02 22:12 3729人阅

    TensorFlow学习笔记(二):快速理解Tutorial第一个例子-MNIST机器学习入门 标签: 机器学习SoftmaxTensorFlow教程 2016-08-02 22:12 3729人阅读 ...

  2. [Python人工智能] 三十.Keras深度学习构建CNN识别阿拉伯手写文字图像

    从本专栏开始,作者正式研究Python深度学习.神经网络及人工智能相关知识.前一篇文章分享了生成对抗网络GAN的基础知识,包括什么是GAN.常用算法(CGAN.DCGAN.infoGAN.WGAN). ...

  3. 学习逆向知识之用于游戏外挂的实现.第二讲,快速寻找植物大战僵尸阳光基址.以及动态基址跟静态基址的区别...

    通过游戏外挂,学习逆向技术之快速寻找植物大战僵尸阳光基址.以及动态基址跟静态基址的区别 一丶静态基址. 动态基址. 基址的区别 通过上一讲超级马里奥的游戏外挂技术制作.我们学习到了静态基址.以及观看内 ...

  4. [Python图像识别] 四十七.Keras深度学习构建CNN识别阿拉伯手写文字图像

    该系列文章是讲解Python OpenCV图像处理知识,前期主要讲解图像入门.OpenCV基础用法,中期讲解图像处理的各种算法,包括图像锐化算子.图像增强技术.图像分割等,后期结合深度学习研究图像识别 ...

  5. Keras深度学习实战(37)——手写文字识别

    Keras深度学习实战(37)--手写文字识别 0. 前言 1. 手写文字识别相关背景 1.1 Connectionist temporal classification (CTC) 1.2 解码 C ...

  6. 深度学习实战14(进阶版)-手写文字OCR识别,手写笔记也可以识别了

    大家好,我是微学AI,今天给大家带来手写OCR识别的项目.手写的文稿在日常生活中较为常见,比如笔记.会议记录,合同签名.手写书信等,手写体的文字到处都有,所以针对手写体识别也是有较大的需求.目前手写体 ...

  7. 【学习记录】Inception结构的简单介绍及Filter Concatenation的理解

    文章目录 [学习记录]Inception结构的简单介绍及Filter Concatenation的理解 Inception Filter Concatenation [学习记录]Inception结构 ...

  8. 【安卓学习之开源项目】 ParrotTongue:文字转语音(含LeLeTextToVoice、TextToMp3项目)

    █ [安卓学习之开源项目] ParrotTongue:文字转语音(含LeLeTextToVoice.TextToMp3项目) █ 系列文章目录 提示:这里是收集了和音频有关的文章 [安卓学习之MP3] ...

  9. 深度学习实战(一)快速理解实现风格迁移

    前言 Gatys大神之前发表了一篇利用风格迁移进行作画的文章,让普通的照片具有名人的画风,效果如下: 让一篇普通的图片有了梵高的风格,厉害了. 文章链接:A Neural Algorithm of A ...

最新文章

  1. 错误名称:EntityCommandExecutionException
  2. LeetCode Verify Preorder Serialization of a Binary Tree
  3. Opencv头文件记要~
  4. 为啥地址线是20根则存储单元个数为2的20
  5. matlab常用函数——文件操作函数
  6. 全选按钮的使用。winfrom程序中,对全选按钮的理解,欢迎拍砖!
  7. c语言之优先级 结合性与自增运算,C语言之优先级、结合性与自增运算
  8. idea快捷操作_IDEA插件系列 快捷键神器!Key Promoter X
  9. 不同级别成员对应三种继承的结果:
  10. 线程控制、如何给面试官描述线程不安全的情况?模拟黄牛抢票展现不安全的情况及解决方式、互斥锁加锁解锁
  11. @广州开发者,华为送来一份说明书——助你轻松应对开发难题
  12. TextEditor
  13. myBatis之入门示例
  14. 无法将数据库从SINGLE_USER模式切换回MULTI_USER模式(Error 5064)
  15. windows 环境下 0x色彩对应表
  16. APP加固案例:慈溪农村商业银行
  17. 巧用模板和友联类型为vc++单元测试加一利器
  18. lsdyna如何设置set中的node_list_ANSA中进行二次开发的Python基础知识
  19. U盘启动如何进入pe
  20. jQuery 加入购物车 弹窗

热门文章

  1. 804.唯一摩尔斯密码词
  2. 拼多多为什么不显示评论
  3. 显示器AutoColor原理(TSUM系列芯片)
  4. Stripe支付微信小程序端完整解决方案
  5. 一支巧乐兹引发的感想(这个标题实在没有创意)
  6. 全志H616芯片方案香橙派zero2开发板连接USB麦克风的使用方法
  7. 基于unity+HTC VIVE的室内漫游交互(教你如何“无代码”VR交互)
  8. 数据库改造:怎样用MySQL对10亿级订单量进行分库分表?
  9. 工控机和服务器哪个稳定性高,简单分析工控机和服务器有什么不同
  10. ftp下载怎么操作,使用教程