复习一下汇编的基础知识,主要是intel 8086的cpu。16机器
1.通用寄存器
(1)数据寄存器
数据寄存器共有4个寄存器ax、bx、cx、dx,用来保存操作数或运算结果等信息。
ax寄存器称为累加器。使用频度最高,用于算术、逻辑运算以及与外设传送信息等。
bx寄存器称为基址寄存器。常用于存放存储器地址。
cx寄存器称为计数器。一般作为循环或串操作等指令中的隐含计数器。
dx寄存器称为数据寄存器。常用来存放双字数据的高16位,或存放外设端口地址。
(2)变址和指针寄存器
变址和指针寄存器包括si、di、sp、bp 4个16位寄存器,主要用于存放某个存储单元的偏移地址。
si是源变址寄存器。
di是目的变址寄存器,在字符串操作中,si和di都具有自动增量或减量的功能。
sp为堆栈指针寄存器,用于存放当前堆栈段中栈顶的偏移地址。
bp为基址指针寄存器,用于存放堆栈段中某一存储单元的偏移地址。
2.段寄存器
8086 cpu的4个16位的段寄存器分别称为代码段寄存器cs,数据段寄存器ds,堆栈段寄存器ss,附加数据段寄存器es。段寄存器用来确定该段在内存中的起始地址。
代码段用来存放程序的指令序列。cs存放代码段的段首址,指令指针寄存器ip指示代码段中指令的偏移地址。
3.指令指针
8086 cpu中的指令指针ip,它总是保存下一次将要从主存中取出指令的偏移地址,偏移地址的值为该指令到所在段段首址的字节距离。在目标程序运行时,ip的内容由微处理器硬件自动设置,程序不能直接访问ip,但一些指令却可改变ip的值,如转移指令、子程序调用指令等。
3.1 标志寄存器
8086 cpu中有一个很重要的16位标志寄存器,它包含9个标志位,主要用于保存一条指令执行后,cpu所处状态信息及运算结果的特征。
1>.条件标志
(1)进位标志cf
(2)零标志zf
(3)符号标志sf
(4)溢出标志 of
(5)奇偶标志 pf
(6)辅助进位标志af
2>.状态控制标志
(1)方向标志df
(2)中断允许标志if
(3)追踪标志tf
阅读(2685) | 评论(0) | 转发(0) |