Вопрос № 48515: Здраствуйте! Господа эксперты,незнание закона не освобождает от ответствености ... Так и у меня, незнание английского приводит к проблемам при изучении ассемблера. Что означает ptr,vect например в функции call dword ptr [Int_21h_vect]. И есть ли техн...Вопрос № 48519: Сижу я вот, разбираю досовскую утилиу CHOICE.COM в debug'е... И нахожу странную вещь: вызов прерывания 21h с функцией 51h... В TechHelp'е єта функция недокументирована.
Что ж, я отладчиком залез в обработчик INT 21h, и вытянул следующее (см. в при <b...
Вопрос № 48.515
Здраствуйте! Господа эксперты,незнание закона не освобождает от ответствености ... Так и у меня, незнание английского приводит к проблемам при изучении ассемблера. Что означает ptr,vect например в функции call dword ptr [Int_21h_vect]. И есть ли технический словарь для перевода операндов,меток,команд и т.д для языка ассемблера. Не делайте ссылку на книгу Калашникова. С уважением Бурматов.
Отвечает: Ayl
Здравствуйте, Бурматов Владимир Александрович!
ptr - сокращение от pointer - указатель. Сообщение компилятору о том, что следующий операнд нужно рассматривать как указатель на соответствующий тип. В данном случае в качестве типа выступает dword - двойное слово, т.е. 4 байта, а в качестве указателя - адрес метки Int_21h_vect
vect - это сокращение от vector, часть имени переменной, заданной программистом.
Зачем тебе словарь для перевода? Если хочешь разобраться в ассемблере (а равно и в любом другом языке), научишь думать в рамках этого языка. Для понимания меток (если они, конечно, задаются "говорящими словами") подойдет любой анго-русский словарь, команды и операнды переводить не нужно, нужно иметь под рукой справочник по командам, в котором описывается их действие.
--------- Трудное - то, что можно сделать немедленно. Невозможное - то, для выполнения чего требуется немного больше времени
Ответ отправил: Ayl (статус: Академик) Россия, Санкт-Петербург ICQ: 5163321 ---- Ответ отправлен: 10.07.2006, 12:36
Вопрос № 48.519
Сижу я вот, разбираю досовскую утилиу CHOICE.COM в debug'е... И нахожу странную вещь: вызов прерывания 21h с функцией 51h... В TechHelp'е єта функция недокументирована. Что ж, я отладчиком залез в обработчик INT 21h, и вытянул следующее (см. в при
ложении).
Подскажите, пожалуйста, кто что знает на счёт 51-ой функции? Что она делает?
Приложение:
Отправлен: 08.07.2006, 09:31
Вопрос задал: Java_beast (статус: Посетитель)
Всего ответов: 1 Мини-форум вопроса >>> (сообщений: 1)
Отвечает: Mashin
Здравствуйте, Java_beast!
В книге В.Ю.Пирогова "Ассемблер. Учебный курс" написано следующее:
"Функция 51h прерывания 21h:
Получить PSP текущего процесса.
Выход: bx - PSP текущего процесса."
Ответ отправил: Mashin (статус: 1-ый класс)
Ответ отправлен: 08.07.2006, 12:46