您的位置:首页 > 其它

汇编语言学习笔记1

2019-06-16 00:41 14 查看
版权声明:本文为博主原创文章,遵循 CC 4.0 by-sa 版权协议,转载请附上原文出处链接和本声明。 本文链接:https://blog.csdn.net/Antonio_Salieri/article/details/92251784
  1. CPU如何调用内存
    加载到内存,CPU使用

  2. 存储单元从0开始

  3. CPU要进行数据的读写,必须和外部器件进行三类信息交互
    (1)存储单元地址(地址信息)
    (2)器件选择,读或写命令(控制信息)
    (3)读或写的数据(数据信息)

CPU如何对存储器的读和写
从CPU到内存有地址总线,数据总线,控制总线
如何读:CPU通过地址总线发出一个地址,再由发出控制信息的器件发出读/写的指令,内存通过数据线将地址上的信息传给CPU中存放数据的器件/存放数据的器件将一个数据写入内存指定的地址

如何命令计算机

一串二进制既可以表示数据,也可以表示指令:那怎么让计算机区分数据和指令?
通过从不同的总线传送,地址,数据和控制总线

寻址能力:地址总线上能传递多少个不同的信息,CPU就能对多少存储单元进行寻址。64位CPU指的是地址总线的限数

数据总线:一个CPU有N根地址总线,则可以说CPU的地址总线宽度为N,这样的CPU最多存放2的N次方个内存单元。宽度决定了CPU对信息的传递速度

控制总线是不同控制线的集合,控制总线的宽度决定了CPU对外部器件的控制能力,有多少控制总线,就意味着CPU对外部器件有多少种控制。控制总线发出控制信息,

内存地址空间:
CPU能寻址的内存空间构成了CPU的内存地址空间

寄存器 CPU工作原理

CPU由运算器,控制器,寄存器等器件构成,靠内部总线相连
内部总线实现CPU内部各个器件之间的联系
外部总线实现CPU和主板上其他器件的联系

寄存器:存放暂时处理的数据,如进行两个数据的加减,将两个数据放在不同的两个寄存器中,运算器命令相加,再存放到另一个寄存器中
8086CPU中的16位两字节计算器,AX,BX,CX,DX通常用来存放一般性数据被称为通用寄存器
注意数据再寄存器中的存放方式
为了兼并过去的8位寄存器,AX分为高位和低位AH和AL,存储低位AH全部填0

字在寄存器中的存储:字:一次读取16个位的内存单元,一个字等于两个字节
汇编指令不区分大小写
汇编指令:“mov ax, 18 将18送进AX” == “AX = 18”
“add ax, 8(bx) 将寄存器AX中的数值加上8(bx),结果存在AX中” == “AX += 8”
“move ax, bx 将b/x数据送入寄存器AX” == “AX= BX”
丢失的数值,指的是不能在8位寄存器中保存,但CPU并不是真的不会保存*

8086CPU给出物理地址的方法:
不同:有20位地址总线,可以传输20位地址,寻址能力位1M,
内部为16位结构,只能传送16位地址,表现出的寻址能力有64K;
如何解决这种问题:8086CPU采用一种在内部用两个16位地址合成的方法来形成一个20位物理地址
CPU在内部将地址分为段地址和偏移地址传给地址加法器,变成20位的物理地址,通过输入输出控制电路,将物理地址通过地址总线传输给内存

物理地址 = 段地址*16 + 偏移地址

8086CPU有四个段寄存器:CS,DS,SS,ES
CS为代码段寄存器,IP为指令指针寄存器
读取一条指令后,IP的值自动增加,使得CPU可以读取下一条指令。因为当前读入的指令B82301长度为3byte,所以IP自增3.此时CS:IP指向2000:0003
8086CPU工作过程的简要描述:

  1. 从CS:IP指向内存单元读取指令,读取的指令进入指令缓冲器
  2. IP = IP + 所读取指令的长度,从而能指向下一条指令
  3. 执行指令,转到步骤1,重复过程
    8086PC工作过程的简要描述:
  4. 在8086CPU加电启动或复位后(即CPU刚开始工作时)CS和IP被设置为CS = FFFFH, IP = 0000H。即在PC机刚启动时,CPU从内存FFFF0H单元中读取指令执行,而这就是PC机开机后执行的第一条指令
    如果说,内存中的一段信息曾经被CPU执行过,其所在内存单元必然被CS:IP指向过

如何求改AX的值
mov指令
同时修改CS:IP的内容:jmp指令
格式: 段地址:偏移地址
仅修改IP地址:
格式:Jmp 某一合法的寄存器
如:更改IP内容为ax
mov, ax, 200H
jmp ax

代码段:
对于8086PC机,在编程时,可以根据需要,将一组内存单元定义为一个段
可以将长度为N的一组代码,存在一组地址连续,起始地址为16的倍数的

内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: