8086CPU寄存器

1.

汇编和机器语言一对一,可以反编译

2.

地址总线,控制总线(读/写/其他),数据总线
物理地址=段地址x16+偏移地址 (偏移地址为16位,16位地址的寻址能力是64KB,所以一个段的长度最大为64KB)

3.寄存器

  • 字节:byte,1个字节由8bit组成,可以存储在8位寄存器中
  • 字:word,1个字由2个字节组成,这2个字节分别称为字的高字节和低字节

4.段寄存器

段地址是由段寄存器提供的
CS(代码段寄存器)、DS(数据段寄存器)、SS(堆栈段寄存器)、ES(附加段寄存器)

5.

在内存或者磁盘上,指令和数据没有任何区别,都是二进制信息
cpu在工作的时候有的信息看作指令,有的信息看作数据。
eg:   1000100111011000 ->89D8H(数据)
        1000100111011000 ->mov ax,bx(程序)
6.jmp
jmp 2AE3:3 执行后:CS=2AE3H, IP=0003H, CPU 将从2AE33H处读取指令

7.往内存中写数据

访问内存数据,段地址:[偏移地址]
eg:

mov ax, 1122h
mov bx, 1000h
mov ds, bx
mov ds:[0h], ax  (或者 mov [0h], ax[不写段地址,默认就是ds里的段地址])

8.大小端

小端模式:高地址放高字节,低地址放低字节
大端模式,反之。

9.SS

  • 任意时刻,SS:SP指向栈顶元素
  • PUSH POP POP的时候只移动指针的位置,上边的元素并不销毁
  • 栈空,SS:SP指向栈空间最高地址单元的下一个单元

10.利用栈交换两个寄存器的值

mov ax, 1122h
mov bx, 3344h
push ax
push bx
pop ax
pop bx

你可能感兴趣的:(8086CPU寄存器)