Я новичок в изучении языка ассемблера, и мне интересно, что означает команда int 21h
. Например:
mov ah,01h
int 21h
Которая должна прочитать ключ от пользователя.
Я новичок в изучении языка ассемблера, и мне интересно, что означает команда int 21h
. Например:
mov ah,01h
int 21h
Которая должна прочитать ключ от пользователя.
int 21h
означает вызов обработчика прерывания 0x21, который является диспетчером функций DOS. "mov ah, 01h" устанавливает для AH значение 0x01, которое является обработчиком ввода с клавиатуры и эха в прерывании. Видеть:
http://spike.scu.edu.au/~barry/interrupts.html а>
INT 21H сгенерирует программное прерывание 0x21 (33 в десятичной системе), вызывая выполнение функции, на которую указывает 34-й вектор в таблице прерываний, что обычно является вызовом API MS-DOS.
Это просто означает, что вы используете функцию 01h типа прерывания 21 ... где 01h, как вы сказали, означает чтение символа из стандартного ввода, с эхо, результат сохраняется в AL. если в буфере клавиатуры нет символа, функция ожидает нажатия любой клавиши. Он относится к типу 21h различных таблиц интерполяции, поэтому строки кода выглядят так, как вы упомянули.