ano*_*nol 2 x86 assembly instruction-set
我想组装一个x86文件,同时确保代码将在给定的处理器上运行,而不必在处理器模拟器上进行测试.
是否有工具/技术允许我根据支持它的最老的所需处理器进行某种x86指令分类,或者至少在使用不兼容的指令时警告我?
简而言之,我正在寻找这个维基百科x86指令列表表的自动化版本,以帮助我检查给定代码是否应与给定处理器兼容.
简而言之,我正在寻找这个维基百科x86指令列表表的自动化版本,以帮助我检查给定代码是否应与给定处理器兼容.
您可以使用以下指令发出临时程序集文件:
[CPU level]
Run Code Online (Sandbox Code Playgroud)
其中level一个是:
8086 仅汇编8086指令集186 将指令汇编到80186指令集286 汇编指令直到286指令集386 汇编指令直到386指令集486 486指令集586 奔腾指令集PENTIUM 与586相同686 P6指令集PPRO 与686相同P2 与686相同P3 奔腾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
Run Code Online (Sandbox Code Playgroud)
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
Run Code Online (Sandbox Code Playgroud)