linux - 二进制文件执行错误(Assembly - linux)
问题描述
我的主要操作系统Windows。我将 Ubuntu 安装为 Windows 子系统。我正在使用 nasm。
汇编代码:
section .text
global _start
_start:
move eax,1
move ebx,0
int 0x80
我是这样编译的
----> nasm -f elf FILENAME.asm
----> ls
FILENAME.asm FILENAME.o
---> ld -m elf_i386 FILENAME.o -o OUTFILE
---> ls
FILENAME.asm FILENAME.o OUTFILE
当我运行 OUTFILE 时,出现如下错误:
-bash: ./OUTFILE: cannot execute binary file: Exec format error
你能帮助我吗?
解决方案
推荐阅读
- graphql - GraphQL 从变量添加自省
- powershell - 如何防止在PowerShell中启动已安装的应用程序
- javascript - PHP、HTML JS MySQL 动态下拉菜单
- gradle - 在运行 Corda 培训计划的 IntelliJ IDEA 中看不到下拉单元测试
- mysql - 将闪亮的数据存储到mySql中
- static-site - 哪个静态站点生成器可以仅通过迭代图像的资产目录(没有任何内容格式(例如 MD)文件)来生成页面?
- mysql - 如何在 Hibernate 中将关系表建模为实体
- apache-nifi - nifi中的JSON数组到多个JSON对象
- java - 使用 Path 解决方案后,我无法让命令提示符读取 javac 命令。(Windows 8.1 64 位)
- java - Tomcat 管理器响应“失败 - 在上下文路径中部署的应用程序