簡體   English   中英

什么是Irvine32庫,為什么要使用它?

[英]What is the Irvine32 library and why do we use it?

我想知道Irvine32匯編語言庫是。

我想要一個定義,以及我們為什么要使用此庫。

我想知道什么是匯編語言中的Irvine32庫。

Irvine32庫是有用的功能的集合,您可以在聯機文檔中查看它們的列表和更多詳細信息。

我要辯護,為什么還要使用這個庫?

我不知道為什么使用它。

通常,人們希望使用它來避免自己編寫提供該功能的代碼。 由於匯編代碼的某些功能可能是數十行或數百行代碼(對於非常復雜的功能,甚至可能是數千行),並且每次都要編寫它可能很麻煩。

而且,由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系統調用就是這樣做的。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM