汇编语言的组成以下,其中汇编指令时核心。web
存储单元从零开始顺序编号。
一个存储单元能够存储8bit,一个字节。svg
在计算机中专门有链接CPU和其余芯片的导线,一般称为总线。总线在物理上就是一根根导线的集合。根据传送信息的不一样,总线从逻辑上又分为3类,地址总线、控制总线和数据总线。
.net
每一个物理存储器在这个逻辑存储器中占有一个地址段,即一段地址空间。CPU在这段地址空间中读写数据,实际上就是在相对应的物理存储器中读写数据(对ROM写无效)。
3d
CPU由运算器、控制器、寄存器 等器件组成,靠内部总线相连。
内部总线实现CPU内部各器件之间的联系;外部总线实现CPU和主板上其余器件的联系。指针
8086有14个寄存器:
AX、BX、CX、DX、SI、DI、SP、BP、IP、CS、SS、CS、ES、PSW。
AX、BX、CX、DX一般用来存放通常性数据,被称为通用寄存器。
16位寄存器所能存储的数据最大值为216-1 。
为保证兼容性,8086 CPU的通用寄存器能够分为两个独立的8位寄存器使用。例: AX可分为AH和AL。code
086 CPU全部的寄存器是16位,能够存放2个字节(一个字)。
8086采用小端模式:高地址存放高位字节,低地址存放低位字节。xml
地址加法器采用物理地址=段地址X16+偏移地址的方法合成物理地址。
blog
以123C8为例的一个物理地址,16进制的寄存器存储不了,就分为基础地址和偏移地址,基础地址12300,16进制寄存器存储不了,就定规则为段地址X16,这个解决了物理地址的存储问题。图片
地址10000H~100FFH的内存单元组成一个段,该段的起始地址(基础地址)为10000H,
段地址为1000H,大小为100H;也能够认为是地址10000H1007FH、10080H100FFH的内存单元组成两个段,该段的起始地址(基础地址)为10000H和10080H,段地址为:1000H和1008H,打小都为80H。
内存
8086 CPU有4个段寄存器:CS(代码段)、DS(数据段)、SS(堆栈段)、ES(附加段),这4个段提供给8086CPU内存单元的段地址。
CS(代码段寄存器) 和IP(指令指针寄存器) 是8086CPU中最关键的寄存器,它们指示了CPU当前要读取指令的地址。在任意时刻CPU将CS:IP指向的内容看成指令执行。
CS为代码段寄存器,IP为指令指针寄存器,
CPU将CS、IP中的内容看成指令的段地址和偏移地址,用它们合成指令的物理地址,
CPU将CS:IP指向的内容看成指令执行。(即PC)
8086CPU的工做过程简要描述
从CS:IP指向的内存单元读取指令,读取的指令进入指令缓冲器;
IP=IP+所读取指令的长度,从而指向下一条指令;
执行指令。转到步骤1,重复这个过程。
jmp 段地址:偏移地址;同时修改CS和IP jmp 某一合法寄存器;则是仅修改IP
一、《汇编语言》 [王爽]
二、x86汇编语言笔记(全)(长文警告)
三、王爽《汇编语言》笔记(详细)
四、汇编入门(长文多图,流量慎入)