系列文章见:Neptune

第一章 基础知识

1.1 机器语言

机器语言是机器指令的集合,机器指令展开来讲就是一台机器可以正确执行的命令。

由图可见,机器语言是十分晦涩难懂和不易查错的。

1.2 汇编语言的产生

汇编语言的主体是汇编指令。汇编语言和机器指令的差别在于指令的表示方法上。汇编指令时机器指令便于记忆的书写格式。

编译器:讲汇编指令转换为机器指令。

1.3 汇编语言的组成

汇编语言的三种指令:

  1. 汇编指令:机器码的助记符,有对应的机器码。
  2. 伪指令:没有对应的机器码,有编译器执行,计算机并不执行。
  3. 其他符号:如+、-、*、/ 等,由编译器识别,没有对应的机器码。

汇编语言的核心是汇编指令,它决定了汇编语言的特性。

1.4 存储器

CPU(Central Processing Unit) 是计算机的核心部件,它控制计算机的运作并进行运算。要想让一个 CPU 工作,必须向它提供指令和数据。指令和数据在存储器种存放,也就是常说的内存。

1.5 指令和数据

指令和数据是应用上的概念。在内存或磁盘上,指令和数据没有任何区别,都是二进制信息。

1.6 存储单元

存储器被划分成若干存储单元,每个存储单元从 0 开始顺序编号,例如一个存储器有 128 个存储单元,编号 0~127,如图。

微型存储器的存储单元可以存储一个 Byte,即 8 个二进制位(8 bit)。一个存储器有 128 个存储单元,即 128 个 Byte。

1.7 CPU 对存储器的读写

CPU 要想进行数据的读写,必须和外部器件(芯片)进行 3 类信息的交互:

  • 存储单元的地址(地址信息);
  • 器件的选择,读或写的命令(控制信息);
  • 读或写的数据(数据信息)。

CPU 通过总线讲这三类信息传到存储器芯片中。

总线:就是一根根导线的集合。根据传送信息的不同,从逻辑上又分为 3 类,地址总线、控制总线和数据总线。

(1)CPU 通过地址线将地址信息 3(黑条中有 3,可能不清楚) 发出。

(2)CPU 通过控制线发出内存读命令,选中存储器芯片,并通知它,将要从中读取数据。

(3)存储器将 3 号 单元中的数据 8 通过数据线送入 CPU。

写操作。如何向 3 号单元写入数据 26。

(1)CPU 通过地址线将地址信息 3 发出。

(2)CPU 通过控制线发出内存写命令,选中存储器芯片,并通知它,要向其中写入数据。

(3)CPU 通过数据线将数据 26 送入内存的 3 号单元中。

1.8 地址总线

CPU 是通过地址线来之定存储器单元的。

在电子计算机中,一根导线可以传送的稳定状态只有两种,高电平或是低电平。用二进制表示就是 0 或 1,10 根导线可以传送 10 位二进制数据。而 10 位二进制数可以表示 2^10^ 个数据,最小数为 0,最大数为 1023。

下图展示了一个具有 10 根地址线的 CPU 向内存发出地址信息 11 时 10 根地址线上传送的二进制信息。

一个 CPU 有 N 根地址线,则可以说这个 CPU 的地址总线的宽度为 N。这样的 CPU 最多可以寻找 2^N^ 个内存单元。

1.9 数据总线

CPU 与内存或其他器件之间的数据传送是通过数据总线来进行的。数据总线的宽度决定了 CPU 和外界的数据传送速度。8 根数据总线依次可传送一个 8 位二进制数据(1 Byte)。

1.10 控制总线

CPU 对外部器件的控制是通过控制总线来进行的。控制总线是个总称,它是一些不同控制线的集合。有多少根控制线,就意味着 CPU 提供了对外部器件的多少种控制。所以,控制总线的宽度决定了 CPU 对外部器件的控制能力。

内存的读或写命令就是由几根控制线综合发出的。CPU 向一根称为“读信号输出”的控制线上输出低电平表示将要读取数据;当然还有一根传送写信号的“写信号输出”。

(1) 13。

(2) 1024;0;1023。

(3) 8192;1024。

(4) 2^30^;2^20^;2^10^。

(5) 64;1;16;4。

(6) 1;1;2;2;4。

(7) 512;256。

(8) 二进制。

1.11 内存地址空间(概述)

举例,一个 CPU 的地址总线宽度为 10,那么可以寻址 1024 个内存单元,这 1024 个可寻到的内存单元就构成这个 CPU 的内存地址空间。

1.12 主板

每个 PC 机都有一个主板。主板上有核心器件和一些主要器件。

1.13 接口卡

CPU 对外部设备不能直接控制,如显示器、音箱、打印机等。直接控制这些设备进行工作的是插在扩展卡槽上的接口卡。扩展卡槽通过总线和 CPU 相连,所以接口卡也通过总线同 CPU相连。CPU 可以直接控制这额接口卡,从而间接控制外设。CPU 通过总线向接口卡发送命令,接口卡根据 CPU 的命令控制外设进行工作。

1.14 各类存储器芯片

从读写属性上分为两类:随机存储器(RAM)和只读存储器(ROM)。

  • RAM:可读可写,必须带电存储,关机后内容丢失;
  • ROM:只能读取不能写入,关机后内容不丢失。

存储器从功能和连接上又分为:

1.15 内存地址空间

上述存储器在物理上都是独立的,但在一下两点上相同。

  • 都和 CPU 的总线相连。
  • CPU 对它们进行读或写的时候都通过控制线发出内存读写命令。

CPU 操控它们时,把它们当作内存来来对待,总的看作一个由若干存储单元组成的逻辑存储器,即内存空间地址。

不同的计算机系统的内存地址空间的分配情况是不同的,下图展示 8086PC 机内存地址空间分配的基本情况。

汇编怎么从内存地址写入连续的数字_汇编语言 第一章 基础知识相关推荐

  1. 小吴学汇编之第一章基础知识(1)

    本人小白一枚,刚入职场,职业嵌入式开发.在学校学习Linux操作系统与ARM编程的一些基础知识.也不是什么985,211名校毕业,只是一个普通的本科生,在生活中为了那么一丝生存而努力着. 由于工作需要 ...

  2. 小吴学汇编之第一章基础知识 (2)

    小吴学汇编写的比较基础,针对没入门又想学习的小白比较适合.有什么问题大家留言一起探讨.写这个博客,主要还是记录自己在看书过程中,觉得比较重要的东西记录下来,然后看书遇到的问题,也会一一记录下来,大家一 ...

  3. 【汇编语言】一章 基础知识 机器语言 CPU 存储器 内存地址空间

    汇编语言有助于我们理解高级语言,了解基于内存地址的内存操作,建立指针与实际内存单元之间的思维映射 C语言中的数据类型,形参实参,函数调用,全局变量,局部变量等内容都与之相关,通过学习汇编语言的操作关联 ...

  4. 内存地址重映射的选项_内存控制设置请教

    匿名用户 1级 2016-02-08 回答 Bank Interleaving:Bank交错存取.内存bank 交错存取可以让系统对内存的不同bank同时存取,可以提升内存速度及稳定性.设置值有Aut ...

  5. java内存地址和哈希值_数据哈希值的计算和在table中的存储位置

    我们知道,Objects中定义了hashcode()函数,用于计算对象的哈希值.并且在很多类中都对hashcode()函数进行了覆盖.但是在HashMap中并没有直接使用各个类的hash值,而是使用h ...

  6. 在单链表写入一组数据代码_第5章 第1节 链表 - osc_x8s7voop的个人空间 - OSCHINA - 中文开源技术交流社区...

    ● 请你说出几种基本的数据结构, 参考回答: 常见的基本的数据结构有链表.栈.队列.树(只列出面试常考的基本数据结构) 1.链表是一种物理存储单元上非连续.非顺序的存储结构,数据元素的逻辑顺序是通过链 ...

  7. python怎么从数组中提取连续的数字_从numpy数组中删除连续的数字

    我是python新手,但我对我要做的这个项目真的很困惑.我看到了一张图片here.我要做的是找出图像中像素范围从0到255的所有方块的平均值.下面的代码显示了我用来计算图片值的方法.出现的问题是像素/ ...

  8. python写入文件没反应_记第一个问题——python文件无法写入数据

    原博文 2019-11-18 23:47 − import getpass username = input("please input your name:") password ...

  9. python excel写入日期变数字_解决python 读取excel时 日期变成数字并加.0的问题

    excel 文件内容如下: 读取excel内容: import xlrd from datetime import datetime from xlrd import xldate_as_dateti ...

最新文章

  1. Python培训班适合哪些人报名学习
  2. CCNP-1 EIGRP基本配置(BSCI)
  3. Android开源框架——内存泄漏检测工具 LeakCanary
  4. optional判断是否为空_乐字节Java8核心特性之Optional
  5. 一个完整的mybatis项目,包含增删改查
  6. P3332-[ZJOI2013]K大数查询【树套树】
  7. C 与 C 的真正区别在哪里?
  8. CSS:盒子模型和清除float浮动的三种常用方法
  9. Django在根据models生成数据库表时报 __init__() missing 1 required positional argument 'on_d...
  10. 关于Zookeeper的几个问题
  11. Ubuntu 18安装谷歌浏览器
  12. [原创]java导出excel
  13. 智慧城市——数字化城市管理平台系统建设方案
  14. arm64Linux网易云,网易云音乐arm版
  15. js原生获取html的高度,js中怎么获得浏览器的高度?
  16. Sql Server2014 安装Northwind数据库
  17. 二手手机验机教程(不拆机)
  18. 计算机网络本直通线的制作方法,计算机网络技术实训报告模版--交叉线与直通线制作.doc...
  19. 英雄联盟一直连接不上服务器连接异常,LOL服务器连接异常怎么办
  20. 代码块:在Java中,使用{}括起来的代码被称为代码块。

热门文章

  1. properties类_受不了springboot的yml和properties配置,我扩展出了groovy配置
  2. 环回测试能够提供什么信息_VIAVI | 全面对比“真双向分析”与“环回测试”,结果一目了然!...
  3. java web redis_java web网页版redis客户端工具
  4. 每天一个小异常——Excel的导出报类型转换异常
  5. 19_python基础—面向对象-类结构、类属性和类方法、静态方法
  6. 内网和外网的区别_在家办公不再难,花生壳盒子助你内网穿透一臂之力
  7. 华为智慧屏鸿蒙挂安卓9,荣耀先行!华为智慧屏9月发布:搭鸿蒙系统和自研芯片...
  8. ser crt linux 乱码,大师为你解决securecrt中文乱码【处理指南】
  9. 1 2014年12月电大远程网络教育计算机统考 最 新 题 库,2014年12月份电大远程网络教育计算机应用基础统考题库试卷6...
  10. oracle主备不同步,主备环境下数据不一致重新部署复制