我想将“ msg”和“ len”传递给外部过程,我不知道为什么。 编译器表示未定义的变量。
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