I want pass "msg" and "len" to a external procedure, i don't know why. The compiler said undefined variables.
File1.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
File2.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
