;
before_intPointer       EQU $
                        BLOCK   #FF - low $,0                            ; выравнивание на #xxFF                        
INT_POINTER:		WORD    0

 ASSERT +low INT_POINTER = #FF, 'ERROR! Not valid interrupt pointer!'
 IFDEF PREBUILD
        ASSERT INT_POINTER-before_intPointer < 16, 'Warning! To much space before INT_POINTER.'
 ELSE
   IF INT_POINTER-before_intPointer > 16
        DISPLAY 'Warning! To much space before INT_POINTER: ',/D,INT_POINTER-before_intPointer
   ENDIF
 ENDIF

INT_HANDLER:
	PUSH	AF
	EX	AF,AF'
	PUSH	AF
	PUSH	BC
	PUSH	DE
	PUSH	HL
	EXX 
	PUSH	BC
	PUSH	DE
	PUSH	HL
	PUSH	IX
	PUSH	IY
	CALL	KEYSCAN
	POP	IY
	POP	IX
	POP	HL
	POP	DE
	POP	BC
	EXX 
	POP	HL
	POP	DE
	POP	BC
	POP	AF
	EX	AF,AF'
	POP	AF
	EI 
	RETI 
;