1 02/08/84 assign_
2
3
4 Entry points in assign_:
5 List is generated by the help command
6
7
8 :Entry: assign_: 02/08/84 assign_
9
10 Function: assigns a specified source value to a specified target.
11 This subroutine handles the following data types: 1-12, 19-22, 33, 34,
12 41-46. Any other type will produce an error. It uses rounding in the
13 conversion when the target is floating point or when the source is
14 floating and the target is character, and uses truncation in all other
15 cases.
16
17
18 Syntax:
19 declare assign_ entry ptr fixed bin fixed bin35 ptr fixed bin
20 fixed bin35;
21 call assign_ target_ptr target_type target_length source_ptr
22 source_type source_length;
23
24
25 Arguments:
26 target_ptr
27 points to the target of the assignment; it can contain a bit offset.
28 Input
29 target_type
30 specifies the type of the target; its value is 2*M+P where M is the
31 Multics standard data type code see the Programmer's Reference
32 Manual and P is 0 if the target is unpacked and 1 if the target is
33 packed. Input
34
35
36 target_length
37 is the string length or arithmetic scale and precision of the
38 target. If the target is arithmetic, the target_length word
39 consists of two adjacent unaligned halfwords. The left halfword is
40 a fixed bin17 representing the signed scale and the right halfword
41 is a fixed bin18 unsigned integer representing the precision.
42 Input The include file encoded_precision.incl.pl1 declares this
43 as:
44 dcl 1 encoded_precision based aligned,
45 2 scale fixed bin17 unaligned,
46 2 prec fixed bin18 unsigned unaligned;
47
48
49 source_ptr
50 points at the source of the assignment; it can contain a bit offset.
51 Input
52 source_type
53 specifies the source type using the same format as target_type.
54 Input
55 source_length
56 is the string length or arithmetic scale and precision of the source
57 using the same format as target_length. Input
58
59
60 :Entry: computational_: 02/08/84 assign_$computational_
61
62
63 Function: assigns a specified source value to a specified target. It
64 can handle any computational Multics data type including all PL/I
65 computational data and all COBOL and FORTRAN data types. This entry
66 uses the same rules for rounding and truncation as assign_.
67
68
69 Syntax:
70 declare assign_$computational_ entry ptr ptr fixed bin35;
71 call assign_$computational_ tar_str_ptr src_str_ptr code;
72
73
74 Arguments:
75 tar_str_ptr
76 is a pointer to a structure which defines the address and attributes
77 of the target. The format of this structure is defined in
78 computational_data.incl.pl1. Input
79 src_str_ptr
80 is a pointer to a structure giving the attributes of the source.
81 This structure has the same format as the one used for the target.
82 Input
83 code
84 is a standard system code. It will be zero if the conversion was
85 sucessful, or error_table_$bad_conversion if either data type was
86 not computational. It is also possible that the conversion
87 condition will be signalled, if the source data can not be converted
88 to the requested target type. Output
89
90
91 :Entry: assign_round_: 02/08/84 assign_$assign_round_
92
93
94 Function: assigns a source value to a target value, but always rounds.
95 Otherwise it is identical to assign_.
96
97
98 Syntax:
99 declare assign_$assign_round_ entry ptr fixed bin fixed bin35
100 ptr fixed bin fixed bin35;
101 call assign_$assign_round_ target_ptr target_type target_length
102 source_ptr source_type source_length;
103
104
105 Arguments:
106 target_ptr
107 points to the target of the assignment; it can contain a bit offset.
108 Input
109 target_type
110 specifies the type of the target. Input
111 target_length
112 is the string length or arithmetic scale and precision of the
113 target. Input
114
115
116 source_ptr
117 points at the source of the assignment; it can contain a bit offset.
118 Input
119 source_type
120 specifies the source type using the same format as target_type.
121 Input
122 source_length
123 is the string length or arithmetic scale and precision of the source
124 using the same format as target_length. Input
125
126
127 :Entry: assign_truncate_: 02/08/84 assign_$assign_truncate_
128
129
130 Function: assigns a source value to a target value, but always
131 truncates. Otherwise it is identical to assign_.
132
133
134 Syntax:
135 declare assign_$assign_truncate_ entry ptr fixed bin fixed bin35
136 ptr fixed bin fixed bin35;
137 call assign_$assign_truncate_ target_ptr target_type target_length
138 source_ptr source_type source_length;
139
140
141 Arguments:
142 target_ptr
143 points to the target of the assignment; it can contain a bit offset.
144 Input
145 target_type
146 specifies the type of the target. Input
147 target_length
148 is the string length or arithmetic scale and precision of the
149 target. Input
150
151
152 source_ptr
153 points at the source of the assignment; it can contain a bit offset.
154 Input
155 source_type
156 specifies the source type using the same format as target_type.
157 Input
158 source_length
159 is the string length or arithmetic scale and precision of the source
160 using the same format as target_length. Input