使用c语言打印x86寄存器

使用c语言打印x86寄存器

void main()
{

    int out = 0;
    asm ("movl %%ecx, %0\n" : "=r"(out));
    printf("ecx is %x\n",out);
    int seg;
    asm volatile("movw %%fs,%0" : "=rm" (seg));
    printf("fs is %x\n",seg);

    asm ("movw %%cs, %0\n" : "=rm"(out));
    printf("cs is %x\n",out);

    asm ("movw %%ds, %0\n" : "=rm"(out));
    printf("ds is %x\n",out);

     asm ("movw %%es, %0\n" : "=rm"(out));
    printf("es is %x\n",out);


     asm ("movw %%ss, %0\n" : "=rm"(out));
    printf("ss is %x\n",out);

}
~
x64的寄存器

define get_bp(bp) asm(“movq %%rbp, %0” : “=r” (bp) :)

  • 2
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值