Что означает int 21h в сборке?

Я новичок в изучении языка ассемблера, и мне интересно, что означает команда int 21h. Например:

 mov ah,01h
 int 21h

Которая должна прочитать ключ от пользователя.


person BOSS    schedule 09.06.2011    source источник


Ответы (3)


int 21h означает вызов обработчика прерывания 0x21, который является диспетчером функций DOS. "mov ah, 01h" устанавливает для AH значение 0x01, которое является обработчиком ввода с клавиатуры и эха в прерывании. Видеть:

http://spike.scu.edu.au/~barry/interrupts.html

person Geoffrey    schedule 09.06.2011

INT 21H сгенерирует программное прерывание 0x21 (33 в десятичной системе), вызывая выполнение функции, на которую указывает 34-й вектор в таблице прерываний, что обычно является вызовом API MS-DOS.

person Abraham Jacob    schedule 28.04.2014

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

person sunig kale    schedule 24.04.2017