在x64位处理器上编写x86程序集

zeb*_*und 8 x86 assembly windows-7-x64

例如,我正在运行Windows 7 64位,但似乎所有用于学习汇编语言的最佳资源都是关于x86的.如果可以在x64上编写x86,那么最好的方法是什么?是否存在转换器?另外,64位汇编编程有哪些好的资源?

old*_*mer 3

x86肯定不是最好的,首先,汇编要学。如果有的话,这也是你最不想学的。查看https://github.com/dwelch67 lsasim 是一个为学习汇编而设计的指令集。pcemu_samples是一个修改后的pcemu(能够运行dos的8086/88模拟器),删除了bios/dos调用,专门用于学习8088/86汇编程序。我建议您在接触 x86 汇编时从 8088/86 开始,例如 pcemu_samples(您被迫专注于汇编语言而不是系统调用)。当您想要进入系统调用时,dosbox 和 bochs 可以使用 dos/bios 运行 8088/86 程序。然后进入 32 位和 64 位增强、多核等等。

最后学习 x86 会给你自己带来很大的好处。msp430、上面的lsasim、arm、thumb(不是thumb2)都是很好的起点。至少学习一些不同的指令集(如果不是很多的话)也会让你受益匪浅。我有其中一些模拟器,可以让您很好地了解正在发生的事情,我建议首先学习模拟器,您可以了解模拟器。

如果您从 8088/86 开始,然后转移到 386/486,然后前进到 x64,那么您得到的关于到处都有效的指令(某种)的其他答案将非常有意义。