LinuxSir.cn,穿越时空的Linuxsir!

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

如何执行汇编16位程序?

[复制链接]
发表于 2006-3-26 09:00:25 | 显示全部楼层 |阅读模式
我看到一个实模式跳转到保护模式的汇编程序。我在linux下用nasm编译生成pm.com
nasm pm.asm -o pm.com 后不能执行pm.com
bash: ./pmtest1.com: cannot execute binary file
请问如何执行这个程序?
发表于 2006-3-26 11:18:53 | 显示全部楼层
linux主要执行文件格式是ELF的吧,貌似不能直接执行二进制代码,再说linux已经在保护模式下了,试试用VM或者其他的虚拟机吧……
回复 支持 反对

使用道具 举报

 楼主| 发表于 2006-3-26 16:50:02 | 显示全部楼层
Linux不是不识别后缀的吗?我这个是绝对的二进制文件啊,那我换换ELF后缀试试看。

我觉得Linux这么强大,还不致于要安装vm下安装个DOS的地步吧,Linux真的不能执行16位程序吗?
回复 支持 反对

使用道具 举报

发表于 2006-3-26 19:31:10 | 显示全部楼层
能不能执行16位程序我虽然不清楚,但是也不至于用VM装DOS
DosBox,DosEmu,这些都是现成的Dos虚拟机,玩Dos游戏或者写老程序都挺合适的
回复 支持 反对

使用道具 举报

发表于 2006-3-26 22:47:51 | 显示全部楼层
Post by Heefan
Linux不是不识别后缀的吗?我这个是绝对的二进制文件啊,那我换换ELF后缀试试看。


ELF 是一种执行文件的‘格式’,跟后缀没关系。不是说你换成ELF后缀它就是ELF的了。。。
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 注册

本版积分规则

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