Програмка из учебника калашникова Программа в обработчик 3-го прерывания в начало вставляет инструкцию iret Почему когда я нажимаю шагнуть в отладчике, он останавливает программу на следующей инструкции, хотя программа должна выполниться до инструкции int 20
| Код | ; === Защита от отладчиков === ; Способ первый: ; Занести по адресу обработчика 03h прерывания команду IRET CSEG segment assume cs:CSEG, ds:CSEG, es:CSEG, ss:CSEG org 100h Begin: xor ax,ax mov es,ax ;Обнуляем ES mov bx,es:[03h*4] ;BX - смещение адреса 03 прерывания mov es,es:[03h*4+2] ;ES - сегмент адреса 03 прерывания mov byte ptr es:[bx],0CFh ;<===Отладчик "глючит" здесь ;Заносим по адресу ES:BX инструкцию IRET (0CFh) mov ah,9 mov dx,offset Message int 21h int 20h Message db 'DBG16_01.COM - порядок!$' CSEG ends end Begin
|
|