_handler: void interrupt handler(void) cs:02C2 50 push ax The ISR saves AX... cs:02C3 53 push bx cs:02C4 51 push cx cs:02C5 52 push dx cs:02C6 06 push es cs:02C7 1E push ds cs:02C8 56 push si cs:02C9 57 push di cs:02CA 55 push bp cs:02CB BD1956 mov bp,5619 cs:02CE 8EDD mov ds,bp cs:02D0 8BEC mov bp,sp #BCBUG3#19: Counter++; cs:02D2 66FF068C02 inc dword ptr [028C] #BCBUG3#20: Output=Counter & ~7; } cs:02D7 66A18C02 mov eax,[028C] ...but uses EAX cs:02DB 6683E0F8 and eax,FFF8 cs:02DF 66A39002 mov [_Output],eax cs:02E3 5D pop bp cs:02E4 5F pop di cs:02E5 5E pop si cs:02E6 1F pop ds cs:02E7 07 pop es cs:02E8 5A pop dx cs:02E9 59 pop cx cs:02EA 5B pop bx cs:02EB 58 pop ax cs:02EC CF iret