您的当前位置:首页NASM入门--hello world

NASM入门--hello world

来源:小侦探旅游网

学了很久的C++,现在回过头来学NASM汇编,感觉有些东西就很自然的符合逻辑了。

入门看的是这个链接 ,写的很厉害

section .data
    ;db是申请变量,有点类似于new,equ是别名,有点类似defien
    text:       db 'its my first asm program!'          ;开辟一个数据段,存放字符串
    text_len:   equ $-text                              ;这个是计算text的buffer的长度,$是代表当前的地址,$减去$text的地址就得到了buffer的长度  
                                                        ;equ 有点类似#define那样,是一个别名
section .text
    global _start

_start:
    mov eax,4           ;调用unistd.h中的sys_write调用号
    mov ebx,1           ;1表示标准输出
    mov ecx,text        ;填充第二个参数,buf
    mov edx,text_len    ;填充第三个参数, buf长度
    int 80h             ;填充完毕。调用软中断显示文字

    mov eax,1           ;调用linux软中断,退出程序,返回代码为0x11(16),17(10)
    mov ebx,text_len
    int 80h

因篇幅问题不能全部显示,请点此查看更多更全内容