一、寄存器 总共有14个16位寄存器,8个8位寄存器 通用寄存器: 数据寄存器: AH(8位) AL(8位) AX(16位) (AX 和AL 又称累加器) BH(8位) BL(8位) BX(16位) (BX 又称基址寄存器,唯一作为存储器指针使用寄存器) CH(8位) CL(8位) CX(16位) (CX 用于字符串操作,控制循环的次数,CL用于移位) DH(8位) DL(8位) DX(16位) (DX 一般用来做32位的乘除法时存放被除数或者保留余数) 指针寄存器: SP 堆栈指针 (存放栈顶地址) BP 基址指针 (存放堆栈基址偏移) 变址寄存器:主要用于存放某个存储单元地址的偏移,或某组存储单元开始地址的偏移, 即作为存储器(短)指针使用
作为通用寄存器,它们可以保存16位算术逻辑运算中的操 作数和运算结果,有时运算结果就是需要的存储单元地址的偏移
SI 源地址 (源变址寄存器) DI 目的地址 (目的变址寄存器) 控制寄存器: IP 指令指针 FLAG 标志寄存器 ① 进位标志 CF,记录运算时最高有效位产生的进位值
② 符号标志 SF,记录运算结果的符号
结果为负时置1,否则置0
③ 零标志 ZF,运算结果为0时 ZF 位置1,否则置0
④ 溢出标志 OF,在运算过程中,如操作数超出了机器可表示数的范围称为溢出
溢出时 OF 位置1,否则置0
⑤ 辅助进位标志 AF,记录运算时第3位(半个字节)产生的进位值
⑥ 奇偶标志 PF,用来为机器中传送信息时可能产生的代码出错情况提供检验条件
当结果操作数中1的个数为偶数时置1,否则置0
段寄存器 CS 代码段 IP DS 数据段 SS 堆栈段 SP BP ES 附加段 二、七种寻址方式: 1、立即寻址方式: 操作数就包含在指令中
作为指令的一部分,跟在操作码后存放在代码段
这种操作数成为立即数