assembly - 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
解决方案
推荐阅读
- html - 使用多个下拉菜单隐藏 DIV
- python - 为什么在迭代器上迭代的循环中的 next 与 pop 的行为不同?
- python - 将网格网格作为参数传递,将数组作为另一个参数
- javascript - 如何从 javascript 更改表单的目标?
- selenium - 如何在渲染 UI 时进行 selenium javascript 代码注入?
- spring-boot - 用于 StringExpression 的操作
- typescript - TypeScript 可区分联合 - 在详尽的 If 语句之后分配之前使用的变量
- json - 如何从 Json 创建一个可搜索的列表?
- python - 如何恢复已删除的容器
- vue.js - 从 for 循环定义派生变量