汇编小记16/3/15

最后一次更新 2016-03-16 00:08:34



学习汇编之前应该明白,汇编其实依托具体的硬件的语言,不同的硬件可能会有不同的语言形式,我们一般学习intel8086cpu为中央处理器的pc机



cpu和存储器的关系:

cpu从存储器读取指令和数据

在内存和磁盘上指令和数据其实没有任何区别,都以二进制的形式存在,就像围棋中的棋盒中的棋子,本身没有任何意义,只有在具体的情形中才会发挥作用

cpu通过数据总线读取指令和数据(二进制流)



存储器:

存储器被划分为若干个点单元,每个单元的大小为1Byte

则存储器的最小划分单元为Byte(字节)

每个单元从0开始编号,比如某个存储器有128个单元,则表示0~127

进制:1 KB = 1/1024 MB ...



cpu对存储器的读写:

cpu想要对寄存器进行读写操作,必须通过外部设备(主板上的芯片)进行下面3类的信息交互:

  • 存储单元的地址信息
  • 器材的选择,读或写的命令,控制信息
  • 读或写的数据信息

cpu和其他的芯片的导线称为总线,根据上面三个功能,逻辑上可以分成:

  • 地址总线
  • 数据总线
  • 控制总线

比如cpu要从内存地址为3的单元读取信息

地址总线:cpu向内存发出3的指令

控制总线:cpu向内存发出读指令

数据总线:内存向cpu发送3单元的数据

地址总线:

比如cpu上有10根地址总线,则通过高低电平,可以表示2^10的数,表示能控制2^10的地址单元,根据一个存储器单元的单位为1B,则表示该cpu的寻址能力为1KB

N根地址中线表示该cpu的地址总线的宽度为N

数据总线:

8080cpu的数据总线为8,表示一次能传送2^8bit数据,则为1B

8086cpu的数据总线为16,表示一次能传送2B

控制总线:

cpu的对外部器件的控制通过控制总线实现

控制总线的多少表示cpu对外部旗舰店额控制能力

以上三个总线有个共同的特性,表示低位的线路在上,高位的线路在下



汇编小记16/3/15

时间: 2024-12-28 12:06:14

汇编小记16/3/15的相关文章

汇编小记16/3/23

最后一次更新:2016-03-23 19:51:12 寄存器(内存访问) 字单元:字型数据在地址连续的两个内存单元中存储,比如2 3内存单元,2为该字型起始单元,则称该字单元为2地址地址单元 用mov指令访问内存单元,可以在mov指令中只给出单元的偏移地址,此时段地址默认在DS寄存器中 [address]表示偏移地址为address的内存单元 内存和寄存器中传送字型数据是,高地址单元和高8位寄存器,低地址单元和低8为寄存器 任意时刻,SS:SP指向栈顶元素 和mov不同的是,pop和push不需

2016-09-02 16:50:15 webqq 协议分析

2016-09-02 16:50:15 webqq 协议分析 1. 扫描二维码登录 https://ssl.ptlogin2.qq.com/ptqrlogin?webqq_type=10&remember_uin=1&login2qq=1&aid=501004106&u1=http%3A%2F%2Fw.qq.com%2Fproxy.html%3Flogin2qq%3D1%26webqq_type%3D10&ptredirect=0&ptlang=2052&a

tmux使用——2019年11月20日16:40:15

1.tmux 命令行的典型使用方式是,打开一个终端窗口(terminal window,以下简称"窗口"),在里面输入命令.用户与计算机的这种临时的交互,称为一次"会话"(session) . 会话的一个重要特点是,窗口与其中启动的进程是连在一起的.打开窗口,会话开始:关闭窗口,会话结束,会话内部的进程也会随之终止,不管有没有运行完. 一个典型的例子就是,SSH 登录远程计算机,打开一个远程窗口执行命令.这时,网络突然断线,再次登录的时候,是找不回上一次执行的命令的

16位汇编语言第二讲系统调用原理,以及各个寄存器详解

昨天已将简单的写了一下汇编代码,并且执行了第一个显示到屏幕的helloworld 问题? helloworld怎么显示出来了. 一丶显卡,显存的概念 1.显示hello就要操作显示器,这是非常原始的,那个时候的程序员,并没有像现在的RGB(红绿蓝)这样的三色真彩色,那个时候就是操作显卡的,定义了一个标准 这个标准就是我们要往固定的地址写入数据,就会显示出来 具体流程 操作显卡 -> 显卡有自己的缓存 -> 把数据写入到显存中, - > 显示数据 (显示到屏幕上) 但是那个时候是没有字的,

【嵌入式开发】裸机引导操作系统和ARM 内存操作 ( DRAM SRAM 类型 简介 | Logical Bank | 内存地址空间介绍 | 内存芯片连接方式 | 内存初始化 | 汇编代码示例 )

[嵌入式开发]ARM 内存操作 ( DRAM SRAM 类型 简介 | Logical Bank | 内存地址空间介绍 | 内存芯片连接方式 | 内存初始化 | 汇编代码示例 ) 一. 内存 简介 1. 两大内存分类 ( 1 ) DRAM 简介 ( 定期刷新 | 速度慢 | 成本低 ) DRAM 简介 : 1.硬件描述 : DRAM 基本由一个个小电容基本原件组成, 电容的两端保留电荷; 2.优缺点描述 : ① 优点 : 成本很低, 很便宜; ② 缺点 : 需要 定期刷新数据, 速度较慢; a.

汇编开发环境搭建

希望,记录 1. nasm编译32位在MacOS下运行 2. Bochs在MacOS下的编译 3. 在Bochs下安装DOS6.22 4. Mac下创建floppy.img作为软盘 5. nasm编译32位在DOS下运行 1. nasm编译32位,64位在MacOS下运行 nasm可在官网下载,有dos,linux,macosx版本 解压后,有nasm 32位hello的例子(hello32.asm) 要点:调用系统的方法sys_write和sys_exit,具体看System Calls 1

[boost] build boost with intel compiler 16.0.XXX

Introduction There are few information about how to compile boost with Intel compiler. This article is to describe a simple command steps to let you get a boost library with Intel compiler support. Steps step 1: start your Intel compiler cmd window s

python中2进制、10进制、16进制等之间的转换

10转2: bin(8) # '0b1000' 2转10: int('1000', 2) # 8 10转16: hex(15) # '0xf' 16转10: int('f', 16) # 15 2进制和16进制中间通过转10进制可以相互转换

每周进度及工作量统计——2016.11.10-2016.11.16

项目:连连看游戏 项目类型:四人小组项目 小组名称:天天向上 小组成员:王森.张政,张金生,栾骄阳 项目改进:beta阶段结束,进入总结个final版本研发和维护 项目预期时间:2016.9.10-2016.11.24 C类别 C内容 S开始时间 E结束时间 I间隔 T净时间 P预计时间 分析 讨论  13:44  14:01  0  17  20   设计  14:01  14:16  0  15  40 编码 功能优化  14:16  16:47  12  139  120 文档 程序说明