pcs/scsend.scm

239 lines
8.8 KiB
Scheme
Raw Permalink Blame History

This file contains invisible Unicode characters

This file contains invisible Unicode characters that are indistinguishable to humans but may be processed differently by a computer. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
;;; ;;;
;;; S c o o p s ;;;
;;; ;;;
;;; (c) Copyright 1985 Texas Instruments Incorporated ;;;
;;; All Rights Reserved ;;;
;;; ;;;
;;; File updated : 5/16/85 ;;;
;;; ;;;
;;; File : scsend.scm ;;;
;;; ;;;
;;; Amitabh Srivastava ;;;
;;; ;;;
;;; This file contains send routines coded in assembler ;;;
;;; for speed. ;;;
;;; ;;;
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
;;; send for various arguments
;;; 0 args
(%execute (quote (pcs-code-block 1 30
(scoop-send-handler-0)
( 1 4 0 ; load-constant r1,c0
60 4 7 0 2 ; close r1,label, 2 args
31 4 0 ; define!
1 4 0 ; load-constant r1,c0
59 ; exit
;label
0 12 8 ; load r3,r2
225 12 ; %sge r3,r3
25 12 ; push r3
52 4 0 ; call-closure r1, 0 args
24 8 ; pop r2
225 8 ; %sge r2,r2
59))))
;;; 1 args
(%execute (quote (pcs-code-block 1 30
(scoop-send-handler-1)
( 1 4 0 ; load-constant r1,c0
60 4 7 0 3 ; close r1,label, 3 args
31 4 0 ; define!
1 4 0 ; load-constant r1,c0
59 ; exit
;label
0 16 12 ; load r4,r3
225 16 ; %sge r4,r4
25 16 ; push r4
52 8 1 ; call-closure r2, 1 args
24 12 ; pop r3
225 12 ; %sge r3,r3
59))))
;;; 2 args
(%execute (quote (pcs-code-block 1 30
(scoop-send-handler-2)
( 1 4 0 ; load-constant r1,c0
60 4 7 0 4 ; close r1,label, 4 args
31 4 0 ; define!
1 4 0 ; load-constant r1,c0
59 ; exit
;label
0 20 16 ; load r5,r4
225 20 ; %sge r5,r5
25 20 ; push r5
52 12 2 ; call-closure r3, 2 args
24 16 ; pop r4
225 16 ; %sge r4,r4
59))))
;;; 3 args
(%execute (quote (pcs-code-block 1 30
(scoop-send-handler-3)
( 1 4 0 ; load-constant r1,c0
60 4 7 0 5 ; close r1,label, 5 args
31 4 0 ; define!
1 4 0 ; load-constant r1,c0
59 ; exit
;label
0 24 20 ; load r6,r5
225 24 ; %sge r6,r6
25 24 ; push r6
52 16 3 ; call-closure r4, 3 args
24 20 ; pop r5
225 20 ; %sge r5,r5
59))))
;;; 4 args
(%execute (quote (pcs-code-block 1 30
(scoop-send-handler-4)
( 1 4 0 ; load-constant r1,c0
60 4 7 0 6 ; close r1,label, 6 args
31 4 0 ; define!
1 4 0 ; load-constant r1,c0
59 ; exit
;label
0 28 24 ; load r7,r6
225 28 ; %sge r7,r7
25 28 ; push r7
52 20 4 ; call-closure r5, 4 args
24 24 ; pop r6
225 24 ; %sge r6,r6
59))))
;;; 5 args
(%execute (quote (pcs-code-block 1 30
(scoop-send-handler-5)
( 1 4 0 ; load-constant r1,c0
60 4 7 0 7 ; close r1,label, 7 args
31 4 0 ; define!
1 4 0 ; load-constant r1,c0
59 ; exit
;label
0 32 28 ; load r8,r7
225 32 ; %sge r8,r8
25 32 ; push r8
52 24 5 ; call-closure r6, 5 args
24 28 ; pop r7
225 28 ; %sge r7,r7
59))))
;;; 6 args
(%execute (quote (pcs-code-block 1 30
(scoop-send-handler-6)
( 1 4 0 ; load-constant r1,c0
60 4 7 0 8 ; close r1,label, 8 args
31 4 0 ; define!
1 4 0 ; load-constant r1,c0
59 ; exit
;label
0 36 32 ; load r9,r8
225 36 ; %sge r9,r9
25 36 ; push r9
52 28 6 ; call-closure r7, 6 args
24 32 ; pop r8
225 32 ; %sge r8,r8
59))))
;;; 7 args
(%execute (quote (pcs-code-block 1 30
(scoop-send-handler-7)
( 1 4 0 ; load-constant r1,c0
60 4 7 0 9 ; close r1,label, 9 args
31 4 0 ; define!
1 4 0 ; load-constant r1,c0
59 ; exit
;label
0 40 36 ; load r10,r9
225 40 ; %sge r10,r10
25 40 ; push r10
52 32 7 ; call-closure r8, 7 args
24 36 ; pop r9
225 36 ; %sge r9,r9
59))))
;;; 8 args
(%execute (quote (pcs-code-block 1 30
(scoop-send-handler-8)
( 1 4 0 ; load-constant r1,c0
60 4 7 0 10 ; close r1,label, 10 args
31 4 0 ; define!
1 4 0 ; load-constant r1,c0
59 ; exit
;label
0 44 40 ; load r11,r10
225 44 ; %sge r11,r11
25 44 ; push r11
52 36 8 ; call-closure r9, 8 args
24 40 ; pop r10
225 40 ; %sge r10,r10
59))))
;;; 9 args
(%execute (quote (pcs-code-block 1 30
(scoop-send-handler-9)
( 1 4 0 ; load-constant r1,c0
60 4 7 0 11 ; close r1,label, 11 args
31 4 0 ; define!
1 4 0 ; load-constant r1,c0
59 ; exit
;label
0 48 40 ; load r12,r11
225 48 ; %sge r12,r12
25 48 ; push r12
52 40 9 ; call-closure r10, 9 args
24 44 ; pop r11
225 44 ; %sge r11,r11
59))))
;;; 10 args
(%execute (quote (pcs-code-block 1 30
(scoop-send-handler-10)
( 1 4 0 ; load-constant r1,c0
60 4 7 0 12 ; close r1,label, 12 args
31 4 0 ; define!
1 4 0 ; load-constant r1,c0
59 ; exit
;label
0 52 44 ; load r13,r12
225 52 ; %sge r13,r13
25 52 ; push r13
52 44 10 ; call-closure r11, 10 args
24 48 ; pop r12
225 48 ; %sge r12,r12
59))))