1 " *************************************************************************
2 " * *
3 " * Copyright c 1980 by Centre Interuniversitaire de Calcul de Grenoble *
4 " * and Institut National de Recherche en Informatique et Automatique *
5 " * *
6 " * Copyright, C Massachusetts Institute of Technology, 1973 *
7 " * *
8 " *************************************************************************
9
10 " HISTORY COMMENTS:
11 " 1) change86-10-09JMAthane, approve86-10-09MCR7521,
12 " audit86-10-09JPFauche, install86-11-12MR12.0-1208:
13 " Pascal Version 8.03 for MR12.0.
14 " END HISTORY COMMENTS
15
16 " OPTIMIZED PROCEDURES OF THE MULTICS PASCAL COMPILER
17 "
18 "
19 " RACINE>SEARCH
20 " -----------------
21 "
22 "
23 segdef search
24 "
25 "
26 equ maxident,32
27 equ recidscopelength,58
28 equ nxtelplaceincontextable,8
29 equ nameplaceincontextable,0
30 equ return_ptr,20
31 equ trans_op_tv_ptr,40
32 equ work_0,80
33 "
34 "
35 search:
36 epaq 0,ic
37 lprp4 7|22,*au
38 epp0 7|trans_op_tv_ptr,*
39 epp0 0|8,*
40 ldq <RACINE.defs>|top
41 tmi end_downto
42 epp3 <RACINE.defs>|aval
43 downto_loop:
44 stq 6|work_0
45 mpy recidscopelength,dl
46 epp1 <RACINE.defs>|display,ql*
47 while_loop:
48 eax1 1|-1
49 tze end_while
50 cmpc pr,pr,fill040
51 desc9a 1|nameplaceincontextable,maxident
52 desc9a 3|0,maxident
53 tnz aval_not_found
54 ldq 6|work_0
55 stq <RACINE.defs>|disx
56 spri1 <RACINE.defs>|ctptr
57 tra 6|return_ptr,*
58 aval_not_found:
59 epp1 1|nxtelplaceincontextable,*
60 tra while_loop
61 end_while:
62 ldq 6|work_0
63 sbq 1,dl
64 tpl downto_loop
65 end_downto:
66 stz <RACINE.defs>|disx
67 spri1 <RACINE.defs>|ctptr
68 tra 6|return_ptr,*
69 "
70 "
71 " END OF SEARCH
72 "
73 "
74 "
75 "
76 " RACINE>SRCHREC
77 " ------------------
78 "
79 "
80 segdef srchrec
81 "
82 "
83 srchrec:
84 epaq 0,ic
85 lprp4 7|22,*au
86 epaq 0,ic
87 epp1 0|2,*
88 epp1 1|0,*
89 epp0 7|trans_op_tv_ptr,*
90 epp0 0|8,*
91 epp3 <RACINE.defs>|aval
92 rec_while_loop:
93 eax1 1|-1
94 tze rec_end_while
95 cmpc pr,pr,fill040
96 desc9a 1|nameplaceincontextable,maxident
97 desc9a 3|0,maxident
98 tnz rec_aval_not_found
99 rec_end_while:
100 spri1 <RACINE.defs>|ctptr
101 tra 6|return_ptr,*
102 rec_aval_not_found:
103 epp1 1|nxtelplaceincontextable,*
104 tra rec_while_loop
105 "
106 "
107 "
108 " END OF SRCHREC
109 "
110 "
111 "
112 end