LinuxSir.cn,穿越时空的Linuxsir!

 找回密码
 注册
搜索
热搜: shell linux mysql
查看: 1208|回复: 17

大家帮帮忙!有关汇编编译的。

[复制链接]
发表于 2005-1-3 21:51:24 | 显示全部楼层 |阅读模式
我刚开始学编程的,有作业其它人在WINDOWS下用汇编编译正常的,
我在LINUX下却无法通过,我的系统是Mandrake10.1,用as86 abc.s -o abc.o
输出:
as: error reading input
是什么原因?如何解决?


此程序其他人在WINDOWS下编译正常的,有人在REDHAT7.3上也能正确编译的。
这也许是很简单的问题,但请大家帮帮我,我刚学的。
 楼主| 发表于 2005-1-4 13:43:03 | 显示全部楼层
怎么没人回答?随便说说吧,若不能确定原因,也可说意见给我参考呀。
 楼主| 发表于 2005-1-4 15:46:10 | 显示全部楼层
没人在吗?
发表于 2005-1-4 21:49:15 | 显示全部楼层
汇编码不是跨平台的
你必须是针对linux编的汇编程序才能在linux上用的
必须是针对windows编的程序才能在windows上用的
 楼主| 发表于 2005-1-4 22:33:04 | 显示全部楼层
Post by pupilzeng
汇编码不是跨平台的
你必须是针对linux编的汇编程序才能在linux上用的
必须是针对windows编的程序才能在windows上用的

谢谢回答!不过我用过的修改过的代码了的,有人在REDHAT7.3下编译成功了的。可能是那处出现问题呢?
等一下我看还能不能找着代码帖出来让你帮我看看。
 楼主| 发表于 2005-1-4 22:35:49 | 显示全部楼层
entry start
start:
mov ax,#0xb800
mov es,ax
seg es
mov [0],#0x41
seg es
mov [1],#0x1f
loop1: jmp loop1
 楼主| 发表于 2005-1-4 22:36:59 | 显示全部楼层
就是以上这些代码,据说是在网上的教程的。
发表于 2005-1-4 23:13:17 | 显示全部楼层
发表于 2005-1-4 23:36:24 | 显示全部楼层
Post by officerlinux
entry start
start:
mov ax,#0xb800
mov es,ax
seg es
mov [0],#0x41
seg es
mov [1],#0x1f
loop1: jmp loop1


这是Intel语法的汇编, 在linux下,你用nasm试试看

linux下最好用at&t语法的汇编, 和Intel的有点不太一样, 源寄存器和目的寄存器与intel的是正好相反的。 而且寄存器,立即数,地址偏移量等等都不一样。 可google,很多文章。
发表于 2005-1-5 08:18:20 | 显示全部楼层
as: error reading input

是不是输入的文件名或文件权限有问题?
您需要登录后才可以回帖 登录 | 注册

本版积分规则

快速回复 返回顶部 返回列表