.vector_handler_8
 AND     R14, R0, #&FF			;bit 31 is set if OS_SynchroniseCodeArea is to be called
 TEQ     R14, #12
 TEQNE   R14, #14			;PRM2-43
 TEQNE   R14, #16
 TEQNE   R14, #255			;is it a load operation?
 BLEQ    check_JIT_and_taskID		;is the task supported?
 BNE     vector_handler_exit		;NO

 TST     R3, #%11111111			;is there an address in R2?
 MOVNE   R11, #0			;NO, OS_File will return load address
 MOVEQ   R11, R2			;YES, R11=load address
 BL      pre_SWI_veneer			;call SWI that follows
 SWI     XOS_File			;PRM2-32  R2=load address
 BL      post_SWI_veneer
 BL      dontexit_SWI_veneer
 BVS     vector_handler_trap_VS		;exit on error

 STMFD   R13!, {R2, R10}		;preserve R2, R10
 TEQ     R11, #0			;did we specify the load address?
 MOVNE   R2, R11			;YES, use our load address
 BNE     _know_address

 MOV     R11, #&FFF
 AND     R10, R2, R11, LSL #20
 TEQ     R10, R11, LSL #20		;is the file date stamped?
 BNE     _know_address			;NO

 AND     R10, R2, R11, LSL #8		;get the filetype
 EORS    R10, R10, #&FF8 << 8		;is it Absolute?
 MOVEQ   R2, #&8000			;YES, the file was loaded at &8000
 ._know_address
 CMP     R2, #jit_appspace_end		;is it in application space?
 BLLO    hv_reset_memory_block		;YES, reset JIT appspace
EXITSWI "R2, R10"
