汇编主要是在 *** 作系统未启动的情况下使用,比如用在bootloader程序设计上,
所以在linux下再用回汇编不适合,而且用汇编语言无法开发大型工程
Linux下使用的是AT&T汇编格式和Intel 汇编格式不同。可以参考“ Linux汇编语言 ”。比如:堆栈 *** 作:(AT&T格式:pushl %eax) (Intel 格式:push eax )奇怪,你虚拟机上的centos是64位的吗?看代码是32位的,因为调用完printf把$esp加了8
我这里32位os可以编译过(虽然运行的时候出了问题)
补充:直接调用ld来链接我搞不来,总之用gcc给链过了。顺便你printf的参数送错顺序了……
环境netbsd 6.1.4 32位
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)