自学内容网 自学内容网

Intel架构的基本知识

1.字节序

CPU的字节序分为LittleEndian和BigEndian。

所谓Endian,就是多字节数据在内存中的排列方式。

例如,假设有一个整数0x11223344:

LittleEndian的排列方式是,从内存的低地址开始,依次存放 0x44 0x33 0x22 0x11;

BigEndian的排列方式是,从内存的低地址开始,依次存放 0x11 0x22 0x33 0x44。

Intel架构采用LittleEndian,其他的比如SPARC、MIPS架构采用BigEndian。

2.32位环境中的寄存器

32位环境中的寄存器有以下一些。

(1)8个32位通用寄存器

8个32位通用寄存器分别为 EAX、EBX、ECX、EDX、ESI、EDI、EBP、ESP。

ESP寄存器用于保存栈指针。

某些命令使用特定的寄存器。例如,字符串命令将ECX、ESI和EDI寄存器作为操作数使用。

8个通用寄存器的主要用途如下:

EAX 操作数的运算、结果

EBX 指向DS段中数据的指针(见下文段寄存部分)

ECX 字符串操作或循环的计数器

EDX 输入输出指针

ESI 指向DS寄存器所指示的段中某个数据的指针,或者是字符串操作中字符串的复制源(source)

EDI 指向ES寄存器所指示的段中某个数据的指针,或者是字符串操作中字符串的复制目的地(destination)

ESP 栈指针(SS段)

EBP 指向栈上数据的指针(SS段)

但是,通用寄存器的用途并不限


原文地址:https://blog.csdn.net/liuyangwuhan1980/article/details/142392622

免责声明:本站文章内容转载自网络资源,如本站内容侵犯了原著者的合法权益,可联系本站删除。更多内容请关注自学内容网(zxcms.com)!