第二章知识梳理

寄存器

一个典型的CPU由运算器,控制器,寄存器(cpu工作原理)等器件构成。

运算器进行信息处理;

寄存器进行信息储存;

控制器控制各种器件进行工作;

内部总线连接各种器件,在他们之间进行数据的传送;

不同的CPU,寄存器的个数,结构是不同的,8086CPU有14个寄存器,AX, BX, CX, DX, SI, DI, SP, BP, IP, CS, SS, DS, ES, PSW;

通用寄存器

8086CPU所有寄存器都是16位的,存放两个字节

AX的低8位构成AL寄存器,高8位构成了AH寄存器

字在寄存器中的存储

一个字节由8个bit组成,可以存在8位寄存器中

几条汇编指令

注意:1.在写一条汇编指令或一个寄存器名称不区分大小写;

    2.al,ah是独立的8位寄存器,分别只能存放两位16进制的数据,当执行汇编指令后出现158H时,最高位1会“丢失”丢失是指进位值不能在8位寄存器中保存,但是CPU并不是真的丢失这个进位值,在哪里呢?)...........问题.........

    3.指令的操作位数是一致的;

物理地址   每个内存单元在存储空间里都有唯一的地址→物理地址

16位结构CPU(8086CPU)

运算器一次最多处理16个数据

寄存器最大宽度16位

寄存器与运算器之间通路为16位

8086CPU 物理地址

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

基础地址=段地址×16

8086寻址功能:基础地址+偏移地址=物理

段的概念

将若干个地址连续的内存单元看作一个段,用段地址×16 定位段的起始位置(基础地址),用偏移地址定位段中的内存单元

注意:断的起始位置也一定是16的倍数

          偏移地址是16位,16位的寻址能力为64KB,所以一个段的最大长度是64kb

内存单元地址小节

1.CPU可以用不同的段地址和偏移地址形成同一物理地址

2.给定一个段地址,仅通过变化偏移地址来寻址,最多可以定位64KB的内存单元(偏移地址16位,变化范围0~FFFFH)

3.根据需要将地址连续,起始位置为16倍数的一组内存单元定义为一个段。

..............问题:当段地址给定多少时,CPU无论怎么变化偏移地址都无法寻到20000H单元?.....................

 

CS IP

工作原理

1.从CS:IP指向内存单元读取指令,读取的指令进入指令缓冲器;

2.IP=IP+所读取指令的长度,从而指向下一个指令;

3.执行指令,转到步骤一;

转移指令(能够改变CS:IP的内容)

jmp 段地址:偏移地址

(mov指令不用于修改cs:ip)

1 mov ax,6622H

2 jmp 1000:3

3 mov ax,0000

4 mov bx,ax

5 jmp bx

6 mov ax,0123H

7 转到第三步

猜你喜欢

转载自www.cnblogs.com/zq-dmhy/p/9771739.html