linux 32位系统 和 linux 64位系统 下汇编语言问题

时间:2021-09-23 12:34:18
大家好,本来在台式机上装了一个fedora 12 的虚拟机学习汇编。 用的是 32 位的系统。
昨天在笔记本上硬盘装了一个 fedora 16  64位的系统(装的时候不知道,等到把代码敲进去 as 的时候才发现自己装的是64位的。。。) 

想问一下各位大牛们,  linux下汇编语言 有没有类似什么官方文档(Documentation /Docuemnt)? 比如语法 和 32 位系统和 64位系统的的语法差别等。   
感谢!  

1 个解决方案

#1


不用纠结,64bits系统上,仍然可以编译执行32bit程序,只需要:

as  --32 -o outfile.o asm.s
ld -s  -m elf_i386 -o outfile outfile.o

见红色部分。

另外,语法没有差别,只有指令差别,指令差别看具体手册,比如intel指令集相关文档。

或者参考一些书籍,比如《x86/x64体系探索及编程》

#1


不用纠结,64bits系统上,仍然可以编译执行32bit程序,只需要:

as  --32 -o outfile.o asm.s
ld -s  -m elf_i386 -o outfile outfile.o

见红色部分。

另外,语法没有差别,只有指令差别,指令差别看具体手册,比如intel指令集相关文档。

或者参考一些书籍,比如《x86/x64体系探索及编程》