При использовании DOSBox, если я пытаюсь запустить свой код с помощью отладчика, он работает, а без использования отладчика мой код не запускается? - PullRequest
0 голосов
/ 16 марта 2020

При использовании DOSBox, если я пытаюсь запустить свой код с помощью отладчика, он работает, а без использования отладчика мой код не запускается и не выполняется так, как при использовании отладки. Почему это происходит?

Вопрос в следующем:

Напишите ALP, который будет принимать за одного пользователя ввод числа от 0 до 9. Если, например, пользователь вводит 5, то необходимо заменить 5-й символ в файле tab.txt на 5-й символ в файле lab.txt. Размер файлов является переменным, но определенно превышает 10 байт. Пользовательский ввод не должен отображаться на экране.

.model tiny
.486
.data

 file db 'lab.txt',0
 handle dw ?
 buffer db 1 dup(?)
 fil db 'tab.txt',0
 han dw ?
 buffer1 db 1 dup(?)
 imp db ?
 .code
 .startup

lea si,imp
mov ah,08h
int 21h
and al,0fh
dec al
mov [si],al

mov ah,3dh
mov al,2
lea dx,file
int 21h
mov handle,ax

mov ah,3dh
mov al,2
lea dx,fil
int 21h
mov han,ax

mov al,0
mov bx,handle
mov cx,0
mov dx,[si]
mov ah,42h
int 21h

mov al,0
mov bx,han
mov cx,0
mov dx,[si]
mov ah,42h
int 21h

mov     ah,03fh
mov     bx,handle
mov     cx,1
lea     dx,buffer
int     21h
mov     ah,03fh
mov     bx,han
mov     cx,1
lea     dx,buffer1
int     21h

mov al,0
mov bx,handle
mov cx,0
mov dx,[si]
mov ah,42h
int 21h

mov al,0
mov bx,han
mov cx,0
mov dx,[si]
mov ah,42h
int 21h

mov     ah,40h
mov     bx,handle
mov     cx,1
lea     dx,buffer1
int     21h

mov     ah,40h
mov     bx,han
mov     cx,1
lea     dx,buffer
int     21h


mov     bx,handle
mov     ah,03eh
int     21h
mov     bx,han
mov     ah,03eh
int     21h

.exit
 end
...