section .data char db 'hi',0Ah len equ $-char section .text global _start _start: call sayhi call sayhi push 0 mov eax,1 call .done sayhi: push len push char push 1 mov eax,4 call .done .done: int 80h ret 结果显示 hi segmentation fault(core dumped) 这是什么情况啊,似乎只call sayhi 了一次,在哪出问题了?在win以同样的思路写出来没错啊
汇编代码: extern choose ; int choose(int a, int b); [section .data] ; 数据在此 num1st dd 3 num2nd dd 4 [section .text] ; 代码在此 global _start ; 我们必须导出 _start 这个入口,以便让链接器识别。 ;global myprint ; 导出这个函数为了让 bar.c 使用 _start: push dword [num2nd] ; `. push dword [num1st] ; | call choose ; | choose(num1st, num2nd); jmp $ c代码: int choose(int a,int b) { return 0; ...
1.1 什么是nasm nasm是一个为可移植性与模块化而设计的一个80x86的汇编器。它支持相当多 的目标文件格式,包括Linux和'NetBSD/FreeBSD','a.out','ELF','COFF',微软16 位的'OBJ'和'Win32'。它还可以输出纯二进制文件。它的语法设计得相当的简 洁易懂,和Intel语法相似但更简单。它支持'Pentium','P6','MMX','3DNow!', 'SSE' and 'SSE2'指令集, 1.1.1 为什么还需要一个汇编器? ...
其实是关于引导程序的问题. times 510-($-$$) db 0 不明白 $ 和 $$ 是什么意思,我查看了 nasm 中文手册,还是不明白. offsetStrTest que StrTest -$$ 到底是什么意思? 我都快要崩溃了.!~!~
Dear all: nasm-2.05.01.tar.bz2: http://www.minix3.ucsc.edu/wikis/minix3/Minix3Home?action=AttachFile&... micklongen 本文来自ChinaUnix博客,如果查看原文请点:http://blog.chinaunix.net/u3/93907/showart_1896823.html
本帖最后由 stuman 于 2014-04-25 21:03 编辑
bar.c[code]#include