mov dword ptr ds:[esp],1
这里的ds,是什么意思?或者有什么资料介绍,谢谢
ds是Data Segment(数据段寄存器)的缩写。mov dword ptr ds:[esp],1 这条指令的意思是:把立即数 1 按dword也就是双字四字节长度存入地址为ds:[esp]的内存单元中。想要了解这个到底是什么意思,需要了解CPU的段寻址方式。
学习汇编最起码要了解CPU的架构,看你的这条指令应该使用的是32位X86架构,最起码要知道:
1.通用寄存器8个:EAX,ECX,EDX,EBX,ESI,EDI,ESP,EBP
2.段寄存器6个:ES附加段寄存器,SS栈段寄存器,DS数据段寄存器,CS代码段寄存器,FS标记段寄存器,GS全局段寄存器
3.标记位寄存器:CF进位标记,奇偶标记PF,辅助进位AF,零标记ZF,符号标记SF,单步标记TF,中断使能标记IF,方向标记DF,溢出标记OF
4.浮点数寄存器8个:ST0~ST7
5.只读寄存器:EIP CS:[EIP]始终指向当前执行的指令地址,只可读不能直接写,可以通过J系列跳转指令或者call和ret指令间接修改。