Так не я задаю этот адрес, ассемблер сам его вычисляет и подставляет
Смещение в sp указывает не на int 20h, а на mov ah, 09
Попробуйте запустить ее под отладчиком. Вы увидите, что CodeView, TurboDebuger, AFD будут выдавать какой-то "мусор": непонятные операторы, сообщения типа "программа завершилась", хотя до команды int 20h дело не дошло (рис. 6.7). Но если запустить ее просто из DOS, то строка появится на экране, т. е. программа будет работать корректно, при этом выводя строку на экран (рис. 6.8)! Данный пример — типичный случай "заламывания рук" многим отладчикам.
Если не то смещение то почему, процессор все равно затирает эту команду
Максимальное количество одновременно открытых файлов указывается в переменной FILES=XX файла config.sys, где XX — число не более 99. MS-DOS резервирует для каждого файла определенное количество байтов памяти
максимальное количество одновременно открытых пользовательских файлов. Именно файлов.
т.е. любых файлов (.exe, .jpg, .doc, .txt и т.д.) в "совокупности" максимальное число?
Как пользоваться отладчиком, чтоб когда попадались прерывания, после их выполнения не выкидывало в какую - то другую область (где не мой сегмент кода)? А то пока идут команды я нажимаю f1, а на прерывании я нажимаю стрелкой вниз. При прерываниях меняются флаги, после прерывания 16h функции 10, хотелось бы посмотреть на изменения в регистре.
Как так ОДНОВРЕМЕННО открываемых? Процессор в один момент делает одно действие. Один такт - одно событие. Следовательно в каждый момент времени и открыт один файл, как не крути
А где находится это нужное место? Перед прерыванием?
0dbh 0cch это заместо int 3?
И куда это записать? в стек? или в какой-то регистр?
Кстати, у AFD есть справка по клавише f4
Отладчик ее также использует, когда (в AFD) нажимаем на F1
Если Вы уже зарегистрированы на Портале - войдите в систему, если Вы еще не регистрировались - пройдите простую процедуру регистрации.