我想知道Irvine32汇编语言库是
我想要一个定义以及我们为什么要使用此库。
答案 0 :(得分:4)
我想知道什么是汇编语言中的Irvine32库。
Irvine32库是有用功能的集合,您可以检查online documentation以获得它们的列表和更多详细信息。
我要辩护,还有我们为什么要使用这个库?
我不知道为什么您使用它。
通常,人们希望使用它来避免自己编写提供该功能的代码。复制某些功能的汇编代码可能是数十行或数百行代码(对于非常复杂的功能,甚至可能是数千行),并且每次都要编写它可能很麻烦。
Irvine32函数提供的API通常比OS服务提供的类似API更易于使用,因此使用Irvine32而不是直接调用OS服务通常更简单。
它还提供了读取和打印整数(例如WriteDec
)的库函数,而无需系统调用。因此,这就像一个简化的C库printf
。并且ReadDec
在EAX中返回一个值,在FLAGS(CF)中返回成功/失败,而C库scanf
则要求您传递一个将结果存储在其中的指针 1
它是为初学者和简单的程序设计的,不是为了提高效率。例如,Irvine32使用自己的调用约定,而没有调用阻塞的寄存器,因此您可以在循环内打印内容,而不必考虑将循环计数器保持在不会继续执行的寄存器中。
脚注1:因为scanf可以在一个调用中进行多次转换,并且因为C不能同时将整数和标志作为两个单独的返回值返回。在CF中成功/失败的寄存器中返回值是通常只有asm调用约定可以使用的东西。但是,它并不是Irvine32独有的。例如,Mac OS系统调用可以做到这一点。