diff options
Diffstat (limited to 'qt/md/vax_b.s')
-rw-r--r-- | qt/md/vax_b.s | 92 |
1 files changed, 92 insertions, 0 deletions
diff --git a/qt/md/vax_b.s b/qt/md/vax_b.s new file mode 100644 index 000000000..2db2d4fec --- /dev/null +++ b/qt/md/vax_b.s @@ -0,0 +1,92 @@ +/* + * QuickThreads -- Threads-building toolkit. + * Copyright (c) 1993 by David Keppel + * + * Permission to use, copy, modify and distribute this software and + * its documentation for any purpose and without fee is hereby + * granted, provided that the above copyright notice and this notice + * appear in all copies. This software is provided as a + * proof-of-concept and for demonstration purposes; there is no + * representation about the suitability of this software for any + * purpose. + */ + + .text + .globl _b_call_reg + .globl _b_call_imm + .globl _b_add + .globl _b_load + +_b_null: + .word 0x0 + ret + +_b_call_reg: + .word 0x0 + movl 4(ap),r0 + moval _b_null,r1 +L0: + calls $0,(r1) + calls $0,(r1) + calls $0,(r1) + calls $0,(r1) + calls $0,(r1) + + subl2 $5,r0 + bgtr L0 + ret + + +_b_call_imm: + .word 0x0 + movl 4(ap),r0 +L1: + calls $0,_b_null + calls $0,_b_null + calls $0,_b_null + calls $0,_b_null + calls $0,_b_null + + subl2 $5,r0 + bgtr L1 + ret + + +_b_add: + .word 0x0 + movl 4(ap),r0 +L2: + subl2 $1,r0 + subl2 $1,r0 + subl2 $1,r0 + subl2 $1,r0 + subl2 $1,r0 + + subl2 $1,r0 + subl2 $1,r0 + subl2 $1,r0 + subl2 $1,r0 + subl2 $1,r0 + + bgtr L2 + ret + + +_b_load: + .word 0x0 + movl 4(ap),r0 +L3: + movl 0(sp),r1 + movl 4(sp),r1 + movl 8(sp),r1 + movl 12(sp),r1 + movl 16(sp),r1 + movl 20(sp),r1 + movl 24(sp),r1 + movl 28(sp),r1 + movl 32(sp),r1 + movl 36(sp),r1 + + subl2 $1,r0 + bgtr L3 + ret |