DOS 용 TSR com 파일을 만드는 데 문제가 있습니다. 21 번째 인터럽트에 새로운 처리기를 설정하고 종료하고 상주해야합니다. 새 처리기는 이전 인터럽트 21h 처리기로 제어를 전송해야합니다. 그 인터럽트 벡터를 저장하지만 올바르게 호출하는 방법을 모른다. 여기에 프로그램 :DOS (TASM)에서 어셈블리, int에서 새 처리기로 TSR 만들기 2134
이.model tiny
.data
old_int21h dw ?, ?
.code
org 100h
start:
;saving old interrupt vector
mov ax, 3521h
int 21h
mov [old_int21h], bx
mov [old_int21h + 2], es
;setting new interrupt vector
cli
push ds
push cs
pop ds
lea dx, myint21h
mov ax, 2521h
int 21h
pop ds
sti
; TSR
lea dx, start
int 27h
myint21h proc
; doing something
; want to transfer control to an old interrupt 21h handler here. How?
iret
myint21h endp
end start
어떤 버전인가? –
DOS v.5.00에서 dosbox 사용 – gukoff