X-Git-Url: http://git.subgeniuskitty.com/pdp11-modern-c/.git/blobdiff_plain/846f4d60e4994a39decd6c27463411f53965fc60..202004d54803c861f7fbaa9169eaad750c63f7cf:/pdp11/interrupt_handler.s diff --git a/pdp11/interrupt_handler.s b/pdp11/interrupt_handler.s new file mode 100644 index 0000000..970363b --- /dev/null +++ b/pdp11/interrupt_handler.s @@ -0,0 +1,24 @@ +# (c) 2020 Aaron Taylor +# See License.txt file for copyright and license details. + +.globl _int4_asm_handler +.globl _int4_c_handler + +_int4_asm_handler: + # GCC appears to be using the same calling convention documented in the + # original UNIX manuals. Most of these register saves are probably + # unnecessary. + mov r0,-(sp) + mov r1,-(sp) + mov r2,-(sp) + mov r3,-(sp) + mov r4,-(sp) + mov r5,-(sp) + jsr pc, _int4_c_handler + mov (sp)+,r5 + mov (sp)+,r4 + mov (sp)+,r3 + mov (sp)+,r2 + mov (sp)+,r1 + mov (sp)+,r0 + rti