汇编语言Day_01:汇编中常用的寄存器简单介绍

数据寄存器:(4个16位):

AX:也成累加器,一般保存目的操作数;
BX:基址寄存器,除了可以存放数据以外,还可以存放首地址;
CX:一般用于计数,如循环中的loop就用CX来控制循环次数;
DX:有时可以用来存放端口地址;

地址寄存器:(4个16位):

SP:堆栈指针,存放栈顶的偏移地址
BP:基址指针,存放堆栈数据的偏移地址
SI:源变址寄存器:源数据的偏移地址
DI:目的变址寄存器:

段寄存器:(4个16位):

CS:代码段的基址;
SS:堆栈段的基址;
DS:数据段的基址;
ES:目的数的基址,同DS;

专用寄存器:(2个16位)

IP:指令指针,存放即将执行的指令的便宜地址
FLAGS:标志寄存器,存放CPU的状态标志控制标志

FLAGS:状态标志:

OF:溢出标志,对于有符号数可以判断结果是否正确,无符号数不用关心
CF:进/借位标志,无符号数的加减法是否产生进/借位
SF:符号标志,运算结果的最高位
ZF:零标志
AF:辅助进位标志:
PF:奇偶标志,可以根据这个进行数据校验

FLAGS:控制标志:

IF:中断允许标志
TF:单步标志
DF:方向标志

注:
BP和SP的区别:
BP虽主要用于指向堆栈段,但它是一个通用寄存器,需要程序中设置需要的值。SP虽可以象通用寄存器一样设置数值,但实质上是一个专用寄存器,其数值的含义就是堆栈的顶部;进行堆栈操作时,处理器自动修改SP数值。所以BP和SP根本就是两种不同类型的寄存器

你可能感兴趣的:(汇编语言)