首页 > 解决方案 > Nasm - 我如何将变量传递给外部程序?

问题描述

我想将“msg”和“len”传递给外部程序,我不知道为什么。编译器表示未定义的变量。

文件 1.asm:

%include "File2.asm"
extern write_string
section .data
   msg db "Hello world",0xA
   len equ $- msg
section .text
    global _start 
_start:
    call write_string

    mov rax,1           ;system call number (sys_exit)
    int 0x80            ;call kernel

文件2.asm

write_string:
         mov    rax,4           ;system call number (sys_write)
         mov    rbx,1           ;file descriptor (stdout)
         mov    rcx, msg    
         mov    rdx, len
         int    0x80            ;call kernel
         ret

标签: assemblynasm

解决方案


推荐阅读