gpt4 book ai didi

assembly - 检查给定的程序集文件是否应在给定的处理器上运行

转载 作者:行者123 更新时间:2023-12-02 13:13:19 25 4
gpt4 key购买 nike

我想组装一个 x86 文件,同时确保代码将在给定处理器上运行,而无需在处理器模拟器上对其进行测试。

是否有一种工具/技术可以让我根据支持它的最旧的所需处理器进行某种 x86 指令分类,或者至少在使用不兼容的指令时警告我?

简而言之,我正在寻找 this Wikipedia table of x86 instruction listings 的自动化版本,帮助我检查给定代码是否应与给定处理器兼容。

最佳答案

In short, I'm looking for an automated version of this Wikipedia table of x86 instruction listings, to help me check if a given code should be compatible with a given processor.

您可以使用以下指令发出临时程序集文件:

[CPU level]

其中级别是以下之一:

  • 8086 仅汇编 8086 指令集
  • 186 汇编指令直至 80186 指令集
  • 286 汇编指令直至 286 指令集
  • 386 汇编指令直至 386 指令集
  • 486486指令集
  • 586奔腾指令集
  • PENTIUM 与 586 相同
  • 686 P6指令集
  • PPRO 与 686 相同
  • P2 与 686 相同
  • P3 Pentium III (Katmai) 指令集
  • KATMAI 与 P3 相同
  • P4 Pentium 4 (Willamette) 指令集
  • WILLAMETTE 与 P4 相同
  • PRESCOTT Prescott 指令集
  • X64 x86-64 (x64/AMD64/Intel 64) 指令集
  • IA64 IA64 CPU(x86模式)指令集

后跟您的代码。然后调用 NASM 来组装该文件,并观察 NASM 的退出状态和错误消息。如果您不使用 NASM,TASM/MASM 也有类似的指令。

<小时/>

一个例子:

test8086.asm

[cpu 8086]
cmovne eax,ebx ; Not a part of the 8086 instruction set


C:\nasm>nasm -f bin -o test8086.com test8086.asm
test8086.asm:2: error: no instruction for this cpu level

C:\nasm>echo %errorlevel%
1

关于assembly - 检查给定的程序集文件是否应在给定的处理器上运行,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31510329/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com