У меня тоже была эта проблема. Простой «gradlew clean» и «gradlew build» сделали трюк.
Нажмите Build-> Clean Project и выполнит очистку gradle
Turbo Debugger устанавливает набор регистров в 0 при загрузке программы. При запуске MS-DOS эти регистры не имеют значения null. Информация, которая регистрируется, должна быть нулевой, которую вы можете достигнуть, добавив
xor ax, ax
xor bx, bx
xor cx, cx
xor dx, dx
xor si, si
xor di, di
xor bp, bp
в начале процедуры запуска и последовательно комментируя ее. Получается, что правонарушитель DX
. Итак, найдите первую функцию или инструкцию, которая ожидает нулевой в этом регистре. Я нашел его в первой инструкции div
в FindWidthForColAndSpace
. Этот div
выполняет DX:AX/BX
и поэтому нуждается в значении в DX
. Не случайно ли линия xor dx, dx
следует за div
? Это должно быть перед ним.