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	.text
15	.globl _b_call_reg
16	.globl _b_call_imm
17	.globl _b_add
18	.globl _b_load
19
20_b_null:
21	.word 0x0
22	ret
23
24_b_call_reg:
25	.word 0x0
26	movl 4(ap),r0
27	moval _b_null,r1
28L0:
29	calls $0,(r1)
30	calls $0,(r1)
31	calls $0,(r1)
32	calls $0,(r1)
33	calls $0,(r1)
34
35	subl2 $5,r0
36	bgtr L0
37	ret
38
39
40_b_call_imm:
41	.word 0x0
42	movl 4(ap),r0
43L1:
44	calls $0,_b_null
45	calls $0,_b_null
46	calls $0,_b_null
47	calls $0,_b_null
48	calls $0,_b_null
49
50	subl2 $5,r0
51	bgtr L1
52	ret
53
54
55_b_add:
56	.word 0x0
57	movl 4(ap),r0
58L2:
59	subl2 $1,r0
60	subl2 $1,r0
61	subl2 $1,r0
62	subl2 $1,r0
63	subl2 $1,r0
64
65	subl2 $1,r0
66	subl2 $1,r0
67	subl2 $1,r0
68	subl2 $1,r0
69	subl2 $1,r0
70
71	bgtr L2
72	ret
73
74
75_b_load:
76	.word 0x0
77	movl 4(ap),r0
78L3:
79	movl 0(sp),r1
80	movl 4(sp),r1
81	movl 8(sp),r1
82	movl 12(sp),r1
83	movl 16(sp),r1
84	movl 20(sp),r1
85	movl 24(sp),r1
86	movl 28(sp),r1
87	movl 32(sp),r1
88	movl 36(sp),r1
89
90	subl2 $1,r0
91	bgtr L3
92	ret
93