首页 文章
  • 7 votes
     answers
     views

    x86指令集路线图

    经过长时间的高级编程后,我只是触摸了x86指令集的表面 . 大约20年来,我第一次阅读x86汇编编程,从我的谷歌搜索中我得到了大量的指令集引用;从那些将新一代处理器(286,386,486 ......)与其他添加更新x86指令的处理器混合在一起的处理器 . 更不用说AMD的变化 . 由于我打算构建一个引导装载程序,我首先想到的是完全符合'标准x86',但我无法弄清楚它的位置,甚至它是否存在于任何...
  • 5 votes
     answers
     views

    为什么ia32 / x64操作码将文档0x66和0xF2映射为操作码0x0F38F1(CRC32)的双重必需前缀?

    在英特尔64和IA-32架构软件开发人员手册中,行F表A-4附录A.3卷2C(订单号326018-045US 2013年1月)的独特之处在于它具有前缀子行,用于两个组合前缀:0x66和0xF2 . 与此相关的唯一操作码是0x0F38F1(CRC32) . 对于前缀0xF2,源操作数是Ey(存储器或通用寄存器; 32位或64位),对于前缀0x66和0xF2,源操作数是Ew(存储器或通用寄存器;总是1...
  • 0 votes
     answers
     views

    程序集x86 JMP到相对地址大于127(7F)

    我的装配不是很流利;而我正在努力实现的目标如下: 00001 INC EAX 00002 MOV EBX, 22 00003 JMP 140 <-- Here I want to jump +140 from the current EIP ... 00143 RETN <-- I want to land here 我在汇编x86中了解了短距离,远距离,近距离跳跃,我似乎无法弄清楚...
  • 3 votes
     answers
     views

    x86处理器增加IP寄存器的数量是多少?

    所有x86 cpu都有指令指针寄存器,它保存下一条要执行的指令的偏移量(地址) . 如果没有分支或跳转,那么下一条获取指令的递增(或递减)的典型量是多少?我认为这可能是32位典型指令的大小?
  • 0 votes
     answers
     views

    为什么这是一个无效的操作数?

    我有一个由我正在编写的编译器生成的以下ASM文件: ; This code has been generated by the 7Basic ; compiler <http://launchpad.net/7basic> ; Uninitialized data SECTION .bss v_0 resb 4 v_4 resb 4 v_8 resb 4 ; Code...
  • 1 votes
     answers
     views

    x86_64 - 编码mov指令

    编码x86_64指令 mov rcx,rdx (使用https://defuse.ca/online-x86-assembler.htm)输出 48 89 D1 . 使用this reference检查操作码显示该字节序列如何编码指令 . 但是,该表中的两行(操作码 8B )是一个非常相似的 mov 指令,但是操作数的顺序是翻转的 .实际上我可以使用 48 8b ca (通过反编译验证)对相同的...
  • 3 votes
     answers
     views

    'call dword ptr [mem32]'问题的操作码和ModRM?

    为什么不能从EBP寄存器调用指针地址?我的意思是在下面的代码模式中演示 . OpCode:'0xFF 0x10' - > CALL DWORD PTR DS:[EAX] OpCode:'0xFF 0x11' - > CALL DWORD PTR DS:[ECX] OpCode:'0xFF 0x12' - > CALL DWORD PTR DS:[EDX] O...

热门问题