Что такое библиотека Irvine32 и почему мы ее используем? - PullRequest
0 голосов
/ 27 января 2019

Я хочу знать, что библиотека ассемблера Irvine32 - это.

Мне нужно определение, а также, почему мы используем эту библиотеку.

1 Ответ

0 голосов
/ 27 января 2019

Я хочу знать, что такое библиотека Irvine32 на языке ассемблера.

Библиотека Irvine32 представляет собой набор полезных функций, вы можете проверить онлайн-документацию для получения спискаих и дальнейшие детали.

Мне нужна защита, а также почему мы используем эту библиотеку?

Я не знаю, почему вы используете ее.

Обычно каждый хочет использовать его, чтобы избежать написания кода, обеспечивающего эту функциональность сам.Поскольку код ассемблера, воспроизводящий некоторые функции, может состоять из десятков или сотен строк кода (или даже тысяч для очень сложных функций), и иметь его для записи каждый раз может быть громоздким.

Также API, предоставляемыйФункции Irvine32 часто проще в использовании, чем аналогичные API, предоставляемые службами ОС, поэтому часто может быть несколько проще использовать Irvine32 вместо непосредственного вызова служб ОС.

Он также предоставляет библиотечные функции, которые читают и печатают целые числа (как WriteDec), для которого нет системного вызова.Так что это похоже на упрощенную библиотеку C printfReadDec возвращает значение в EAX и success / fail во FLAGS (CF), в то время как библиотека C scanf требует, чтобы вы передали указатель, в котором будет сохранен результат 1 .

Он предназначен для начинающих и простых программ, а не для эффективности.Например, Irvine32 использует свое собственное соглашение о вызовах без регистров, перекрывающих вызовы, поэтому вы можете печатать содержимое внутри цикла, не думая о том, чтобы сохранить счетчик цикла в регистре, на который он не собирается наступать.


Сноска 1: поскольку scanf может выполнять несколько преобразований за один вызов, а также потому, что C не может возвращать как целое число, так и флаг как два отдельных возвращаемых значения.Возвращение значения в регистр с успехом / неудачей в CF - это то, что обычно могут использовать только соглашения о вызовах asm.Это не уникально для Irvine32, хотя.Например, системные вызовы Mac OS делают это.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...