《汇编语言》学习(一)基础知识

时间:2021-04-12 00:54:45

    最近看了谢恩铭同学的博客“学习汇编对编程有什么帮助”(http://www.jianshu.com/p/ef4b0442b3ce),感觉很有必要系统地学习一下汇编语言,于是把书架上的《汇编语言》(第三版,王爽著)拿了出来,加入了最近的学习计划中。

    本系列文章主要分享我在学习过程中的心得和知识点总结,以及课后习题的答案。

    除谢恩铭分享的答案外,我还在网上搜到如下答案文档:

    http://www.mianfeiwendang.com/doc/f45b265b0724c324a7d3ee5f/3

    此外,也分享一个汇编编程论坛:

    http://bbs.bccn.net/forum-126-1.html


    最后,我是在虚拟机中安装win7 32系统,来运行汇编程序的,下面的链接是配置16汇编的方法:

    http://www.cnblogs.com/S-E-P/archive/2011/05/18/2049730.html


    本文后续部分将贴出第一章《基础知识》各个监测点习题答案。

监测点1.1

1,13

    8kB = 8 * (2 ^ 10) B = 2 ^ 13 B

2,1024    0    1023

    1 kB = 2 ^ 10 B = 1024 B

3,8192    1024

    简单,不解释

4,2 ^ 30    2 ^ 20    2 ^ 10

    简单,不解释

5,64    1    16    4

    注意,32位地址总线的寻址能力是4GB

6,1    1    2    2    4

    一根线传一个bit,8bits = 1 Byte

7,512    256

    1024 / 2 = 512        1024 / 4 = 256

8,二进制

    在存储器中,指令和数据没有任何区别,都是二进制信息


    知识图谱(chapter 1)

《汇编语言》学习(一)基础知识


1.1-1.10小结

1,汇编指令是机器指令的助记符,同机器指令一一对应。

2,每一种CPU都有自己的汇编指令集。

3,CPU可以直接使用的信息在存储器中存放。

4,在存储器中,指令和信息没有区别,都是二进制信息。

5,存储单位从零开始编号。

6,一个存储单元可以存储8个bit,即8位二进制数。

7,1Byte = 8bits, 1kB = 1024B, 1MB = 1024kB, 1GB = 1024MB。

8,每一个CPU芯片都有许多管脚,这些管脚和总线相连。也可以说,这些管脚引出总线。一个CPU可以引出3种总线的宽度标志了这个CPU的不同方向的性能:

    地址总线的宽带决定了CPU的寻址能力;

    数据总线的宽带决定了CPU与其他器件进行数据传送时的一次数据传送量;

    数据总线的宽带决定了CPU对系统中的其他器件的控制能力。

9,内存地址空间

    从CPU的角度来看,系统中的所有存储器中的存储单元都处于一个统一的逻辑存储器中,它的容量受CPU的寻址能力的限制。这个逻辑存储器即是我们所说的内存地址空间。

    这里所说的,与OS层面的地址空间不同。