寄存器,处理器内部需要高速存储单元,用于存储程序执行过程中的代码和数据
这些存储单元称为寄存器.
寄存器-
通用寄存器
这类寄存器在处理器中用的最多,使用频度较高,具有多种用处.
专用寄存器
用于记录将要执行指令的主存地址,标志寄存器用于保存指令执行的辅助信息
通用寄存器:一般是指处理器最常用的整数通用的寄存器,可用于保存整数数据,地址
IA-32处理器,只有8个32位32位通用寄存器数量有限.
EAX 累加器
EBX 基址寄存器
ECX 计数器
CDX数据寄存器
ESI 源变址寄存器
EDI 目的变址寄存器
EBP,ESP 堆栈指针寄存器,堆栈指针偏移
标志位
ZF ->零标志
CF ->进位标志
PF ->奇偶标志
AF ->调整标志
SF -> 符号标志
OF ->溢出标志
逻辑地址由段基地址和偏移地址完成
OXCH:OX2H
段选择器
逻辑地址的段基地址部分由16位的段寄存器确定.段寄存器保存的16位的段选择器.段选择器是一种特殊的指针.指向对应的段描述符.
使用16位地址长度最大偏移地址是FFFFH(216次方-1)逻辑地址由一个16位的段选择器和一个16位偏移地址组成.
线性地址(Linear Address)是逻辑地址到物理地址变换之间的中间层。在分段部件中逻辑地址是段中的偏移地址,然后加上基地址就是线性地址。
Mov dest,src
Src表示源操作数,DEST表述目的操作数
源程序框架
Eg000.asm int Windows Console
Include io32.inc
.data
.code
Start..
Exit
End Start
伪指令:
MASM提供源文件INCLUDE,用于声明常用的定义,过程说明.
通用寄存器可用于传送和暂存数据,也可参与算术逻辑运算,并保存运算结果。除此之外,它们还各自具有一些特殊功能。
堆栈它必须遵从“先进后出”,或称“后进先出”的原则,不能无顺序随意存取。这块存储区称作堆栈
标志寄存器主要保存反应指令执行结果和控制指令执行形式的有关状态
最高有效位(the Most Significant Bit,msb),是指一个n位二进制数字中的n-1位,具有最高的权值2^n − 1