10 architecture x86 assembly operating-system x86-64
最近我决定尝试基本的x86程序集,以便更容易调试程序等等.所以我开始(大约一周前)学习x86程序集,在那个时候,我将我的计算机升级到8GB内存,所以很明显我的x86 Windows XP安装浪费了所有内存,现在,我正在运行x64 Windows 7副本,所以问题是:
是否可以在x64操作系统上使用x86程序集?它会在模拟器中正常运行吗?或者我应该学习x64程序集?
cla*_*aws 18
是否可以在x64操作系统上使用x86程序集?它会在模拟器中正常运行吗?
是的,它是可能的,它将正常运行.指令集架构始终向后兼容.
x86-64中的寄存器:
替代文字http://www.usenix.org/events/bsdcon/full_papers/linden/linden_html/reg.gif
例如:在这里你可以看到这rax是新的64通用寄存器,但你仍然可以使用,eax因为它指的是低32位rax.
或者我应该学习x64程序集?
x86-32体系结构是x86-64的子集.就像你第一次学习x86然后去找x86-64汇编中的新东西一样.一旦你学习了x86 asm.那么这将是一个有用的资源:http://www.cs.cmu.edu/~fp/courses/15213-s06/misc/asm64-handout.pdf