Ю. Косивцов З А М Е Т К И Д И Л Е Т А Н Т А Пример CODE SEGMENT PARA PUBLIC ASSUME CS:CODE ORG 100H START: MOV DS, AX MOV AL, 10H MOV BYTE PTR DS:[44DH], AL RETN CODE ENDS END START Листинг ; Данная программа позволяет отлаживать в Turbo Debugger v.2.0, ; v.2.51 обработчики прерывания 09. Она ассемблируется любым ; ассемблером, и создается COM файл. Действия по отладке ; резидентных программ описаны в документации на TD, за тем ; исключением, что после установки точки прерывания и оставления ; отладчика резидентным, необходимо запустить данную программу, ; а уже затем нажимать "горячую клавишу". TITLE ДОПОЛНЕНИЕ_К_TD CODE SEGMENT PARA PUBLIC 'CODE' ASSUME CS:CODE, DS:NOTHING ORG 100H START: JMP SHORT INSTALL BREAKPOINT PROC NEAR PUSH AX ; Сброс клавиатуры IN AL,61H MOV AH,AL OR AL,80H OUT 61H,AL XCHG AH,AL OUT 61H,AL MOV AL,20H ; Сигнал EOI на контроллер прерываний OUT 20H,AL ; Для владельцев ROBOTRON CM 1910 ; необходимо вместо OUT 20h написать ; OUT 0C0h POP AX DB 0EAH ; JMP FAR на обработчик INT 3 TD IP_INT3 DW 0 CS_INT3 DW 0 BREAKPOINT ENDP INSTALL PROC NEAR MOV ES,AX MOV AX, WORD PTR ES:[OCH] ; Сохранение адреса MOV BX, WORD PTR ES:[0EH] ; INT 3 MOV IP_INT3,AX ; и установка его MOV CS_INT3,BX ; на свою процедуру ; обработки MOV AX,CS CLI MOV WORD PTR ES:[0CH], OFFSET BREAKPOINT MOV WORD PTR ES:[0EH], AX STI MOV AH,9 MOV DX, OFFSET MESSAGE INT 21H MOV DX, OFFSET INSTALL INT 27H MESSAGE DB 'Дополнение к TURBO DEBUGGER 2.0, позволяет ' DB 'отлаживать INT 9',0Dh,0Ah,'$' INSTALL ENDP CODE ENDS END START