SuperY4Ng's Blog

8086通用指令

字数统计: 422阅读时长: 1 min
2018/10/16 Share
1
PS:https://blog.csdn.net/Super_Yiang/article/details/83098536

8086寄存器

8086 有14个16位寄存器,这14个寄存器按其用途可分为

1
2
3
4
5
6
7
(1)通用寄存器

(2)指令指针

(3)标志寄存器

(4)段寄存器等4类。

有8个, 又可以分成2组,一组是数据寄存器(4个),另一组是指针寄存器及变址寄存器(4个)。

顾名思义,通用寄存器是那些你可以根据自己的意愿使用的寄存器,修改他们的值通常不会对计算机的运行造成很大的影响。

通用寄存器的数据寄存器是两个字节,以AX为例,分为高8位(AH)低8位(AL)

基础汇编指令

1
2
3
4
5
add al,1(如果ax=00FFH,那么ax会等于=0000H,进位标志CF变为1)al的值加1赋给al
sub al,1 al的值减1赋给al
mov ax,[1000H] 把值为1000H的地址放到ax
push ax ESP指向的地址减2,把ax里的值压入栈
pop ax ESP指向的地址加2,把ax里的值弹出栈

CPU是从高地址往低地址读取。

物理地址

在存储器里以字节为单位存储 信息,为正确地存放或取得信息,每一个字节单元给以一个唯一的存储器地址,称为物理地址,又叫实际地址或绝对地址。

8086是16位的CPU,地址总线是20位

1
2
3
4
物理地址=段地址*10H+偏移地址
例:
CS:2000H,IP:0033H
物理地址=2000H*10H+0033H=20033H

先进后出,后进先出,是从高地址往低地址存入。

ESP指向当前的栈顶,EBP是基址指针。

内存寻址方式

标志寄存器

CATALOG
  1. 1. 8086寄存器
  2. 2. 基础汇编指令
  3. 3. 物理地址
  4. 4.
  5. 5. 内存寻址方式
  6. 6. 标志寄存器