我想知道Irvine32汇编语言库是什么。
我想要一个定义以及我们为什么使用这个库。
我想知道汇编语言中的 Irvine32 库是什么。
Irvine32 库是有用函数的集合,您可以查看在线文档了解它们的列表和更多详细信息。
我想要一个防御以及为什么我们使用这个库?
我不知道为什么you use it.
通常人们希望使用它来避免自己编写提供该功能的代码。由于复制某些功能的汇编代码可能是数十行或数百行代码(对于非常复杂的功能甚至数千行代码),并且每次都编写它可能会很麻烦。
此外,Irvine32 函数提供的 API 通常比操作系统服务提供的类似 API 更易于使用,因此使用 Irvine32 代替直接调用操作系统服务通常会更简单。
It also provides library functions that read and print integers (like WriteDec), which there's no system call for. So it's like a simplified C library printf
. And ReadDec returns a value in EAX, and success/fail in FLAGS (CF), while C library scanf requires you to pass a pointer where the result will be stored1.
它是为初学者和简单的程序而设计的,而不是为了效率。例如,Irvine32 使用自己的调用约定,没有调用破坏寄存器,因此您可以在循环内打印内容,而不必考虑将循环计数器保留在它不会执行的寄存器中。
脚注 1:因为 scanf 可以在一次调用中执行多次转换,并且因为 C 不能同时返回整数和标志作为两个单独的返回值。在 CF 中以成功/失败的方式返回寄存器中的值通常只有 asm 调用约定才能使用。不过,这并不是 Irvine32 独有的。例如,Mac OS 系统调用就是这样做的。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)