关闭

ASM 01

标签: 存储date
241人阅读 评论(0) 收藏 举报
分类:

1.通用寄存器:
EAX ECX EDX EBX ESP EBP ESI EDI (图1)
 1.jpg

 

数据寄存器以及定义:
EAX ECX EDX EBX用来暂时存放计算过程中所用的操作数、结果或其他信息。
EAX(Accumilator):累加器,算数运算的主要寄存器
ECX(Count):计数器,在循环(LOOP)和传处理指令中用作隐含的计数器
EDX(Date):数据寄存器,一般在做双字长运算时把EDX和EAX组合在一起放一个双字长数,EDX用来存放高位数字
EBX(Base):基址寄存器,
寄存器以及定义:ESP EBP ESI EDI它们可以像数据寄存器一样在运算过程中存放操作数,但它们只能16位使用。此外它们更经常的用途是在段内寻址时提供偏移地址。
ESP(Stack Pointer):堆栈指针寄存器,表示栈顶的偏移地址。
EBP(Base Pointer):基址指针寄存器,可作为堆栈区中的基值地址以便访问堆栈中的其他信息。
ESI (Source Index):原地址指针寄存器
EDI(Destination Index):目的地址指针寄存器
ESI和EDI一般与EDS联用,用来确定数据段中某一存储单位的地址。这两个变址寄存器有自动增量和减量的功能。

2.段寄存器:
ES CS SS DS FS GS(图2)
 2.jpg

(图2)
    CS:代码段(Code Segment)
    DS:数据段(Data Segment)
    ES:附加数据段(Extra Segment)
    SS:堆栈段(Stack Segment)
    FS:附加段
    GS  附加段

 

 

 

3.指令寄存器
 3.jpg

EIP(Instrcution Pointer):指令指针存储寄存器,它用来存放代码中偏移地址
4. 其他16个标志位(图3)
 4.jpg

                (图3)
       CF(Carry Flag):符号标志,记录运算结果的符号,结果为负数时则 1,否则0
       PF(Party Flag):奇偶标志,用来为机器中传送信息时可能产生的代码出错情况听歌检验条件。当结果操作数中1的个数为偶数时置1,否则置0
       AF(Assistant Flag):辅助进位标志位
       ZF(Zero Flag):零标志,运算结果为0时ZF位置1,否则置0
       SF(Singal Flag):符号标志,记录运算结果的符号,结果为负时置1,否则置0
       IF(Interrupt Flag):中断允许标志位,由 CLI,STI两条指令来控制
       DF(Direction Flag):向量标志位,由 CLD,STD 两条指令来控制
       OF(Overflow Flag):溢出标志,在操作数超出了计算能表示的范围称为溢出

0
0

查看评论
* 以上用户言论只代表其个人观点,不代表CSDN网站的观点或立场
    个人资料
    • 访问:9755次
    • 积分:117
    • 等级:
    • 排名:千里之外
    • 原创:2篇
    • 转载:7篇
    • 译文:0篇
    • 评论:1条
    文章分类
    文章存档
    最新评论