1 /* begin plio2_unpack  */
 2 
 3 
 4           dcl mfix fixed bin(35);
 5           dcl mflo float bin(63);
 6 
 7           dcl 1 unpack6 aligned based(addr(mfix)),
 8                     2 xxx bit(30) unal,
 9                     2 m_6 bit(6)  unal;
10 
11           dcl 1 unpack12 aligned based(addr(mfix)),
12                     2 xxxx bit(24) unal,
13                     2 m_12 bit(12) unal;
14 
15           dcl 1 unpack15 aligned based(addr(mfix)),
16                     2 xxxx bit(21) unal,
17                     2 m_15 bit(15) unal;
18 
19           dcl 1 unpackexp aligned based(addr(mflo)),
20                     2 mexp bit(8) unal;
21 
22           dcl 1 unpack8 aligned based(addr(mfix)),
23                     2 xxx bit(28) unal,
24                     2 m_8 bit(8)  unal;
25 
26           dcl offset fixed bin(15);
27 
28           dcl 1 bitbuff unal based,
29                     2 xxx bit(offset),
30                     2 next_bit bit(1);
31 
32           dcl 1 charbuff unal based,
33                     2 xxx char(offset),
34                     2 next_char char(1);
35 
36 
37 
38 
39           dcl 1 unpack30 aligned based(addr(mfix)),
40                     2 top_6 bit(6) unal,
41                     2 m_30  bit(30) unal;
42 
43           dcl based_char5 char(5) aligned based;
44 
45           dcl dec_array(0:65) char(1) unal based;
46           dcl based_chars char(1000) unal based;
47           dcl based_bits bit(1000) unal based;
48 
49           dcl 1 getlastchar aligned based,
50                     2 xx char(3) unal,
51                     2 last_char char(1) unal;
52 
53 
54 
55 /* end of plio2_unpack  */