assembly

1.X86

1.1 指令

  • pushal

    将本函数的所有寄存器

1.1 寄存器

  • AX

    累积暂存器,加法乘法指令的缺省寄存器

  • BX

    基底暂存器,在内存寻址时存放基地址

  • CX

    计数暂存器,是重复(REP)前缀指令和LOOP指令的内定计数器

  • DX

    资料暂存器,被用来放整数除法产生的余数

  • EAX/EBX/ECX/EDX

    为AX/BX/CX/DX的延伸,32位

    EAX包括AH(高8位)、AL(中间8位)、AX(低16位)
    |--AH--|--AL--|----AX----|
    |----------EAX-----------|
    
  • SP

    堆叠指标暂存器,存放栈的偏移地址,指向栈顶

  • BP

    基数指针寄存器,通过BP来寻找堆栈里数据或者地址。最经常被用作高级语言函数调用的”框架指针”(frame pointer),在EBP上方分别是原来的EBP, 返回地址和参数. EBP下方则是临时变量。

  • IP

    存放下一个CPU指令存放的内存地址

  • ESP/EBP

    是SP/BP的拓展,32位

  • CS

    在一个段寄存器Segment Register里面,会保存16位的段选择子Segment Selector,用于结合GDTR来索引段描述符表中的段描述符,下面各个段寄存器同

    代码段寄存器(Code Segment Register),其值为代码段的段值

  • DS

    数据段寄存器(Data Segment Register),其值为数据段的段值,指向当前运行着的程序的数据段

  • ES

    附加段寄存器(Extra Segment Register),其值为附加数据段的段值,通常跟DI一起用来做指针使用. DS:SI和ES:DI配对时通常用来执行一些字符串操作

  • GS和FS

    段寄存器,没有处理器定义的目的,而是由操作系统运行它们来赋予目的。

  • SS

    堆栈段寄存器(Stack Segment Register),其值为堆栈段的段值。

2.ARM


欢迎关注我的微信公众号

互联网矿工

funpeefun

Search

    Post Directory