• Windbg学习 (0x000b) 命令-寄存器控制


    r

    读取/设置寄存器值

    r Register[:[Num]Type] [= [Value]]

    举例:

    r :打印所有寄存器

    r rax

    r eax 

    r @rax=0   设置寄存器的值

    RegisterName:

    关于不同架构上的寄存器名称 

    |63..32|31..16|15-8|7-0|

           |AH..AL..|

             |AX......|

        |EAX...........|

    |RAX...................|

    所以对于 ax寄存器,是读取寄存器的不同长度

    r al

    r ax

    r eax

    r rax

    可用的寄存器 如下

    • rax 作为函数返回值使用。
    • rsp 栈指针寄存器,指向栈顶
    • rdi,rsi,rdx,rcx,r8,r9 用作函数参数,依次对应第1参数,第2参数。。。
    • rbx,rbp,r12,r13,14,15 用作数据存储,遵循被调用者使用规则,简单说就是随便用,调用子函数之前要备份它,以防他被修改
    • r10,r11 用作数据存储,遵循调用者使用规则,简单说就是使用之前要先保存原值

    register

    状态

    使用

    RAX

    易失的

    返回值寄存器

    RCX

    易失的

    第一个整型参数

    RDX

    易失的

    第二个整型参数

    R8

    易失的

    第三个整型参数

    R9

    易失的

    第四个整型参数

    R10:R11

    易失的

    必须根据需要由调用方保留;在 syscall/sysret 指令中使用

    R12:R15

    非易失的

    必须由被调用方保留

    RDI

    非易失的

    必须由被调用方保留

    RSI

    非易失的

    必须由被调用方保留

    RBX

    非易失的

    必须由被调用方保留

    RBP

    非易失的

    可用作帧指针;必须由被调用方保留

    RSP

    非易失的

    堆栈指针

    XMM0、YMM0

    易失的

    第一个 FP 参数;使用 __vectorcall 时的第一个矢量类型参数

    XMM1、YMM1

    易失的

    第二个 FP 参数;使用 __vectorcall 时的第二个矢量类型参数

    XMM2、YMM2

    易失的

    第三个 FP 参数;使用 __vectorcall 时的第三个矢量类型参数

    XMM3、YMM3

    易失的

    第四个 FP 参数;使用 __vectorcall 时的第四个矢量类型参数

    XMM4、YMM4

    易失的

    必须根据需要由调用方保留;使用 __vectorcall 时的第五个矢量类型参数

    XMM5、YMM5

    易失的

    必须根据需要由调用方保留;使用 __vectorcall 时的第六个矢量类型参数

    XMM6:XMM15、YMM6:YMM15

    非易失的 (XMM),易失的(YMM 的上半部分)

    必须根据需要由被调用方保留。YMM 寄存器必须根据需要由调用方保留。

     

    关于 x86 和 x64寄存器介绍 可以参考一下文章: 

    https://msdn.microsoft.com/zh-cn/library/9z1stfyw.aspx 

    http://www.mouseos.com/x64/extend64.html

  • 相关阅读:
    后台取得非服务器控件的一种方法(Request.Form.GetKey(i))
    扩展jQuery键盘事件的几个基本方法(练习jQuery插件扩展)
    Javascript得到CheckBoxList的Value
    sql server的count(小技巧)
    oracle数据库约束条件删除、取消、启用
    iis7.0修改网站端口
    session模式和web园
    理解Session State模式+ASP.NET SESSION丢失FAQ (转)
    Gridview中生成的属性rules="all",在Firefox出现内线框解决办法
    一个类windows系统的效果图
  • 原文地址:https://www.cnblogs.com/ywnwa417/p/5678323.html
Copyright © 2020-2023  润新知