汇编怎么从内存地址写入连续的数字_汇编语言 第一章 基础知识
系列文章见:Neptune
第一章 基础知识
1.1 机器语言
机器语言是机器指令的集合,机器指令展开来讲就是一台机器可以正确执行的命令。
由图可见,机器语言是十分晦涩难懂和不易查错的。
1.2 汇编语言的产生
汇编语言的主体是汇编指令。汇编语言和机器指令的差别在于指令的表示方法上。汇编指令时机器指令便于记忆的书写格式。
编译器:讲汇编指令转换为机器指令。
1.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)
本人小白一枚,刚入职场,职业嵌入式开发.在学校学习Linux操作系统与ARM编程的一些基础知识.也不是什么985,211名校毕业,只是一个普通的本科生,在生活中为了那么一丝生存而努力着. 由于工作需要 ...
- 小吴学汇编之第一章基础知识 (2)
小吴学汇编写的比较基础,针对没入门又想学习的小白比较适合.有什么问题大家留言一起探讨.写这个博客,主要还是记录自己在看书过程中,觉得比较重要的东西记录下来,然后看书遇到的问题,也会一一记录下来,大家一 ...
- 【汇编语言】一章 基础知识 机器语言 CPU 存储器 内存地址空间
汇编语言有助于我们理解高级语言,了解基于内存地址的内存操作,建立指针与实际内存单元之间的思维映射 C语言中的数据类型,形参实参,函数调用,全局变量,局部变量等内容都与之相关,通过学习汇编语言的操作关联 ...
- 内存地址重映射的选项_内存控制设置请教
匿名用户 1级 2016-02-08 回答 Bank Interleaving:Bank交错存取.内存bank 交错存取可以让系统对内存的不同bank同时存取,可以提升内存速度及稳定性.设置值有Aut ...
- java内存地址和哈希值_数据哈希值的计算和在table中的存储位置
我们知道,Objects中定义了hashcode()函数,用于计算对象的哈希值.并且在很多类中都对hashcode()函数进行了覆盖.但是在HashMap中并没有直接使用各个类的hash值,而是使用h ...
- 在单链表写入一组数据代码_第5章 第1节 链表 - osc_x8s7voop的个人空间 - OSCHINA - 中文开源技术交流社区...
● 请你说出几种基本的数据结构, 参考回答: 常见的基本的数据结构有链表.栈.队列.树(只列出面试常考的基本数据结构) 1.链表是一种物理存储单元上非连续.非顺序的存储结构,数据元素的逻辑顺序是通过链 ...
- python怎么从数组中提取连续的数字_从numpy数组中删除连续的数字
我是python新手,但我对我要做的这个项目真的很困惑.我看到了一张图片here.我要做的是找出图像中像素范围从0到255的所有方块的平均值.下面的代码显示了我用来计算图片值的方法.出现的问题是像素/ ...
- python写入文件没反应_记第一个问题——python文件无法写入数据
原博文 2019-11-18 23:47 − import getpass username = input("please input your name:") password ...
- python excel写入日期变数字_解决python 读取excel时 日期变成数字并加.0的问题
excel 文件内容如下: 读取excel内容: import xlrd from datetime import datetime from xlrd import xldate_as_dateti ...
最新文章
- Python培训班适合哪些人报名学习
- CCNP-1 EIGRP基本配置(BSCI)
- Android开源框架——内存泄漏检测工具 LeakCanary
- optional判断是否为空_乐字节Java8核心特性之Optional
- 一个完整的mybatis项目,包含增删改查
- P3332-[ZJOI2013]K大数查询【树套树】
- C 与 C 的真正区别在哪里?
- CSS:盒子模型和清除float浮动的三种常用方法
- Django在根据models生成数据库表时报 __init__() missing 1 required positional argument 'on_d...
- 关于Zookeeper的几个问题
- Ubuntu 18安装谷歌浏览器
- [原创]java导出excel
- 智慧城市——数字化城市管理平台系统建设方案
- arm64Linux网易云,网易云音乐arm版
- js原生获取html的高度,js中怎么获得浏览器的高度?
- Sql Server2014 安装Northwind数据库
- 二手手机验机教程(不拆机)
- 计算机网络本直通线的制作方法,计算机网络技术实训报告模版--交叉线与直通线制作.doc...
- 英雄联盟一直连接不上服务器连接异常,LOL服务器连接异常怎么办
- 代码块:在Java中,使用{}括起来的代码被称为代码块。
热门文章
- properties类_受不了springboot的yml和properties配置,我扩展出了groovy配置
- 环回测试能够提供什么信息_VIAVI | 全面对比“真双向分析”与“环回测试”,结果一目了然!...
- java web redis_java web网页版redis客户端工具
- 每天一个小异常——Excel的导出报类型转换异常
- 19_python基础—面向对象-类结构、类属性和类方法、静态方法
- 内网和外网的区别_在家办公不再难,花生壳盒子助你内网穿透一臂之力
- 华为智慧屏鸿蒙挂安卓9,荣耀先行!华为智慧屏9月发布:搭鸿蒙系统和自研芯片...
- ser crt linux 乱码,大师为你解决securecrt中文乱码【处理指南】
- 1 2014年12月电大远程网络教育计算机统考 最 新 题 库,2014年12月份电大远程网络教育计算机应用基础统考题库试卷6...
- oracle主备不同步,主备环境下数据不一致重新部署复制