Я использую встроенную сборку в Visual C++ и уже несколько дней пытаюсь получить int 21h для работы с моей программой. Другие прерывания работают (int 3), что заставляет меня поверить, что я звоню 21h неправильно или заблокирован каким-то образом. Я получаю ошибку во время выполнения, когда я использую int 21h. Если я прокомментирую это, он может отлично перемещать регистры.Использование int 21h с встроенной сборкой
До сих пор я получил это вместе:
int _tmain(int argc, _TCHAR* argv[])
{
__asm {
mov ah, 1h
int 21h
mov dl, al
mov ah, 2h
int 21h
}
}
Возможно, это segfault. Вы не можете использовать ints в 32-битных приложениях, насколько я знаю. – BlackBear
Как было сказано, другие прерывания действительно работают. int 3 успешно выполняет точки останова без ошибок. Единственный, с которым я, похоже, беспокоюсь, - это int 21h. – ozdrgnaDiies
Что это за программа? Int21h - прерывание DOS. –