1/* 2 * QuickThreads -- Threads-building toolkit. 3 * Copyright (c) 1993 by David Keppel 4 * 5 * Permission to use, copy, modify and distribute this software and 6 * its documentation for any purpose and without fee is hereby 7 * granted, provided that the above copyright notice and this notice 8 * appear in all copies. This software is provided as a 9 * proof-of-concept and for demonstration purposes; there is no 10 * representation about the suitability of this software for any 11 * purpose. 12 */ 13 14 .globl b_call_reg 15 .globl b_call_imm 16 .globl b_add 17 .globl b_load 18 19 .ent b_null 20b_null: 21 j $31 22 .end b_null 23 24 .ent b_call_reg 25b_call_reg: 26 la $5,b_null 27 add $6, $31,0 28$L0: 29 jal $5 30 jal $5 31 jal $5 32 jal $5 33 jal $5 34 35 sub $4, $4,5 36 bgtz $4,$L0 37 j $6 38 .end 39 40 41 .ent b_call_imm 42b_call_imm: 43 add $6, $31,0 44$L1: 45 jal b_null 46 jal b_null 47 jal b_null 48 jal b_null 49 jal b_null 50 51 sub $4, $4,5 52 bgtz $4,$L1 53 j $6 54 .end 55 56 57 .ent b_add 58b_add: 59 add $5, $0,$4 60 add $6, $0,$4 61 add $7, $0,$4 62 add $8, $0,$4 63$L2: 64 sub $4, $4,5 65 sub $5, $5,5 66 sub $6, $6,5 67 sub $7, $7,5 68 sub $8, $8,5 69 70 sub $4, $4,5 71 sub $5, $5,5 72 sub $6, $6,5 73 sub $7, $7,5 74 sub $8, $8,5 75 76 bgtz $4,$L2 77 j $31 78 .end 79 80 81 .ent b_load 82b_load: 83$L3: 84 ld $0, 0($sp) 85 ld $0, 4($sp) 86 ld $0, 8($sp) 87 ld $0, 12($sp) 88 ld $0, 16($sp) 89 90 ld $0, 20($sp) 91 ld $0, 24($sp) 92 ld $0, 28($sp) 93 ld $0, 32($sp) 94 ld $0, 36($sp) 95 96 sub $4, $4,10 97 bgtz $4,$L3 98 j $31 99 .end 100