При использовании 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