/* * boot processor */ TEXT start(SB),$0 /* clear bss */ CALL main(SB) /* never returns */ /* * first 16 ``standard'' traps */ TEXT trap0(SB),$0 PUSHL $0 /* put on an error code */ PUSHL $0 JMP alltrap TEXT trap1(SB),$0 PUSHL $0 /* put on an error code */ PUSHL $1 JMP alltrap TEXT trap2(SB),$0 PUSHL $0 /* put on an error code */ PUSHL $2 JMP alltrap TEXT trap3(SB),$0 PUSHL $0 /* put on an error code */ PUSHL $3 JMP alltrap TEXT trap4(SB),$0 PUSHL $0 /* put on an error code */ PUSHL $4 JMP alltrap TEXT trap5(SB),$0 PUSHL $0 /* put on an error code */ PUSHL $5 JMP alltrap TEXT trap6(SB),$0 PUSHL $0 /* put on an error code */ PUSHL $6 JMP alltrap TEXT trap7(SB),$0 PUSHL $0 /* put on an error code */ PUSHL $7 JMP alltrap TEXT trap8(SB),$0 PUSHL $8 JMP alltrap TEXT trap9(SB),$0 PUSHL $0 /* put on an error code */ PUSHL $9 JMP alltrap TEXT trap10(SB),$0 PUSHL $0 /* put on an error code */ PUSHL $10 JMP alltrap TEXT trap11(SB),$0 PUSHL $11 JMP alltrap TEXT trap12(SB),$0 PUSHL $12 JMP alltrap TEXT trap13(SB),$0 PUSHL $13 JMP alltrap TEXT trap14(SB),$0 PUSHL $14 JMP alltrap TEXT trap15(SB),$0 PUSHL $0 /* put on an error code */ PUSHL $15 JMP alltrap /* * invalid trap */ TEXT invtrap(SB),$0 PUSHL $0 /* put on an error code */ PUSHL $16 JMP alltrap /* * common trap code */ alltrap: PUSHAL CALL trap(SB) POPAL ADDL $#8,SP /* pop the trap and error codes */ IRETL /* * stubs */ TEXT main(SB),$0 RET TEXT trap(SB),$0 RET