程序将在OSX上汇编和链接但不运行(ASM)

时间:2017-02-20 20:03:04

标签: macos assembly x86 nasm

所以我在一个基本的汇编类中,我遇到的问题是我已经获得了创建.o文件和链接的第一个任务。但是当我尝试运行代码时,我没有输出。我一直在寻找答案,但没有看到回应

这是实际的程序

SECTION .data ; Section containing initialized data
EatMsg: db "Eat at Joe's!",10
EatLen: equ $-EatMsg
SECTION .bss ; Section containing uninitialized data
SECTION .text ; Section containing code
global start ; Linker needs this to find the entry point!
start:
nop ; This no-op keeps gdb happy...
mov eax,4 ; Specify sys_write call
mov ebx,1 ; Specify File Descriptor 1: Standard Output
mov ecx,EatMsg ; Pass offset of the message
mov edx,EatLen ; Pass the length of the message
int 80H ; Make kernel call
mov eax,1 ; Code for Exit Syscall
mov ebx,0 ; Return a code of zero
int 80H ; Make kernel call

然后我使用
编译 nasm -f macho -o eatsyscall.o eatsyscall.asm

最后使用

链接

ld eatsyscall.o -o eatsyscall

但是当我使用终端命令./eatsyscall

我根本没有输出。我不确定我在哪里出错了,不胜感激任何建议。

0 个答案:

没有答案