首先 是寄存器的介绍
寄存器名 说明 功能
eax: 累加器 加法乘法指令的缺省寄存器, 函数返回值
ecx 计数器 REP & LOOP指令的内定计数器
edx 除法寄存器 存放整数除法产生的余数
ebx 基址寄存器 在内存寻址时存放基地址
esp 栈顶指针寄存器 SS:ESP当前堆栈的栈顶指针
ebp 栈底指针寄存器 SS:EBP当前堆栈的栈底指针
esi, edi 源、目标索引寄存器 在字符串操作指令中,DS:ESI指向源串 ES:EDI指向目标串
//以上为通用寄存器
eip 指令寄存器 CS:EIP指向下一条指令的地址 (也叫PC)
eflags 标志寄存器 标志寄存器
cs 代码段寄存器 当前执行的代码段
ss 椎栈段寄存器 stack segment, 当前堆栈段
ds 数据段寄存器 data segment, 当前数据段
然后是 寻址方式
1 直接寻址方式
直接访问内存地址
2:寄存器间接寻址方式:
通过寄存器中存储的内存地址访问内存
3 寄存器相对寻址方式:
将寄存器中内存地址加上一个数值后作为地址访问内存
4:基址变址寻址方式:
把一个基址寄存器(EBX或EBP)的内容加上变址寄存器(ESI或EDI)的内容构成有效地址的寻址方式。若基址寄存器使用EBX,其默认段为数据段DS;若基址寄存器使用EBP,其默认段为堆栈段SS
5:相对基址变址寻址方式:
就是基址变址寻址方式得出的地址再加上一个数值然后进行寻址 譬如[EBX + EDI + 100]
一些基础 再加上指令的基础 就可以读懂基本的汇编语句 可以进行debug和写程序了
寄存器名 说明 功能
eax: 累加器 加法乘法指令的缺省寄存器, 函数返回值
ecx 计数器 REP & LOOP指令的内定计数器
edx 除法寄存器 存放整数除法产生的余数
ebx 基址寄存器 在内存寻址时存放基地址
esp 栈顶指针寄存器 SS:ESP当前堆栈的栈顶指针
ebp 栈底指针寄存器 SS:EBP当前堆栈的栈底指针
esi, edi 源、目标索引寄存器 在字符串操作指令中,DS:ESI指向源串 ES:EDI指向目标串
//以上为通用寄存器
eip 指令寄存器 CS:EIP指向下一条指令的地址 (也叫PC)
eflags 标志寄存器 标志寄存器
cs 代码段寄存器 当前执行的代码段
ss 椎栈段寄存器 stack segment, 当前堆栈段
ds 数据段寄存器 data segment, 当前数据段
然后是 寻址方式
1 直接寻址方式
直接访问内存地址
2:寄存器间接寻址方式:
通过寄存器中存储的内存地址访问内存
3 寄存器相对寻址方式:
将寄存器中内存地址加上一个数值后作为地址访问内存
4:基址变址寻址方式:
把一个基址寄存器(EBX或EBP)的内容加上变址寄存器(ESI或EDI)的内容构成有效地址的寻址方式。若基址寄存器使用EBX,其默认段为数据段DS;若基址寄存器使用EBP,其默认段为堆栈段SS
5:相对基址变址寻址方式:
就是基址变址寻址方式得出的地址再加上一个数值然后进行寻址 譬如[EBX + EDI + 100]
一些基础 再加上指令的基础 就可以读懂基本的汇编语句 可以进行debug和写程序了