assembly - 如何以与操作系统无关的方式打印字符串?

标签 assembly cross-platform x86 nasm

我正在尝试以与操作系统无关的方式打印字符串。例如,该程序在 Windows 上的运行应该与在 *nix 上运行的相同。

这可能吗?我假设由于底层架构相同(x86),因此方法也相同。就像调用中断那么简单吗?

原因是我正在尝试编写一个生成汇编代码的编译器 - 在其开发的早期阶段,仅存在少数功能 - 我希望能够测试生成的汇编代码在 Windows 或 *nix 中。将来,在生成相同代码的同时将不可能保持平台中立性,但基本上我此时想做的就是打印一个字符串。

最佳答案

你能链接到libc吗?如果你能做到这一点,你应该能够只调用 printf() 并完成它。示例程序可以在 this link 找到。 .

关于assembly - 如何以与操作系统无关的方式打印字符串?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3645084/

相关文章:

c - 反汇编 C 代码

function - ARM 汇编语言中的两个函数/子例程

javascript - 每个平台上的 XML、PDF 和 Office 文档的数字签名

assembly - 在 Assembly x86 中将字符打印到标准输出

从微架构中抽象出来的 x86 程序计数器?

assembly - x86 Assembly 为什么使用 Push/Pop 而不是 Mov?

c - Assembly + C - 排序结构

android - 我如何在 xamarin 中实现 facebook 聊天(跨平台)

javascript - HTML5 设备方向 - 可靠的指南针实现?

c++ - 当我们将数据从 ax 移动到端口地址时会发生什么