environment-variables - 打印 NASM 中的环境变量

标签 environment-variables nasm

我正在尝试弄清楚如何在 NASM 中打印环境变量。

我们在类里面了解到,命令行参数的数量存储在 EAX 寄存器中,第一个参数的地址存储在 EDX 寄存器中的位置。然而,这对我不起作用,因为 EDX 寄存器中没有写入任何内容。

我已经看到了一些其他方法来做到这一点,其中以某种方式使用 ESP 寄存器,但我并没有真正找到完整的解释。

如果有人对这个对我来说令人困惑的问题有一个很好且清晰的解释,我将非常感激。

最佳答案

看看以下相关帖子:Why does this NASM code print my environment variables? .

您还可以查看 startup state of a Linux binary .

简而言之,环境变量列在命令行参数后面的 NULL 值之后。

关于environment-variables - 打印 NASM 中的环境变量,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32144016/

相关文章:

java - 使用 ProcessBuilder + java 改变用户环境

pointers - Nasm - 按值和地址访问结构元素

linux - 如何在汇编程序中打开文件并修改它?

linux - 无法从汇编 (yasm) 代码调用 64 位 Linux 上的 C 标准库函数

c++ - 使用 NASM/Linux 的定时器

linux - 使用 gcc -m32 标志找不到 -lgcc 和 -lgcc_s

visual-studio - $(OutDir) 的含义

java - 在 tomcat7 maven 插件中设置 ENV 变量

java - Hadoop 's java environment-variables dosen'不能更改吗?

java - 在 Spring Boot 中读取环境变量