gpt4 book ai didi

assembly - 什么是 Irvine32 库,我们为什么要使用它?

转载 作者:行者123 更新时间:2023-12-04 16:43:23 25 4
gpt4 key购买 nike

我想知道Irvine32汇编语言库是什么。

我想要一个定义以及我们使用这个库的原因。

最佳答案

I want to know that what is Irvine32 library in assembly language.

Irvine32 库是有用函数的集合,你可以查看online documentation有关它们的列表和更多详细信息。

I want a defenation and also why we use this library?

我不知道为什么使用它。

通常人们希望使用它来避免自己编写提供该功能的代码。由于复制某些功能的汇编代码可能是数十或数百行代码(对于非常复杂的功能甚至是数千行代码),并且每次都编写它可能很麻烦。

而且 Irvine32 函数提供的 API 通常比操作系统服务提供的类似 API 使用起来更简单,因此使用 Irvine32 而不是直接调用操作系统服务通常会更简单一些。

它还提供读取和打印整数的库函数(如 WriteDec ),没有系统调用。所以它就像一个简化的 C 库 printf。和 ReadDec在 EAX 中返回值,在 FLAGS (CF) 中返回成功/失败,而 C 库 scanf要求您传递一个指针,用于存储结果1

它是为初学者和简单的程序设计的,而不是为了效率。例如,Irvine32 使用自己的调用约定,没有调用破坏的寄存器,因此您可以在循环内打印内容,而不必考虑将循环计数器保存在它不会踩到的寄存器中。


脚注 1:因为 scanf 可以在一次调用中进行多次转换,并且因为 C 不能将整数和标志作为两个单独的返回值返回。在 CF 中使用成功/失败返回寄存器中的值是只有 asm 调用约定通常可以使用的东西。不过,它并不是 Irvine32 独有的。例如,Mac OS 系统调用就是这样做的。

关于assembly - 什么是 Irvine32 库,我们为什么要使用它?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/54386649/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com