Artifact
9bc8055c1f90abb2ef6f4a793a3c996cf0c390bb:
0000: 2f 2a 20 76 61 63 61 6c 6c 20 66 75 6e 63 74 69 /* vacall functi
0010: 6f 6e 20 66 6f 72 20 73 70 61 72 63 36 34 20 43 on for sparc64 C
0020: 50 55 20 2a 2f 0a 0a 2f 2a 0a 20 2a 20 43 6f 70 PU */../*. * Cop
0030: 79 72 69 67 68 74 20 31 39 39 35 2d 32 30 30 35 yright 1995-2005
0040: 20 42 72 75 6e 6f 20 48 61 69 62 6c 65 2c 20 3c Bruno Haible, <
0050: 62 72 75 6e 6f 40 63 6c 69 73 70 2e 6f 72 67 3e bruno@clisp.org>
0060: 0a 20 2a 0a 20 2a 20 54 68 69 73 20 69 73 20 66 . *. * This is f
0070: 72 65 65 20 73 6f 66 74 77 61 72 65 20 64 69 73 ree software dis
0080: 74 72 69 62 75 74 65 64 20 75 6e 64 65 72 20 74 tributed under t
0090: 68 65 20 47 4e 55 20 47 65 6e 65 72 61 6c 20 50 he GNU General P
00a0: 75 62 6c 69 63 20 4c 69 63 65 6e 63 65 0a 20 2a ublic Licence. *
00b0: 20 64 65 73 63 72 69 62 65 64 20 69 6e 20 74 68 described in th
00c0: 65 20 66 69 6c 65 20 43 4f 50 59 49 4e 47 2e 20 e file COPYING.
00d0: 43 6f 6e 74 61 63 74 20 74 68 65 20 61 75 74 68 Contact the auth
00e0: 6f 72 20 69 66 20 79 6f 75 20 64 6f 6e 27 74 20 or if you don't
00f0: 68 61 76 65 20 74 68 69 73 0a 20 2a 20 6f 72 20 have this. * or
0100: 63 61 6e 27 74 20 6c 69 76 65 20 77 69 74 68 20 can't live with
0110: 69 74 2e 20 54 68 65 72 65 20 69 73 20 41 42 53 it. There is ABS
0120: 4f 4c 55 54 45 4c 59 20 4e 4f 20 57 41 52 52 41 OLUTELY NO WARRA
0130: 4e 54 59 2c 20 65 78 70 6c 69 63 69 74 20 6f 72 NTY, explicit or
0140: 20 69 6d 70 6c 69 65 64 2c 0a 20 2a 20 6f 6e 20 implied,. * on
0150: 74 68 69 73 20 73 6f 66 74 77 61 72 65 2e 0a 20 this software..
0160: 2a 2f 0a 0a 23 69 66 6e 64 65 66 20 52 45 45 4e */..#ifndef REEN
0170: 54 52 41 4e 54 0a 23 69 6e 63 6c 75 64 65 20 22 TRANT.#include "
0180: 76 61 63 61 6c 6c 2e 68 2e 69 6e 22 0a 23 65 6c vacall.h.in".#el
0190: 73 65 20 2f 2a 20 52 45 45 4e 54 52 41 4e 54 20 se /* REENTRANT
01a0: 2a 2f 0a 23 69 6e 63 6c 75 64 65 20 22 76 61 63 */.#include "vac
01b0: 61 6c 6c 5f 72 2e 68 2e 69 6e 22 0a 23 65 6e 64 all_r.h.in".#end
01c0: 69 66 0a 0a 23 69 66 64 65 66 20 52 45 45 4e 54 if..#ifdef REENT
01d0: 52 41 4e 54 0a 23 64 65 66 69 6e 65 20 5f 5f 76 RANT.#define __v
01e0: 61 63 61 6c 6c 20 5f 5f 76 61 63 61 6c 6c 5f 72 acall __vacall_r
01f0: 0a 72 65 67 69 73 74 65 72 20 73 74 72 75 63 74 .register struct
0200: 20 7b 20 76 6f 69 64 20 28 2a 76 61 63 61 6c 6c { void (*vacall
0210: 5f 66 75 6e 63 74 69 6f 6e 29 20 28 76 6f 69 64 _function) (void
0220: 2a 2c 76 61 5f 61 6c 69 73 74 29 3b 20 76 6f 69 *,va_alist); voi
0230: 64 2a 20 61 72 67 3b 20 7d 0a 20 20 20 20 20 20 d* arg; }.
0240: 20 20 20 2a 09 65 6e 76 09 5f 5f 61 73 6d 5f 5f *.env.__asm__
0250: 28 22 25 67 35 22 29 3b 0a 23 65 6e 64 69 66 0a ("%g5");.#endif.
0260: 72 65 67 69 73 74 65 72 20 5f 5f 76 61 77 6f 72 register __vawor
0270: 64 2a 20 66 70 09 5f 5f 61 73 6d 5f 5f 28 22 25 d* fp.__asm__("%
0280: 66 70 22 29 3b 09 2f 2a 20 6f 75 72 20 25 66 70 fp");./* our %fp
0290: 2c 20 63 61 6c 6c 65 72 27 73 20 25 73 70 20 2a , caller's %sp *
02a0: 2f 0a 72 65 67 69 73 74 65 72 20 5f 5f 76 61 77 /.register __vaw
02b0: 6f 72 64 2a 20 72 65 74 09 5f 5f 61 73 6d 5f 5f ord* ret.__asm__
02c0: 28 22 25 69 37 22 29 3b 09 2f 2a 20 25 69 37 2b ("%i7");./* %i7+
02d0: 38 20 3d 20 72 65 74 75 72 6e 20 61 64 64 72 65 8 = return addre
02e0: 73 73 20 2a 2f 0a 72 65 67 69 73 74 65 72 20 66 ss */.register f
02f0: 6c 6f 61 74 09 66 61 72 67 30 09 5f 5f 61 73 6d loat.farg0.__asm
0300: 5f 5f 28 22 25 66 31 22 29 3b 0a 72 65 67 69 73 __("%f1");.regis
0310: 74 65 72 20 66 6c 6f 61 74 09 66 61 72 67 31 09 ter float.farg1.
0320: 5f 5f 61 73 6d 5f 5f 28 22 25 66 33 22 29 3b 0a __asm__("%f3");.
0330: 72 65 67 69 73 74 65 72 20 66 6c 6f 61 74 09 66 register float.f
0340: 61 72 67 32 09 5f 5f 61 73 6d 5f 5f 28 22 25 66 arg2.__asm__("%f
0350: 35 22 29 3b 0a 72 65 67 69 73 74 65 72 20 66 6c 5");.register fl
0360: 6f 61 74 09 66 61 72 67 33 09 5f 5f 61 73 6d 5f oat.farg3.__asm_
0370: 5f 28 22 25 66 37 22 29 3b 0a 72 65 67 69 73 74 _("%f7");.regist
0380: 65 72 20 66 6c 6f 61 74 09 66 61 72 67 34 09 5f er float.farg4._
0390: 5f 61 73 6d 5f 5f 28 22 25 66 39 22 29 3b 0a 72 _asm__("%f9");.r
03a0: 65 67 69 73 74 65 72 20 66 6c 6f 61 74 09 66 61 egister float.fa
03b0: 72 67 35 09 5f 5f 61 73 6d 5f 5f 28 22 25 66 31 rg5.__asm__("%f1
03c0: 31 22 29 3b 0a 72 65 67 69 73 74 65 72 20 66 6c 1");.register fl
03d0: 6f 61 74 09 66 61 72 67 36 09 5f 5f 61 73 6d 5f oat.farg6.__asm_
03e0: 5f 28 22 25 66 31 33 22 29 3b 0a 72 65 67 69 73 _("%f13");.regis
03f0: 74 65 72 20 66 6c 6f 61 74 09 66 61 72 67 37 09 ter float.farg7.
0400: 5f 5f 61 73 6d 5f 5f 28 22 25 66 31 35 22 29 3b __asm__("%f15");
0410: 0a 72 65 67 69 73 74 65 72 20 66 6c 6f 61 74 09 .register float.
0420: 66 61 72 67 38 09 5f 5f 61 73 6d 5f 5f 28 22 25 farg8.__asm__("%
0430: 66 31 37 22 29 3b 0a 72 65 67 69 73 74 65 72 20 f17");.register
0440: 66 6c 6f 61 74 09 66 61 72 67 39 09 5f 5f 61 73 float.farg9.__as
0450: 6d 5f 5f 28 22 25 66 31 39 22 29 3b 0a 72 65 67 m__("%f19");.reg
0460: 69 73 74 65 72 20 66 6c 6f 61 74 09 66 61 72 67 ister float.farg
0470: 31 30 09 5f 5f 61 73 6d 5f 5f 28 22 25 66 32 31 10.__asm__("%f21
0480: 22 29 3b 0a 72 65 67 69 73 74 65 72 20 66 6c 6f ");.register flo
0490: 61 74 09 66 61 72 67 31 31 09 5f 5f 61 73 6d 5f at.farg11.__asm_
04a0: 5f 28 22 25 66 32 33 22 29 3b 0a 72 65 67 69 73 _("%f23");.regis
04b0: 74 65 72 20 66 6c 6f 61 74 09 66 61 72 67 31 32 ter float.farg12
04c0: 09 5f 5f 61 73 6d 5f 5f 28 22 25 66 32 35 22 29 .__asm__("%f25")
04d0: 3b 0a 72 65 67 69 73 74 65 72 20 66 6c 6f 61 74 ;.register float
04e0: 09 66 61 72 67 31 33 09 5f 5f 61 73 6d 5f 5f 28 .farg13.__asm__(
04f0: 22 25 66 32 37 22 29 3b 0a 72 65 67 69 73 74 65 "%f27");.registe
0500: 72 20 66 6c 6f 61 74 09 66 61 72 67 31 34 09 5f r float.farg14._
0510: 5f 61 73 6d 5f 5f 28 22 25 66 32 39 22 29 3b 0a _asm__("%f29");.
0520: 72 65 67 69 73 74 65 72 20 66 6c 6f 61 74 09 66 register float.f
0530: 61 72 67 31 35 09 5f 5f 61 73 6d 5f 5f 28 22 25 arg15.__asm__("%
0540: 66 33 31 22 29 3b 0a 72 65 67 69 73 74 65 72 20 f31");.register
0550: 64 6f 75 62 6c 65 09 64 61 72 67 30 09 5f 5f 61 double.darg0.__a
0560: 73 6d 5f 5f 28 22 25 66 30 22 29 3b 0a 72 65 67 sm__("%f0");.reg
0570: 69 73 74 65 72 20 64 6f 75 62 6c 65 09 64 61 72 ister double.dar
0580: 67 31 09 5f 5f 61 73 6d 5f 5f 28 22 25 66 32 22 g1.__asm__("%f2"
0590: 29 3b 0a 72 65 67 69 73 74 65 72 20 64 6f 75 62 );.register doub
05a0: 6c 65 09 64 61 72 67 32 09 5f 5f 61 73 6d 5f 5f le.darg2.__asm__
05b0: 28 22 25 66 34 22 29 3b 0a 72 65 67 69 73 74 65 ("%f4");.registe
05c0: 72 20 64 6f 75 62 6c 65 09 64 61 72 67 33 09 5f r double.darg3._
05d0: 5f 61 73 6d 5f 5f 28 22 25 66 36 22 29 3b 0a 72 _asm__("%f6");.r
05e0: 65 67 69 73 74 65 72 20 64 6f 75 62 6c 65 09 64 egister double.d
05f0: 61 72 67 34 09 5f 5f 61 73 6d 5f 5f 28 22 25 66 arg4.__asm__("%f
0600: 38 22 29 3b 0a 72 65 67 69 73 74 65 72 20 64 6f 8");.register do
0610: 75 62 6c 65 09 64 61 72 67 35 09 5f 5f 61 73 6d uble.darg5.__asm
0620: 5f 5f 28 22 25 66 31 30 22 29 3b 0a 72 65 67 69 __("%f10");.regi
0630: 73 74 65 72 20 64 6f 75 62 6c 65 09 64 61 72 67 ster double.darg
0640: 36 09 5f 5f 61 73 6d 5f 5f 28 22 25 66 31 32 22 6.__asm__("%f12"
0650: 29 3b 0a 72 65 67 69 73 74 65 72 20 64 6f 75 62 );.register doub
0660: 6c 65 09 64 61 72 67 37 09 5f 5f 61 73 6d 5f 5f le.darg7.__asm__
0670: 28 22 25 66 31 34 22 29 3b 0a 72 65 67 69 73 74 ("%f14");.regist
0680: 65 72 20 64 6f 75 62 6c 65 09 64 61 72 67 38 09 er double.darg8.
0690: 5f 5f 61 73 6d 5f 5f 28 22 25 66 31 36 22 29 3b __asm__("%f16");
06a0: 0a 72 65 67 69 73 74 65 72 20 64 6f 75 62 6c 65 .register double
06b0: 09 64 61 72 67 39 09 5f 5f 61 73 6d 5f 5f 28 22 .darg9.__asm__("
06c0: 25 66 31 38 22 29 3b 0a 72 65 67 69 73 74 65 72 %f18");.register
06d0: 20 64 6f 75 62 6c 65 09 64 61 72 67 31 30 09 5f double.darg10._
06e0: 5f 61 73 6d 5f 5f 28 22 25 66 32 30 22 29 3b 0a _asm__("%f20");.
06f0: 72 65 67 69 73 74 65 72 20 64 6f 75 62 6c 65 09 register double.
0700: 64 61 72 67 31 31 09 5f 5f 61 73 6d 5f 5f 28 22 darg11.__asm__("
0710: 25 66 32 32 22 29 3b 0a 72 65 67 69 73 74 65 72 %f22");.register
0720: 20 64 6f 75 62 6c 65 09 64 61 72 67 31 32 09 5f double.darg12._
0730: 5f 61 73 6d 5f 5f 28 22 25 66 32 34 22 29 3b 0a _asm__("%f24");.
0740: 72 65 67 69 73 74 65 72 20 64 6f 75 62 6c 65 09 register double.
0750: 64 61 72 67 31 33 09 5f 5f 61 73 6d 5f 5f 28 22 darg13.__asm__("
0760: 25 66 32 36 22 29 3b 0a 72 65 67 69 73 74 65 72 %f26");.register
0770: 20 64 6f 75 62 6c 65 09 64 61 72 67 31 34 09 5f double.darg14._
0780: 5f 61 73 6d 5f 5f 28 22 25 66 32 38 22 29 3b 0a _asm__("%f28");.
0790: 72 65 67 69 73 74 65 72 20 64 6f 75 62 6c 65 09 register double.
07a0: 64 61 72 67 31 35 09 5f 5f 61 73 6d 5f 5f 28 22 darg15.__asm__("
07b0: 25 66 33 30 22 29 3b 0a 72 65 67 69 73 74 65 72 %f30");.register
07c0: 20 5f 5f 76 61 77 6f 72 64 20 69 72 65 74 09 5f __vaword iret._
07d0: 5f 61 73 6d 5f 5f 28 22 25 69 30 22 29 3b 0a 72 _asm__("%i0");.r
07e0: 65 67 69 73 74 65 72 20 5f 5f 76 61 77 6f 72 64 egister __vaword
07f0: 20 6f 31 09 5f 5f 61 73 6d 5f 5f 28 22 25 69 31 o1.__asm__("%i1
0800: 22 29 3b 0a 72 65 67 69 73 74 65 72 20 5f 5f 76 ");.register __v
0810: 61 77 6f 72 64 20 6f 32 09 5f 5f 61 73 6d 5f 5f aword o2.__asm__
0820: 28 22 25 69 32 22 29 3b 0a 72 65 67 69 73 74 65 ("%i2");.registe
0830: 72 20 5f 5f 76 61 77 6f 72 64 20 6f 33 09 5f 5f r __vaword o3.__
0840: 61 73 6d 5f 5f 28 22 25 69 33 22 29 3b 0a 72 65 asm__("%i3");.re
0850: 67 69 73 74 65 72 20 5f 5f 76 61 77 6f 72 64 20 gister __vaword
0860: 6f 34 09 5f 5f 61 73 6d 5f 5f 28 22 25 69 34 22 o4.__asm__("%i4"
0870: 29 3b 0a 72 65 67 69 73 74 65 72 20 5f 5f 76 61 );.register __va
0880: 77 6f 72 64 20 6f 35 09 5f 5f 61 73 6d 5f 5f 28 word o5.__asm__(
0890: 22 25 69 35 22 29 3b 0a 72 65 67 69 73 74 65 72 "%i5");.register
08a0: 20 66 6c 6f 61 74 09 66 72 65 74 09 5f 5f 61 73 float.fret.__as
08b0: 6d 5f 5f 28 22 25 66 30 22 29 3b 09 2f 2a 20 25 m__("%f0");./* %
08c0: 66 30 20 2a 2f 0a 72 65 67 69 73 74 65 72 20 64 f0 */.register d
08d0: 6f 75 62 6c 65 09 64 72 65 74 09 5f 5f 61 73 6d ouble.dret.__asm
08e0: 5f 5f 28 22 25 66 30 22 29 3b 09 2f 2a 20 25 66 __("%f0");./* %f
08f0: 30 2c 25 66 31 20 2a 2f 0a 0a 76 6f 69 64 20 2f 0,%f1 */..void /
0900: 2a 20 74 68 65 20 72 65 74 75 72 6e 20 74 79 70 * the return typ
0910: 65 20 69 73 20 76 61 72 69 61 62 6c 65 2c 20 6e e is variable, n
0920: 6f 74 20 76 6f 69 64 21 20 2a 2f 0a 5f 5f 76 61 ot void! */.__va
0930: 63 61 6c 6c 20 28 5f 5f 76 61 77 6f 72 64 20 77 call (__vaword w
0940: 6f 72 64 31 2c 20 5f 5f 76 61 77 6f 72 64 20 77 ord1, __vaword w
0950: 6f 72 64 32 2c 20 5f 5f 76 61 77 6f 72 64 20 77 ord2, __vaword w
0960: 6f 72 64 33 2c 20 5f 5f 76 61 77 6f 72 64 20 77 ord3, __vaword w
0970: 6f 72 64 34 2c 0a 20 20 20 20 20 20 20 20 20 20 ord4,.
0980: 5f 5f 76 61 77 6f 72 64 20 77 6f 72 64 35 2c 20 __vaword word5,
0990: 5f 5f 76 61 77 6f 72 64 20 77 6f 72 64 36 2c 0a __vaword word6,.
09a0: 20 20 20 20 20 20 20 20 20 20 5f 5f 76 61 77 6f __vawo
09b0: 72 64 20 66 69 72 73 74 77 6f 72 64 29 0a 7b 0a rd firstword).{.
09c0: 20 20 5f 5f 76 61 5f 61 6c 69 73 74 20 6c 69 73 __va_alist lis
09d0: 74 3b 0a 20 20 2f 2a 20 4d 6f 76 65 20 74 68 65 t;. /* Move the
09e0: 20 61 72 67 75 6d 65 6e 74 73 20 70 61 73 73 65 arguments passe
09f0: 64 20 69 6e 20 72 65 67 69 73 74 65 72 73 20 74 d in registers t
0a00: 6f 20 74 68 65 69 72 20 73 74 61 63 6b 20 6c 6f o their stack lo
0a10: 63 61 74 69 6f 6e 73 2e 20 2a 2f 0a 20 20 28 26 cations. */. (&
0a20: 66 69 72 73 74 77 6f 72 64 29 5b 2d 36 5d 20 3d firstword)[-6] =
0a30: 20 77 6f 72 64 31 3b 0a 20 20 28 26 66 69 72 73 word1;. (&firs
0a40: 74 77 6f 72 64 29 5b 2d 35 5d 20 3d 20 77 6f 72 tword)[-5] = wor
0a50: 64 32 3b 0a 20 20 28 26 66 69 72 73 74 77 6f 72 d2;. (&firstwor
0a60: 64 29 5b 2d 34 5d 20 3d 20 77 6f 72 64 33 3b 0a d)[-4] = word3;.
0a70: 20 20 28 26 66 69 72 73 74 77 6f 72 64 29 5b 2d (&firstword)[-
0a80: 33 5d 20 3d 20 77 6f 72 64 34 3b 0a 20 20 28 26 3] = word4;. (&
0a90: 66 69 72 73 74 77 6f 72 64 29 5b 2d 32 5d 20 3d firstword)[-2] =
0aa0: 20 77 6f 72 64 35 3b 0a 20 20 28 26 66 69 72 73 word5;. (&firs
0ab0: 74 77 6f 72 64 29 5b 2d 31 5d 20 3d 20 77 6f 72 tword)[-1] = wor
0ac0: 64 36 3b 0a 20 20 6c 69 73 74 2e 64 61 72 67 5b d6;. list.darg[
0ad0: 30 5d 20 3d 20 64 61 72 67 30 3b 0a 20 20 6c 69 0] = darg0;. li
0ae0: 73 74 2e 64 61 72 67 5b 31 5d 20 3d 20 64 61 72 st.darg[1] = dar
0af0: 67 31 3b 0a 20 20 6c 69 73 74 2e 64 61 72 67 5b g1;. list.darg[
0b00: 32 5d 20 3d 20 64 61 72 67 32 3b 0a 20 20 6c 69 2] = darg2;. li
0b10: 73 74 2e 64 61 72 67 5b 33 5d 20 3d 20 64 61 72 st.darg[3] = dar
0b20: 67 33 3b 0a 20 20 6c 69 73 74 2e 64 61 72 67 5b g3;. list.darg[
0b30: 34 5d 20 3d 20 64 61 72 67 34 3b 0a 20 20 6c 69 4] = darg4;. li
0b40: 73 74 2e 64 61 72 67 5b 35 5d 20 3d 20 64 61 72 st.darg[5] = dar
0b50: 67 35 3b 0a 20 20 6c 69 73 74 2e 64 61 72 67 5b g5;. list.darg[
0b60: 36 5d 20 3d 20 64 61 72 67 36 3b 0a 20 20 6c 69 6] = darg6;. li
0b70: 73 74 2e 64 61 72 67 5b 37 5d 20 3d 20 64 61 72 st.darg[7] = dar
0b80: 67 37 3b 0a 20 20 6c 69 73 74 2e 64 61 72 67 5b g7;. list.darg[
0b90: 38 5d 20 3d 20 64 61 72 67 38 3b 0a 20 20 6c 69 8] = darg8;. li
0ba0: 73 74 2e 64 61 72 67 5b 39 5d 20 3d 20 64 61 72 st.darg[9] = dar
0bb0: 67 39 3b 0a 20 20 6c 69 73 74 2e 64 61 72 67 5b g9;. list.darg[
0bc0: 31 30 5d 20 3d 20 64 61 72 67 31 30 3b 0a 20 20 10] = darg10;.
0bd0: 6c 69 73 74 2e 64 61 72 67 5b 31 31 5d 20 3d 20 list.darg[11] =
0be0: 64 61 72 67 31 31 3b 0a 20 20 6c 69 73 74 2e 64 darg11;. list.d
0bf0: 61 72 67 5b 31 32 5d 20 3d 20 64 61 72 67 31 32 arg[12] = darg12
0c00: 3b 0a 20 20 6c 69 73 74 2e 64 61 72 67 5b 31 33 ;. list.darg[13
0c10: 5d 20 3d 20 64 61 72 67 31 33 3b 0a 20 20 6c 69 ] = darg13;. li
0c20: 73 74 2e 64 61 72 67 5b 31 34 5d 20 3d 20 64 61 st.darg[14] = da
0c30: 72 67 31 34 3b 0a 20 20 6c 69 73 74 2e 64 61 72 rg14;. list.dar
0c40: 67 5b 31 35 5d 20 3d 20 64 61 72 67 31 35 3b 0a g[15] = darg15;.
0c50: 20 20 6c 69 73 74 2e 66 61 72 67 5b 30 5d 20 3d list.farg[0] =
0c60: 20 66 61 72 67 30 3b 0a 20 20 6c 69 73 74 2e 66 farg0;. list.f
0c70: 61 72 67 5b 31 5d 20 3d 20 66 61 72 67 31 3b 0a arg[1] = farg1;.
0c80: 20 20 6c 69 73 74 2e 66 61 72 67 5b 32 5d 20 3d list.farg[2] =
0c90: 20 66 61 72 67 32 3b 0a 20 20 6c 69 73 74 2e 66 farg2;. list.f
0ca0: 61 72 67 5b 33 5d 20 3d 20 66 61 72 67 33 3b 0a arg[3] = farg3;.
0cb0: 20 20 6c 69 73 74 2e 66 61 72 67 5b 34 5d 20 3d list.farg[4] =
0cc0: 20 66 61 72 67 34 3b 0a 20 20 6c 69 73 74 2e 66 farg4;. list.f
0cd0: 61 72 67 5b 35 5d 20 3d 20 66 61 72 67 35 3b 0a arg[5] = farg5;.
0ce0: 20 20 6c 69 73 74 2e 66 61 72 67 5b 36 5d 20 3d list.farg[6] =
0cf0: 20 66 61 72 67 36 3b 0a 20 20 6c 69 73 74 2e 66 farg6;. list.f
0d00: 61 72 67 5b 37 5d 20 3d 20 66 61 72 67 37 3b 0a arg[7] = farg7;.
0d10: 20 20 6c 69 73 74 2e 66 61 72 67 5b 38 5d 20 3d list.farg[8] =
0d20: 20 66 61 72 67 38 3b 0a 20 20 6c 69 73 74 2e 66 farg8;. list.f
0d30: 61 72 67 5b 39 5d 20 3d 20 66 61 72 67 39 3b 0a arg[9] = farg9;.
0d40: 20 20 6c 69 73 74 2e 66 61 72 67 5b 31 30 5d 20 list.farg[10]
0d50: 3d 20 66 61 72 67 31 30 3b 0a 20 20 6c 69 73 74 = farg10;. list
0d60: 2e 66 61 72 67 5b 31 31 5d 20 3d 20 66 61 72 67 .farg[11] = farg
0d70: 31 31 3b 0a 20 20 6c 69 73 74 2e 66 61 72 67 5b 11;. list.farg[
0d80: 31 32 5d 20 3d 20 66 61 72 67 31 32 3b 0a 20 20 12] = farg12;.
0d90: 6c 69 73 74 2e 66 61 72 67 5b 31 33 5d 20 3d 20 list.farg[13] =
0da0: 66 61 72 67 31 33 3b 0a 20 20 6c 69 73 74 2e 66 farg13;. list.f
0db0: 61 72 67 5b 31 34 5d 20 3d 20 66 61 72 67 31 34 arg[14] = farg14
0dc0: 3b 0a 20 20 6c 69 73 74 2e 66 61 72 67 5b 31 35 ;. list.farg[15
0dd0: 5d 20 3d 20 66 61 72 67 31 35 3b 0a 20 20 2f 2a ] = farg15;. /*
0de0: 20 50 72 65 70 61 72 65 20 74 68 65 20 76 61 5f Prepare the va_
0df0: 61 6c 69 73 74 2e 20 2a 2f 0a 20 20 6c 69 73 74 alist. */. list
0e00: 2e 66 6c 61 67 73 20 3d 20 30 3b 0a 20 20 6c 69 .flags = 0;. li
0e10: 73 74 2e 61 70 74 72 20 3d 20 28 6c 6f 6e 67 29 st.aptr = (long)
0e20: 28 26 66 69 72 73 74 77 6f 72 64 20 2d 20 36 29 (&firstword - 6)
0e30: 3b 0a 20 20 6c 69 73 74 2e 72 61 64 64 72 20 3d ;. list.raddr =
0e40: 20 28 76 6f 69 64 2a 29 30 3b 0a 20 20 6c 69 73 (void*)0;. lis
0e50: 74 2e 72 74 79 70 65 20 3d 20 5f 5f 56 41 76 6f t.rtype = __VAvo
0e60: 69 64 3b 0a 20 20 6c 69 73 74 2e 61 6e 75 6d 20 id;. list.anum
0e70: 3d 20 30 3b 0a 20 20 2f 2a 20 43 61 6c 6c 20 76 = 0;. /* Call v
0e80: 61 63 61 6c 6c 5f 66 75 6e 63 74 69 6f 6e 2e 20 acall_function.
0e90: 54 68 65 20 6d 61 63 72 6f 73 20 64 6f 20 61 6c The macros do al
0ea0: 6c 20 74 68 65 20 72 65 73 74 2e 20 2a 2f 0a 23 l the rest. */.#
0eb0: 69 66 6e 64 65 66 20 52 45 45 4e 54 52 41 4e 54 ifndef REENTRANT
0ec0: 0a 20 20 28 2a 76 61 63 61 6c 6c 5f 66 75 6e 63 . (*vacall_func
0ed0: 74 69 6f 6e 29 20 28 26 6c 69 73 74 29 3b 0a 23 tion) (&list);.#
0ee0: 65 6c 73 65 20 2f 2a 20 52 45 45 4e 54 52 41 4e else /* REENTRAN
0ef0: 54 20 2a 2f 0a 20 20 28 2a 65 6e 76 2d 3e 76 61 T */. (*env->va
0f00: 63 61 6c 6c 5f 66 75 6e 63 74 69 6f 6e 29 20 28 call_function) (
0f10: 65 6e 76 2d 3e 61 72 67 2c 26 6c 69 73 74 29 3b env->arg,&list);
0f20: 0a 23 65 6e 64 69 66 0a 20 20 2f 2a 20 50 75 74 .#endif. /* Put
0f30: 20 72 65 74 75 72 6e 20 76 61 6c 75 65 20 69 6e return value in
0f40: 74 6f 20 70 72 6f 70 65 72 20 72 65 67 69 73 74 to proper regist
0f50: 65 72 2e 20 2a 2f 0a 20 20 69 66 20 28 6c 69 73 er. */. if (lis
0f60: 74 2e 72 74 79 70 65 20 3d 3d 20 5f 5f 56 41 76 t.rtype == __VAv
0f70: 6f 69 64 29 20 7b 0a 20 20 7d 20 65 6c 73 65 0a oid) {. } else.
0f80: 20 20 69 66 20 28 6c 69 73 74 2e 72 74 79 70 65 if (list.rtype
0f90: 20 3d 3d 20 5f 5f 56 41 63 68 61 72 29 20 7b 0a == __VAchar) {.
0fa0: 20 20 20 20 69 72 65 74 20 3d 20 6c 69 73 74 2e iret = list.
0fb0: 74 6d 70 2e 5f 63 68 61 72 3b 0a 20 20 7d 20 65 tmp._char;. } e
0fc0: 6c 73 65 0a 20 20 69 66 20 28 6c 69 73 74 2e 72 lse. if (list.r
0fd0: 74 79 70 65 20 3d 3d 20 5f 5f 56 41 73 63 68 61 type == __VAscha
0fe0: 72 29 20 7b 0a 20 20 20 20 69 72 65 74 20 3d 20 r) {. iret =
0ff0: 6c 69 73 74 2e 74 6d 70 2e 5f 73 63 68 61 72 3b list.tmp._schar;
1000: 0a 20 20 7d 20 65 6c 73 65 0a 20 20 69 66 20 28 . } else. if (
1010: 6c 69 73 74 2e 72 74 79 70 65 20 3d 3d 20 5f 5f list.rtype == __
1020: 56 41 75 63 68 61 72 29 20 7b 0a 20 20 20 20 69 VAuchar) {. i
1030: 72 65 74 20 3d 20 6c 69 73 74 2e 74 6d 70 2e 5f ret = list.tmp._
1040: 75 63 68 61 72 3b 0a 20 20 7d 20 65 6c 73 65 0a uchar;. } else.
1050: 20 20 69 66 20 28 6c 69 73 74 2e 72 74 79 70 65 if (list.rtype
1060: 20 3d 3d 20 5f 5f 56 41 73 68 6f 72 74 29 20 7b == __VAshort) {
1070: 0a 20 20 20 20 69 72 65 74 20 3d 20 6c 69 73 74 . iret = list
1080: 2e 74 6d 70 2e 5f 73 68 6f 72 74 3b 0a 20 20 7d .tmp._short;. }
1090: 20 65 6c 73 65 0a 20 20 69 66 20 28 6c 69 73 74 else. if (list
10a0: 2e 72 74 79 70 65 20 3d 3d 20 5f 5f 56 41 75 73 .rtype == __VAus
10b0: 68 6f 72 74 29 20 7b 0a 20 20 20 20 69 72 65 74 hort) {. iret
10c0: 20 3d 20 6c 69 73 74 2e 74 6d 70 2e 5f 75 73 68 = list.tmp._ush
10d0: 6f 72 74 3b 0a 20 20 7d 20 65 6c 73 65 0a 20 20 ort;. } else.
10e0: 69 66 20 28 6c 69 73 74 2e 72 74 79 70 65 20 3d if (list.rtype =
10f0: 3d 20 5f 5f 56 41 69 6e 74 29 20 7b 0a 20 20 20 = __VAint) {.
1100: 20 69 72 65 74 20 3d 20 6c 69 73 74 2e 74 6d 70 iret = list.tmp
1110: 2e 5f 69 6e 74 3b 0a 20 20 7d 20 65 6c 73 65 0a ._int;. } else.
1120: 20 20 69 66 20 28 6c 69 73 74 2e 72 74 79 70 65 if (list.rtype
1130: 20 3d 3d 20 5f 5f 56 41 75 69 6e 74 29 20 7b 0a == __VAuint) {.
1140: 20 20 20 20 69 72 65 74 20 3d 20 6c 69 73 74 2e iret = list.
1150: 74 6d 70 2e 5f 75 69 6e 74 3b 0a 20 20 7d 20 65 tmp._uint;. } e
1160: 6c 73 65 0a 20 20 69 66 20 28 6c 69 73 74 2e 72 lse. if (list.r
1170: 74 79 70 65 20 3d 3d 20 5f 5f 56 41 6c 6f 6e 67 type == __VAlong
1180: 29 20 7b 0a 20 20 20 20 69 72 65 74 20 3d 20 6c ) {. iret = l
1190: 69 73 74 2e 74 6d 70 2e 5f 6c 6f 6e 67 3b 0a 20 ist.tmp._long;.
11a0: 20 7d 20 65 6c 73 65 0a 20 20 69 66 20 28 6c 69 } else. if (li
11b0: 73 74 2e 72 74 79 70 65 20 3d 3d 20 5f 5f 56 41 st.rtype == __VA
11c0: 75 6c 6f 6e 67 29 20 7b 0a 20 20 20 20 69 72 65 ulong) {. ire
11d0: 74 20 3d 20 6c 69 73 74 2e 74 6d 70 2e 5f 75 6c t = list.tmp._ul
11e0: 6f 6e 67 3b 0a 20 20 7d 20 65 6c 73 65 0a 20 20 ong;. } else.
11f0: 69 66 20 28 6c 69 73 74 2e 72 74 79 70 65 20 3d if (list.rtype =
1200: 3d 20 5f 5f 56 41 6c 6f 6e 67 6c 6f 6e 67 29 20 = __VAlonglong)
1210: 7b 0a 20 20 20 20 69 72 65 74 20 3d 20 6c 69 73 {. iret = lis
1220: 74 2e 74 6d 70 2e 5f 6c 6f 6e 67 3b 0a 20 20 7d t.tmp._long;. }
1230: 20 65 6c 73 65 0a 20 20 69 66 20 28 6c 69 73 74 else. if (list
1240: 2e 72 74 79 70 65 20 3d 3d 20 5f 5f 56 41 75 6c .rtype == __VAul
1250: 6f 6e 67 6c 6f 6e 67 29 20 7b 0a 20 20 20 20 69 onglong) {. i
1260: 72 65 74 20 3d 20 6c 69 73 74 2e 74 6d 70 2e 5f ret = list.tmp._
1270: 75 6c 6f 6e 67 3b 0a 20 20 7d 20 65 6c 73 65 0a ulong;. } else.
1280: 20 20 69 66 20 28 6c 69 73 74 2e 72 74 79 70 65 if (list.rtype
1290: 20 3d 3d 20 5f 5f 56 41 66 6c 6f 61 74 29 20 7b == __VAfloat) {
12a0: 0a 20 20 20 20 66 72 65 74 20 3d 20 6c 69 73 74 . fret = list
12b0: 2e 74 6d 70 2e 5f 66 6c 6f 61 74 3b 0a 20 20 7d .tmp._float;. }
12c0: 20 65 6c 73 65 0a 20 20 69 66 20 28 6c 69 73 74 else. if (list
12d0: 2e 72 74 79 70 65 20 3d 3d 20 5f 5f 56 41 64 6f .rtype == __VAdo
12e0: 75 62 6c 65 29 20 7b 0a 20 20 20 20 64 72 65 74 uble) {. dret
12f0: 20 3d 20 6c 69 73 74 2e 74 6d 70 2e 5f 64 6f 75 = list.tmp._dou
1300: 62 6c 65 3b 0a 20 20 7d 20 65 6c 73 65 0a 20 20 ble;. } else.
1310: 69 66 20 28 6c 69 73 74 2e 72 74 79 70 65 20 3d if (list.rtype =
1320: 3d 20 5f 5f 56 41 76 6f 69 64 70 29 20 7b 0a 20 = __VAvoidp) {.
1330: 20 20 20 69 72 65 74 20 3d 20 28 6c 6f 6e 67 29 iret = (long)
1340: 6c 69 73 74 2e 74 6d 70 2e 5f 70 74 72 3b 0a 20 list.tmp._ptr;.
1350: 20 7d 20 65 6c 73 65 0a 20 20 69 66 20 28 6c 69 } else. if (li
1360: 73 74 2e 72 74 79 70 65 20 3d 3d 20 5f 5f 56 41 st.rtype == __VA
1370: 73 74 72 75 63 74 29 20 7b 0a 20 20 20 20 69 66 struct) {. if
1380: 20 28 6c 69 73 74 2e 66 6c 61 67 73 20 26 20 5f (list.flags & _
1390: 5f 56 41 5f 50 43 43 5f 53 54 52 55 43 54 5f 52 _VA_PCC_STRUCT_R
13a0: 45 54 55 52 4e 29 20 7b 0a 20 20 20 20 20 20 2f ETURN) {. /
13b0: 2a 20 70 63 63 20 73 74 72 75 63 74 20 72 65 74 * pcc struct ret
13c0: 75 72 6e 20 63 6f 6e 76 65 6e 74 69 6f 6e 20 2a urn convention *
13d0: 2f 0a 20 20 20 20 20 20 69 72 65 74 20 3d 20 28 /. iret = (
13e0: 6c 6f 6e 67 29 20 6c 69 73 74 2e 72 61 64 64 72 long) list.raddr
13f0: 3b 0a 20 20 20 20 7d 20 65 6c 73 65 20 7b 0a 20 ;. } else {.
1400: 20 20 20 20 20 2f 2a 20 6e 6f 72 6d 61 6c 20 73 /* normal s
1410: 74 72 75 63 74 20 72 65 74 75 72 6e 20 63 6f 6e truct return con
1420: 76 65 6e 74 69 6f 6e 20 2a 2f 0a 20 20 20 20 20 vention */.
1430: 20 69 66 20 28 6c 69 73 74 2e 66 6c 61 67 73 20 if (list.flags
1440: 26 20 5f 5f 56 41 5f 52 45 47 49 53 54 45 52 5f & __VA_REGISTER_
1450: 53 54 52 55 43 54 5f 52 45 54 55 52 4e 29 20 7b STRUCT_RETURN) {
1460: 0a 20 20 20 20 20 20 20 20 2f 2a 20 52 65 74 75 . /* Retu
1470: 72 6e 20 73 74 72 75 63 74 73 20 6f 66 20 73 69 rn structs of si
1480: 7a 65 20 3c 3d 20 33 32 20 69 6e 20 72 65 67 69 ze <= 32 in regi
1490: 73 74 65 72 73 2e 20 2a 2f 0a 20 20 20 20 20 20 sters. */.
14a0: 20 20 69 66 20 28 6c 69 73 74 2e 72 73 69 7a 65 if (list.rsize
14b0: 20 3e 20 30 20 26 26 20 6c 69 73 74 2e 72 73 69 > 0 && list.rsi
14c0: 7a 65 20 3c 3d 20 33 32 29 20 7b 0a 20 20 20 20 ze <= 32) {.
14d0: 20 20 20 20 20 20 69 66 20 28 6c 69 73 74 2e 72 if (list.r
14e0: 73 69 7a 65 20 3d 3d 20 31 29 20 7b 0a 20 20 20 size == 1) {.
14f0: 20 20 20 20 20 20 20 20 20 69 72 65 74 20 3d 20 iret =
1500: 20 20 28 5f 5f 76 61 77 6f 72 64 29 28 28 75 6e (__vaword)((un
1510: 73 69 67 6e 65 64 20 63 68 61 72 20 2a 29 20 6c signed char *) l
1520: 69 73 74 2e 72 61 64 64 72 29 5b 30 5d 20 3c 3c ist.raddr)[0] <<
1530: 20 35 36 3b 0a 20 20 20 20 20 20 20 20 20 20 7d 56;. }
1540: 20 65 6c 73 65 0a 20 20 20 20 20 20 20 20 20 20 else.
1550: 69 66 20 28 6c 69 73 74 2e 72 73 69 7a 65 20 3d if (list.rsize =
1560: 3d 20 32 29 20 7b 0a 20 20 20 20 20 20 20 20 20 = 2) {.
1570: 20 20 20 69 72 65 74 20 3d 20 20 28 28 5f 5f 76 iret = ((__v
1580: 61 77 6f 72 64 29 28 28 75 6e 73 69 67 6e 65 64 aword)((unsigned
1590: 20 63 68 61 72 20 2a 29 20 6c 69 73 74 2e 72 61 char *) list.ra
15a0: 64 64 72 29 5b 30 5d 20 3c 3c 20 35 36 29 0a 20 ddr)[0] << 56).
15b0: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
15c0: 20 7c 20 28 28 5f 5f 76 61 77 6f 72 64 29 28 28 | ((__vaword)((
15d0: 75 6e 73 69 67 6e 65 64 20 63 68 61 72 20 2a 29 unsigned char *)
15e0: 20 6c 69 73 74 2e 72 61 64 64 72 29 5b 31 5d 20 list.raddr)[1]
15f0: 3c 3c 20 34 38 29 3b 0a 20 20 20 20 20 20 20 20 << 48);.
1600: 20 20 7d 20 65 6c 73 65 0a 20 20 20 20 20 20 20 } else.
1610: 20 20 20 69 66 20 28 6c 69 73 74 2e 72 73 69 7a if (list.rsiz
1620: 65 20 3d 3d 20 33 29 20 7b 0a 20 20 20 20 20 20 e == 3) {.
1630: 20 20 20 20 20 20 69 72 65 74 20 3d 20 20 28 28 iret = ((
1640: 5f 5f 76 61 77 6f 72 64 29 28 28 75 6e 73 69 67 __vaword)((unsig
1650: 6e 65 64 20 63 68 61 72 20 2a 29 20 6c 69 73 74 ned char *) list
1660: 2e 72 61 64 64 72 29 5b 30 5d 20 3c 3c 20 35 36 .raddr)[0] << 56
1670: 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 ).
1680: 20 20 20 20 7c 20 28 28 5f 5f 76 61 77 6f 72 64 | ((__vaword
1690: 29 28 28 75 6e 73 69 67 6e 65 64 20 63 68 61 72 )((unsigned char
16a0: 20 2a 29 20 6c 69 73 74 2e 72 61 64 64 72 29 5b *) list.raddr)[
16b0: 31 5d 20 3c 3c 20 34 38 29 0a 20 20 20 20 20 20 1] << 48).
16c0: 20 20 20 20 20 20 20 20 20 20 20 20 7c 20 28 28 | ((
16d0: 5f 5f 76 61 77 6f 72 64 29 28 28 75 6e 73 69 67 __vaword)((unsig
16e0: 6e 65 64 20 63 68 61 72 20 2a 29 20 6c 69 73 74 ned char *) list
16f0: 2e 72 61 64 64 72 29 5b 32 5d 20 3c 3c 20 34 30 .raddr)[2] << 40
1700: 29 3b 0a 20 20 20 20 20 20 20 20 20 20 7d 20 65 );. } e
1710: 6c 73 65 0a 20 20 20 20 20 20 20 20 20 20 69 66 lse. if
1720: 20 28 6c 69 73 74 2e 72 73 69 7a 65 20 3d 3d 20 (list.rsize ==
1730: 34 29 20 7b 0a 20 20 20 20 20 20 20 20 20 20 20 4) {.
1740: 20 69 72 65 74 20 3d 20 20 28 28 5f 5f 76 61 77 iret = ((__vaw
1750: 6f 72 64 29 28 28 75 6e 73 69 67 6e 65 64 20 63 ord)((unsigned c
1760: 68 61 72 20 2a 29 20 6c 69 73 74 2e 72 61 64 64 har *) list.radd
1770: 72 29 5b 30 5d 20 3c 3c 20 35 36 29 0a 20 20 20 r)[0] << 56).
1780: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 7c |
1790: 20 28 28 5f 5f 76 61 77 6f 72 64 29 28 28 75 6e ((__vaword)((un
17a0: 73 69 67 6e 65 64 20 63 68 61 72 20 2a 29 20 6c signed char *) l
17b0: 69 73 74 2e 72 61 64 64 72 29 5b 31 5d 20 3c 3c ist.raddr)[1] <<
17c0: 20 34 38 29 0a 20 20 20 20 20 20 20 20 20 20 20 48).
17d0: 20 20 20 20 20 20 20 7c 20 28 28 5f 5f 76 61 77 | ((__vaw
17e0: 6f 72 64 29 28 28 75 6e 73 69 67 6e 65 64 20 63 ord)((unsigned c
17f0: 68 61 72 20 2a 29 20 6c 69 73 74 2e 72 61 64 64 har *) list.radd
1800: 72 29 5b 32 5d 20 3c 3c 20 34 30 29 0a 20 20 20 r)[2] << 40).
1810: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 7c |
1820: 20 28 28 5f 5f 76 61 77 6f 72 64 29 28 28 75 6e ((__vaword)((un
1830: 73 69 67 6e 65 64 20 63 68 61 72 20 2a 29 20 6c signed char *) l
1840: 69 73 74 2e 72 61 64 64 72 29 5b 33 5d 20 3c 3c ist.raddr)[3] <<
1850: 20 33 32 29 3b 0a 20 20 20 20 20 20 20 20 20 20 32);.
1860: 7d 20 65 6c 73 65 0a 20 20 20 20 20 20 20 20 20 } else.
1870: 20 69 66 20 28 6c 69 73 74 2e 72 73 69 7a 65 20 if (list.rsize
1880: 3d 3d 20 35 29 20 7b 0a 20 20 20 20 20 20 20 20 == 5) {.
1890: 20 20 20 20 69 72 65 74 20 3d 20 20 28 28 5f 5f iret = ((__
18a0: 76 61 77 6f 72 64 29 28 28 75 6e 73 69 67 6e 65 vaword)((unsigne
18b0: 64 20 63 68 61 72 20 2a 29 20 6c 69 73 74 2e 72 d char *) list.r
18c0: 61 64 64 72 29 5b 30 5d 20 3c 3c 20 35 36 29 0a addr)[0] << 56).
18d0: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
18e0: 20 20 7c 20 28 28 5f 5f 76 61 77 6f 72 64 29 28 | ((__vaword)(
18f0: 28 75 6e 73 69 67 6e 65 64 20 63 68 61 72 20 2a (unsigned char *
1900: 29 20 6c 69 73 74 2e 72 61 64 64 72 29 5b 31 5d ) list.raddr)[1]
1910: 20 3c 3c 20 34 38 29 0a 20 20 20 20 20 20 20 20 << 48).
1920: 20 20 20 20 20 20 20 20 20 20 7c 20 28 28 5f 5f | ((__
1930: 76 61 77 6f 72 64 29 28 28 75 6e 73 69 67 6e 65 vaword)((unsigne
1940: 64 20 63 68 61 72 20 2a 29 20 6c 69 73 74 2e 72 d char *) list.r
1950: 61 64 64 72 29 5b 32 5d 20 3c 3c 20 34 30 29 0a addr)[2] << 40).
1960: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1970: 20 20 7c 20 28 28 5f 5f 76 61 77 6f 72 64 29 28 | ((__vaword)(
1980: 28 75 6e 73 69 67 6e 65 64 20 63 68 61 72 20 2a (unsigned char *
1990: 29 20 6c 69 73 74 2e 72 61 64 64 72 29 5b 33 5d ) list.raddr)[3]
19a0: 20 3c 3c 20 33 32 29 0a 20 20 20 20 20 20 20 20 << 32).
19b0: 20 20 20 20 20 20 20 20 20 20 7c 20 28 28 5f 5f | ((__
19c0: 76 61 77 6f 72 64 29 28 28 75 6e 73 69 67 6e 65 vaword)((unsigne
19d0: 64 20 63 68 61 72 20 2a 29 20 6c 69 73 74 2e 72 d char *) list.r
19e0: 61 64 64 72 29 5b 34 5d 20 3c 3c 20 32 34 29 3b addr)[4] << 24);
19f0: 0a 20 20 20 20 20 20 20 20 20 20 7d 20 65 6c 73 . } els
1a00: 65 0a 20 20 20 20 20 20 20 20 20 20 69 66 20 28 e. if (
1a10: 6c 69 73 74 2e 72 73 69 7a 65 20 3d 3d 20 36 29 list.rsize == 6)
1a20: 20 7b 0a 20 20 20 20 20 20 20 20 20 20 20 20 69 {. i
1a30: 72 65 74 20 3d 20 20 28 28 5f 5f 76 61 77 6f 72 ret = ((__vawor
1a40: 64 29 28 28 75 6e 73 69 67 6e 65 64 20 63 68 61 d)((unsigned cha
1a50: 72 20 2a 29 20 6c 69 73 74 2e 72 61 64 64 72 29 r *) list.raddr)
1a60: 5b 30 5d 20 3c 3c 20 35 36 29 0a 20 20 20 20 20 [0] << 56).
1a70: 20 20 20 20 20 20 20 20 20 20 20 20 20 7c 20 28 | (
1a80: 28 5f 5f 76 61 77 6f 72 64 29 28 28 75 6e 73 69 (__vaword)((unsi
1a90: 67 6e 65 64 20 63 68 61 72 20 2a 29 20 6c 69 73 gned char *) lis
1aa0: 74 2e 72 61 64 64 72 29 5b 31 5d 20 3c 3c 20 34 t.raddr)[1] << 4
1ab0: 38 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 8).
1ac0: 20 20 20 20 20 7c 20 28 28 5f 5f 76 61 77 6f 72 | ((__vawor
1ad0: 64 29 28 28 75 6e 73 69 67 6e 65 64 20 63 68 61 d)((unsigned cha
1ae0: 72 20 2a 29 20 6c 69 73 74 2e 72 61 64 64 72 29 r *) list.raddr)
1af0: 5b 32 5d 20 3c 3c 20 34 30 29 0a 20 20 20 20 20 [2] << 40).
1b00: 20 20 20 20 20 20 20 20 20 20 20 20 20 7c 20 28 | (
1b10: 28 5f 5f 76 61 77 6f 72 64 29 28 28 75 6e 73 69 (__vaword)((unsi
1b20: 67 6e 65 64 20 63 68 61 72 20 2a 29 20 6c 69 73 gned char *) lis
1b30: 74 2e 72 61 64 64 72 29 5b 33 5d 20 3c 3c 20 33 t.raddr)[3] << 3
1b40: 32 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 2).
1b50: 20 20 20 20 20 7c 20 28 28 5f 5f 76 61 77 6f 72 | ((__vawor
1b60: 64 29 28 28 75 6e 73 69 67 6e 65 64 20 63 68 61 d)((unsigned cha
1b70: 72 20 2a 29 20 6c 69 73 74 2e 72 61 64 64 72 29 r *) list.raddr)
1b80: 5b 34 5d 20 3c 3c 20 32 34 29 0a 20 20 20 20 20 [4] << 24).
1b90: 20 20 20 20 20 20 20 20 20 20 20 20 20 7c 20 28 | (
1ba0: 28 5f 5f 76 61 77 6f 72 64 29 28 28 75 6e 73 69 (__vaword)((unsi
1bb0: 67 6e 65 64 20 63 68 61 72 20 2a 29 20 6c 69 73 gned char *) lis
1bc0: 74 2e 72 61 64 64 72 29 5b 35 5d 20 3c 3c 20 31 t.raddr)[5] << 1
1bd0: 36 29 3b 0a 20 20 20 20 20 20 20 20 20 20 7d 20 6);. }
1be0: 65 6c 73 65 0a 20 20 20 20 20 20 20 20 20 20 69 else. i
1bf0: 66 20 28 6c 69 73 74 2e 72 73 69 7a 65 20 3d 3d f (list.rsize ==
1c00: 20 37 29 20 7b 0a 20 20 20 20 20 20 20 20 20 20 7) {.
1c10: 20 20 69 72 65 74 20 3d 20 20 28 28 5f 5f 76 61 iret = ((__va
1c20: 77 6f 72 64 29 28 28 75 6e 73 69 67 6e 65 64 20 word)((unsigned
1c30: 63 68 61 72 20 2a 29 20 6c 69 73 74 2e 72 61 64 char *) list.rad
1c40: 64 72 29 5b 30 5d 20 3c 3c 20 35 36 29 0a 20 20 dr)[0] << 56).
1c50: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1c60: 7c 20 28 28 5f 5f 76 61 77 6f 72 64 29 28 28 75 | ((__vaword)((u
1c70: 6e 73 69 67 6e 65 64 20 63 68 61 72 20 2a 29 20 nsigned char *)
1c80: 6c 69 73 74 2e 72 61 64 64 72 29 5b 31 5d 20 3c list.raddr)[1] <
1c90: 3c 20 34 38 29 0a 20 20 20 20 20 20 20 20 20 20 < 48).
1ca0: 20 20 20 20 20 20 20 20 7c 20 28 28 5f 5f 76 61 | ((__va
1cb0: 77 6f 72 64 29 28 28 75 6e 73 69 67 6e 65 64 20 word)((unsigned
1cc0: 63 68 61 72 20 2a 29 20 6c 69 73 74 2e 72 61 64 char *) list.rad
1cd0: 64 72 29 5b 32 5d 20 3c 3c 20 34 30 29 0a 20 20 dr)[2] << 40).
1ce0: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1cf0: 7c 20 28 28 5f 5f 76 61 77 6f 72 64 29 28 28 75 | ((__vaword)((u
1d00: 6e 73 69 67 6e 65 64 20 63 68 61 72 20 2a 29 20 nsigned char *)
1d10: 6c 69 73 74 2e 72 61 64 64 72 29 5b 33 5d 20 3c list.raddr)[3] <
1d20: 3c 20 33 32 29 0a 20 20 20 20 20 20 20 20 20 20 < 32).
1d30: 20 20 20 20 20 20 20 20 7c 20 28 28 5f 5f 76 61 | ((__va
1d40: 77 6f 72 64 29 28 28 75 6e 73 69 67 6e 65 64 20 word)((unsigned
1d50: 63 68 61 72 20 2a 29 20 6c 69 73 74 2e 72 61 64 char *) list.rad
1d60: 64 72 29 5b 34 5d 20 3c 3c 20 32 34 29 0a 20 20 dr)[4] << 24).
1d70: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1d80: 7c 20 28 28 5f 5f 76 61 77 6f 72 64 29 28 28 75 | ((__vaword)((u
1d90: 6e 73 69 67 6e 65 64 20 63 68 61 72 20 2a 29 20 nsigned char *)
1da0: 6c 69 73 74 2e 72 61 64 64 72 29 5b 35 5d 20 3c list.raddr)[5] <
1db0: 3c 20 31 36 29 0a 20 20 20 20 20 20 20 20 20 20 < 16).
1dc0: 20 20 20 20 20 20 20 20 7c 20 28 28 5f 5f 76 61 | ((__va
1dd0: 77 6f 72 64 29 28 28 75 6e 73 69 67 6e 65 64 20 word)((unsigned
1de0: 63 68 61 72 20 2a 29 20 6c 69 73 74 2e 72 61 64 char *) list.rad
1df0: 64 72 29 5b 36 5d 20 3c 3c 20 38 29 3b 0a 20 20 dr)[6] << 8);.
1e00: 20 20 20 20 20 20 20 20 7d 20 65 6c 73 65 0a 20 } else.
1e10: 20 20 20 20 20 20 20 20 20 69 66 20 28 6c 69 73 if (lis
1e20: 74 2e 72 73 69 7a 65 20 3e 3d 20 38 20 26 26 20 t.rsize >= 8 &&
1e30: 6c 69 73 74 2e 72 73 69 7a 65 20 3c 3d 20 33 32 list.rsize <= 32
1e40: 29 20 7b 0a 20 20 20 20 20 20 20 20 20 20 20 20 ) {.
1e50: 69 72 65 74 20 3d 20 20 28 28 5f 5f 76 61 77 6f iret = ((__vawo
1e60: 72 64 29 28 28 75 6e 73 69 67 6e 65 64 20 63 68 rd)((unsigned ch
1e70: 61 72 20 2a 29 20 6c 69 73 74 2e 72 61 64 64 72 ar *) list.raddr
1e80: 29 5b 30 5d 20 3c 3c 20 35 36 29 0a 20 20 20 20 )[0] << 56).
1e90: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 7c 20 |
1ea0: 28 28 5f 5f 76 61 77 6f 72 64 29 28 28 75 6e 73 ((__vaword)((uns
1eb0: 69 67 6e 65 64 20 63 68 61 72 20 2a 29 20 6c 69 igned char *) li
1ec0: 73 74 2e 72 61 64 64 72 29 5b 31 5d 20 3c 3c 20 st.raddr)[1] <<
1ed0: 34 38 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 48).
1ee0: 20 20 20 20 20 20 7c 20 28 28 5f 5f 76 61 77 6f | ((__vawo
1ef0: 72 64 29 28 28 75 6e 73 69 67 6e 65 64 20 63 68 rd)((unsigned ch
1f00: 61 72 20 2a 29 20 6c 69 73 74 2e 72 61 64 64 72 ar *) list.raddr
1f10: 29 5b 32 5d 20 3c 3c 20 34 30 29 0a 20 20 20 20 )[2] << 40).
1f20: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 7c 20 |
1f30: 28 28 5f 5f 76 61 77 6f 72 64 29 28 28 75 6e 73 ((__vaword)((uns
1f40: 69 67 6e 65 64 20 63 68 61 72 20 2a 29 20 6c 69 igned char *) li
1f50: 73 74 2e 72 61 64 64 72 29 5b 33 5d 20 3c 3c 20 st.raddr)[3] <<
1f60: 33 32 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 32).
1f70: 20 20 20 20 20 20 7c 20 28 28 5f 5f 76 61 77 6f | ((__vawo
1f80: 72 64 29 28 28 75 6e 73 69 67 6e 65 64 20 63 68 rd)((unsigned ch
1f90: 61 72 20 2a 29 20 6c 69 73 74 2e 72 61 64 64 72 ar *) list.raddr
1fa0: 29 5b 34 5d 20 3c 3c 20 32 34 29 0a 20 20 20 20 )[4] << 24).
1fb0: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 7c 20 |
1fc0: 28 28 5f 5f 76 61 77 6f 72 64 29 28 28 75 6e 73 ((__vaword)((uns
1fd0: 69 67 6e 65 64 20 63 68 61 72 20 2a 29 20 6c 69 igned char *) li
1fe0: 73 74 2e 72 61 64 64 72 29 5b 35 5d 20 3c 3c 20 st.raddr)[5] <<
1ff0: 31 36 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 16).
2000: 20 20 20 20 20 20 7c 20 28 28 5f 5f 76 61 77 6f | ((__vawo
2010: 72 64 29 28 28 75 6e 73 69 67 6e 65 64 20 63 68 rd)((unsigned ch
2020: 61 72 20 2a 29 20 6c 69 73 74 2e 72 61 64 64 72 ar *) list.raddr
2030: 29 5b 36 5d 20 3c 3c 20 38 29 0a 20 20 20 20 20 )[6] << 8).
2040: 20 20 20 20 20 20 20 20 20 20 20 20 20 7c 20 20 |
2050: 28 5f 5f 76 61 77 6f 72 64 29 28 28 75 6e 73 69 (__vaword)((unsi
2060: 67 6e 65 64 20 63 68 61 72 20 2a 29 20 6c 69 73 gned char *) lis
2070: 74 2e 72 61 64 64 72 29 5b 37 5d 3b 0a 20 20 20 t.raddr)[7];.
2080: 20 20 20 20 20 20 20 20 20 69 66 20 28 6c 69 73 if (lis
2090: 74 2e 72 73 69 7a 65 20 3d 3d 20 38 29 20 7b 0a t.rsize == 8) {.
20a0: 20 20 20 20 20 20 20 20 20 20 20 20 7d 20 65 6c } el
20b0: 73 65 0a 20 20 20 20 20 20 20 20 20 20 20 20 69 se. i
20c0: 66 20 28 6c 69 73 74 2e 72 73 69 7a 65 20 3d 3d f (list.rsize ==
20d0: 20 39 29 20 7b 0a 20 20 20 20 20 20 20 20 20 20 9) {.
20e0: 20 20 20 20 6f 31 20 3d 20 20 20 28 5f 5f 76 61 o1 = (__va
20f0: 77 6f 72 64 29 28 28 75 6e 73 69 67 6e 65 64 20 word)((unsigned
2100: 63 68 61 72 20 2a 29 20 6c 69 73 74 2e 72 61 64 char *) list.rad
2110: 64 72 29 5b 38 5d 20 3c 3c 20 35 36 3b 0a 20 20 dr)[8] << 56;.
2120: 20 20 20 20 20 20 20 20 20 20 7d 20 65 6c 73 65 } else
2130: 0a 20 20 20 20 20 20 20 20 20 20 20 20 69 66 20 . if
2140: 28 6c 69 73 74 2e 72 73 69 7a 65 20 3d 3d 20 31 (list.rsize == 1
2150: 30 29 20 7b 0a 20 20 20 20 20 20 20 20 20 20 20 0) {.
2160: 20 20 20 6f 31 20 3d 20 20 28 28 5f 5f 76 61 77 o1 = ((__vaw
2170: 6f 72 64 29 28 28 75 6e 73 69 67 6e 65 64 20 63 ord)((unsigned c
2180: 68 61 72 20 2a 29 20 6c 69 73 74 2e 72 61 64 64 har *) list.radd
2190: 72 29 5b 38 5d 20 3c 3c 20 35 36 29 0a 20 20 20 r)[8] << 56).
21a0: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 7c |
21b0: 20 28 28 5f 5f 76 61 77 6f 72 64 29 28 28 75 6e ((__vaword)((un
21c0: 73 69 67 6e 65 64 20 63 68 61 72 20 2a 29 20 6c signed char *) l
21d0: 69 73 74 2e 72 61 64 64 72 29 5b 39 5d 20 3c 3c ist.raddr)[9] <<
21e0: 20 34 38 29 3b 0a 20 20 20 20 20 20 20 20 20 20 48);.
21f0: 20 20 7d 20 65 6c 73 65 0a 20 20 20 20 20 20 20 } else.
2200: 20 20 20 20 20 69 66 20 28 6c 69 73 74 2e 72 73 if (list.rs
2210: 69 7a 65 20 3d 3d 20 31 31 29 20 7b 0a 20 20 20 ize == 11) {.
2220: 20 20 20 20 20 20 20 20 20 20 20 6f 31 20 3d 20 o1 =
2230: 20 28 28 5f 5f 76 61 77 6f 72 64 29 28 28 75 6e ((__vaword)((un
2240: 73 69 67 6e 65 64 20 63 68 61 72 20 2a 29 20 6c signed char *) l
2250: 69 73 74 2e 72 61 64 64 72 29 5b 38 5d 20 3c 3c ist.raddr)[8] <<
2260: 20 35 36 29 0a 20 20 20 20 20 20 20 20 20 20 20 56).
2270: 20 20 20 20 20 20 20 7c 20 28 28 5f 5f 76 61 77 | ((__vaw
2280: 6f 72 64 29 28 28 75 6e 73 69 67 6e 65 64 20 63 ord)((unsigned c
2290: 68 61 72 20 2a 29 20 6c 69 73 74 2e 72 61 64 64 har *) list.radd
22a0: 72 29 5b 39 5d 20 3c 3c 20 34 38 29 0a 20 20 20 r)[9] << 48).
22b0: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 7c |
22c0: 20 28 28 5f 5f 76 61 77 6f 72 64 29 28 28 75 6e ((__vaword)((un
22d0: 73 69 67 6e 65 64 20 63 68 61 72 20 2a 29 20 6c signed char *) l
22e0: 69 73 74 2e 72 61 64 64 72 29 5b 31 30 5d 20 3c ist.raddr)[10] <
22f0: 3c 20 34 30 29 3b 0a 20 20 20 20 20 20 20 20 20 < 40);.
2300: 20 20 20 7d 20 65 6c 73 65 0a 20 20 20 20 20 20 } else.
2310: 20 20 20 20 20 20 69 66 20 28 6c 69 73 74 2e 72 if (list.r
2320: 73 69 7a 65 20 3d 3d 20 31 32 29 20 7b 0a 20 20 size == 12) {.
2330: 20 20 20 20 20 20 20 20 20 20 20 20 6f 31 20 3d o1 =
2340: 20 20 28 28 5f 5f 76 61 77 6f 72 64 29 28 28 75 ((__vaword)((u
2350: 6e 73 69 67 6e 65 64 20 63 68 61 72 20 2a 29 20 nsigned char *)
2360: 6c 69 73 74 2e 72 61 64 64 72 29 5b 38 5d 20 3c list.raddr)[8] <
2370: 3c 20 35 36 29 0a 20 20 20 20 20 20 20 20 20 20 < 56).
2380: 20 20 20 20 20 20 20 20 7c 20 28 28 5f 5f 76 61 | ((__va
2390: 77 6f 72 64 29 28 28 75 6e 73 69 67 6e 65 64 20 word)((unsigned
23a0: 63 68 61 72 20 2a 29 20 6c 69 73 74 2e 72 61 64 char *) list.rad
23b0: 64 72 29 5b 39 5d 20 3c 3c 20 34 38 29 0a 20 20 dr)[9] << 48).
23c0: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
23d0: 7c 20 28 28 5f 5f 76 61 77 6f 72 64 29 28 28 75 | ((__vaword)((u
23e0: 6e 73 69 67 6e 65 64 20 63 68 61 72 20 2a 29 20 nsigned char *)
23f0: 6c 69 73 74 2e 72 61 64 64 72 29 5b 31 30 5d 20 list.raddr)[10]
2400: 3c 3c 20 34 30 29 0a 20 20 20 20 20 20 20 20 20 << 40).
2410: 20 20 20 20 20 20 20 20 20 7c 20 28 28 5f 5f 76 | ((__v
2420: 61 77 6f 72 64 29 28 28 75 6e 73 69 67 6e 65 64 aword)((unsigned
2430: 20 63 68 61 72 20 2a 29 20 6c 69 73 74 2e 72 61 char *) list.ra
2440: 64 64 72 29 5b 31 31 5d 20 3c 3c 20 33 32 29 3b ddr)[11] << 32);
2450: 0a 20 20 20 20 20 20 20 20 20 20 20 20 7d 20 65 . } e
2460: 6c 73 65 0a 20 20 20 20 20 20 20 20 20 20 20 20 lse.
2470: 69 66 20 28 6c 69 73 74 2e 72 73 69 7a 65 20 3d if (list.rsize =
2480: 3d 20 31 33 29 20 7b 0a 20 20 20 20 20 20 20 20 = 13) {.
2490: 20 20 20 20 20 20 6f 31 20 3d 20 20 28 28 5f 5f o1 = ((__
24a0: 76 61 77 6f 72 64 29 28 28 75 6e 73 69 67 6e 65 vaword)((unsigne
24b0: 64 20 63 68 61 72 20 2a 29 20 6c 69 73 74 2e 72 d char *) list.r
24c0: 61 64 64 72 29 5b 38 5d 20 3c 3c 20 35 36 29 0a addr)[8] << 56).
24d0: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
24e0: 20 20 7c 20 28 28 5f 5f 76 61 77 6f 72 64 29 28 | ((__vaword)(
24f0: 28 75 6e 73 69 67 6e 65 64 20 63 68 61 72 20 2a (unsigned char *
2500: 29 20 6c 69 73 74 2e 72 61 64 64 72 29 5b 39 5d ) list.raddr)[9]
2510: 20 3c 3c 20 34 38 29 0a 20 20 20 20 20 20 20 20 << 48).
2520: 20 20 20 20 20 20 20 20 20 20 7c 20 28 28 5f 5f | ((__
2530: 76 61 77 6f 72 64 29 28 28 75 6e 73 69 67 6e 65 vaword)((unsigne
2540: 64 20 63 68 61 72 20 2a 29 20 6c 69 73 74 2e 72 d char *) list.r
2550: 61 64 64 72 29 5b 31 30 5d 20 3c 3c 20 34 30 29 addr)[10] << 40)
2560: 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 .
2570: 20 20 20 7c 20 28 28 5f 5f 76 61 77 6f 72 64 29 | ((__vaword)
2580: 28 28 75 6e 73 69 67 6e 65 64 20 63 68 61 72 20 ((unsigned char
2590: 2a 29 20 6c 69 73 74 2e 72 61 64 64 72 29 5b 31 *) list.raddr)[1
25a0: 31 5d 20 3c 3c 20 33 32 29 0a 20 20 20 20 20 20 1] << 32).
25b0: 20 20 20 20 20 20 20 20 20 20 20 20 7c 20 28 28 | ((
25c0: 5f 5f 76 61 77 6f 72 64 29 28 28 75 6e 73 69 67 __vaword)((unsig
25d0: 6e 65 64 20 63 68 61 72 20 2a 29 20 6c 69 73 74 ned char *) list
25e0: 2e 72 61 64 64 72 29 5b 31 32 5d 20 3c 3c 20 32 .raddr)[12] << 2
25f0: 34 29 3b 0a 20 20 20 20 20 20 20 20 20 20 20 20 4);.
2600: 7d 20 65 6c 73 65 0a 20 20 20 20 20 20 20 20 20 } else.
2610: 20 20 20 69 66 20 28 6c 69 73 74 2e 72 73 69 7a if (list.rsiz
2620: 65 20 3d 3d 20 31 34 29 20 7b 0a 20 20 20 20 20 e == 14) {.
2630: 20 20 20 20 20 20 20 20 20 6f 31 20 3d 20 20 28 o1 = (
2640: 28 5f 5f 76 61 77 6f 72 64 29 28 28 75 6e 73 69 (__vaword)((unsi
2650: 67 6e 65 64 20 63 68 61 72 20 2a 29 20 6c 69 73 gned char *) lis
2660: 74 2e 72 61 64 64 72 29 5b 38 5d 20 3c 3c 20 35 t.raddr)[8] << 5
2670: 36 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 6).
2680: 20 20 20 20 20 7c 20 28 28 5f 5f 76 61 77 6f 72 | ((__vawor
2690: 64 29 28 28 75 6e 73 69 67 6e 65 64 20 63 68 61 d)((unsigned cha
26a0: 72 20 2a 29 20 6c 69 73 74 2e 72 61 64 64 72 29 r *) list.raddr)
26b0: 5b 39 5d 20 3c 3c 20 34 38 29 0a 20 20 20 20 20 [9] << 48).
26c0: 20 20 20 20 20 20 20 20 20 20 20 20 20 7c 20 28 | (
26d0: 28 5f 5f 76 61 77 6f 72 64 29 28 28 75 6e 73 69 (__vaword)((unsi
26e0: 67 6e 65 64 20 63 68 61 72 20 2a 29 20 6c 69 73 gned char *) lis
26f0: 74 2e 72 61 64 64 72 29 5b 31 30 5d 20 3c 3c 20 t.raddr)[10] <<
2700: 34 30 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 40).
2710: 20 20 20 20 20 20 7c 20 28 28 5f 5f 76 61 77 6f | ((__vawo
2720: 72 64 29 28 28 75 6e 73 69 67 6e 65 64 20 63 68 rd)((unsigned ch
2730: 61 72 20 2a 29 20 6c 69 73 74 2e 72 61 64 64 72 ar *) list.raddr
2740: 29 5b 31 31 5d 20 3c 3c 20 33 32 29 0a 20 20 20 )[11] << 32).
2750: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 7c |
2760: 20 28 28 5f 5f 76 61 77 6f 72 64 29 28 28 75 6e ((__vaword)((un
2770: 73 69 67 6e 65 64 20 63 68 61 72 20 2a 29 20 6c signed char *) l
2780: 69 73 74 2e 72 61 64 64 72 29 5b 31 32 5d 20 3c ist.raddr)[12] <
2790: 3c 20 32 34 29 0a 20 20 20 20 20 20 20 20 20 20 < 24).
27a0: 20 20 20 20 20 20 20 20 7c 20 28 28 5f 5f 76 61 | ((__va
27b0: 77 6f 72 64 29 28 28 75 6e 73 69 67 6e 65 64 20 word)((unsigned
27c0: 63 68 61 72 20 2a 29 20 6c 69 73 74 2e 72 61 64 char *) list.rad
27d0: 64 72 29 5b 31 33 5d 20 3c 3c 20 31 36 29 3b 0a dr)[13] << 16);.
27e0: 20 20 20 20 20 20 20 20 20 20 20 20 7d 20 65 6c } el
27f0: 73 65 0a 20 20 20 20 20 20 20 20 20 20 20 20 69 se. i
2800: 66 20 28 6c 69 73 74 2e 72 73 69 7a 65 20 3d 3d f (list.rsize ==
2810: 20 31 35 29 20 7b 0a 20 20 20 20 20 20 20 20 20 15) {.
2820: 20 20 20 20 20 6f 31 20 3d 20 20 28 28 5f 5f 76 o1 = ((__v
2830: 61 77 6f 72 64 29 28 28 75 6e 73 69 67 6e 65 64 aword)((unsigned
2840: 20 63 68 61 72 20 2a 29 20 6c 69 73 74 2e 72 61 char *) list.ra
2850: 64 64 72 29 5b 38 5d 20 3c 3c 20 35 36 29 0a 20 ddr)[8] << 56).
2860: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
2870: 20 7c 20 28 28 5f 5f 76 61 77 6f 72 64 29 28 28 | ((__vaword)((
2880: 75 6e 73 69 67 6e 65 64 20 63 68 61 72 20 2a 29 unsigned char *)
2890: 20 6c 69 73 74 2e 72 61 64 64 72 29 5b 39 5d 20 list.raddr)[9]
28a0: 3c 3c 20 34 38 29 0a 20 20 20 20 20 20 20 20 20 << 48).
28b0: 20 20 20 20 20 20 20 20 20 7c 20 28 28 5f 5f 76 | ((__v
28c0: 61 77 6f 72 64 29 28 28 75 6e 73 69 67 6e 65 64 aword)((unsigned
28d0: 20 63 68 61 72 20 2a 29 20 6c 69 73 74 2e 72 61 char *) list.ra
28e0: 64 64 72 29 5b 31 30 5d 20 3c 3c 20 34 30 29 0a ddr)[10] << 40).
28f0: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
2900: 20 20 7c 20 28 28 5f 5f 76 61 77 6f 72 64 29 28 | ((__vaword)(
2910: 28 75 6e 73 69 67 6e 65 64 20 63 68 61 72 20 2a (unsigned char *
2920: 29 20 6c 69 73 74 2e 72 61 64 64 72 29 5b 31 31 ) list.raddr)[11
2930: 5d 20 3c 3c 20 33 32 29 0a 20 20 20 20 20 20 20 ] << 32).
2940: 20 20 20 20 20 20 20 20 20 20 20 7c 20 28 28 5f | ((_
2950: 5f 76 61 77 6f 72 64 29 28 28 75 6e 73 69 67 6e _vaword)((unsign
2960: 65 64 20 63 68 61 72 20 2a 29 20 6c 69 73 74 2e ed char *) list.
2970: 72 61 64 64 72 29 5b 31 32 5d 20 3c 3c 20 32 34 raddr)[12] << 24
2980: 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 ).
2990: 20 20 20 20 7c 20 28 28 5f 5f 76 61 77 6f 72 64 | ((__vaword
29a0: 29 28 28 75 6e 73 69 67 6e 65 64 20 63 68 61 72 )((unsigned char
29b0: 20 2a 29 20 6c 69 73 74 2e 72 61 64 64 72 29 5b *) list.raddr)[
29c0: 31 33 5d 20 3c 3c 20 31 36 29 0a 20 20 20 20 20 13] << 16).
29d0: 20 20 20 20 20 20 20 20 20 20 20 20 20 7c 20 28 | (
29e0: 28 5f 5f 76 61 77 6f 72 64 29 28 28 75 6e 73 69 (__vaword)((unsi
29f0: 67 6e 65 64 20 63 68 61 72 20 2a 29 20 6c 69 73 gned char *) lis
2a00: 74 2e 72 61 64 64 72 29 5b 31 34 5d 20 3c 3c 20 t.raddr)[14] <<
2a10: 38 29 3b 0a 20 20 20 20 20 20 20 20 20 20 20 20 8);.
2a20: 7d 20 65 6c 73 65 0a 20 20 20 20 20 20 20 20 20 } else.
2a30: 20 20 20 69 66 20 28 6c 69 73 74 2e 72 73 69 7a if (list.rsiz
2a40: 65 20 3e 3d 20 31 36 20 26 26 20 6c 69 73 74 2e e >= 16 && list.
2a50: 72 73 69 7a 65 20 3c 3d 20 33 32 29 20 7b 0a 20 rsize <= 32) {.
2a60: 20 20 20 20 20 20 20 20 20 20 20 20 20 6f 31 20 o1
2a70: 3d 20 20 28 28 5f 5f 76 61 77 6f 72 64 29 28 28 = ((__vaword)((
2a80: 75 6e 73 69 67 6e 65 64 20 63 68 61 72 20 2a 29 unsigned char *)
2a90: 20 6c 69 73 74 2e 72 61 64 64 72 29 5b 38 5d 20 list.raddr)[8]
2aa0: 3c 3c 20 35 36 29 0a 20 20 20 20 20 20 20 20 20 << 56).
2ab0: 20 20 20 20 20 20 20 20 20 7c 20 28 28 5f 5f 76 | ((__v
2ac0: 61 77 6f 72 64 29 28 28 75 6e 73 69 67 6e 65 64 aword)((unsigned
2ad0: 20 63 68 61 72 20 2a 29 20 6c 69 73 74 2e 72 61 char *) list.ra
2ae0: 64 64 72 29 5b 39 5d 20 3c 3c 20 34 38 29 0a 20 ddr)[9] << 48).
2af0: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
2b00: 20 7c 20 28 28 5f 5f 76 61 77 6f 72 64 29 28 28 | ((__vaword)((
2b10: 75 6e 73 69 67 6e 65 64 20 63 68 61 72 20 2a 29 unsigned char *)
2b20: 20 6c 69 73 74 2e 72 61 64 64 72 29 5b 31 30 5d list.raddr)[10]
2b30: 20 3c 3c 20 34 30 29 0a 20 20 20 20 20 20 20 20 << 40).
2b40: 20 20 20 20 20 20 20 20 20 20 7c 20 28 28 5f 5f | ((__
2b50: 76 61 77 6f 72 64 29 28 28 75 6e 73 69 67 6e 65 vaword)((unsigne
2b60: 64 20 63 68 61 72 20 2a 29 20 6c 69 73 74 2e 72 d char *) list.r
2b70: 61 64 64 72 29 5b 31 31 5d 20 3c 3c 20 33 32 29 addr)[11] << 32)
2b80: 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 .
2b90: 20 20 20 7c 20 28 28 5f 5f 76 61 77 6f 72 64 29 | ((__vaword)
2ba0: 28 28 75 6e 73 69 67 6e 65 64 20 63 68 61 72 20 ((unsigned char
2bb0: 2a 29 20 6c 69 73 74 2e 72 61 64 64 72 29 5b 31 *) list.raddr)[1
2bc0: 32 5d 20 3c 3c 20 32 34 29 0a 20 20 20 20 20 20 2] << 24).
2bd0: 20 20 20 20 20 20 20 20 20 20 20 20 7c 20 28 28 | ((
2be0: 5f 5f 76 61 77 6f 72 64 29 28 28 75 6e 73 69 67 __vaword)((unsig
2bf0: 6e 65 64 20 63 68 61 72 20 2a 29 20 6c 69 73 74 ned char *) list
2c00: 2e 72 61 64 64 72 29 5b 31 33 5d 20 3c 3c 20 31 .raddr)[13] << 1
2c10: 36 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 6).
2c20: 20 20 20 20 20 7c 20 28 28 5f 5f 76 61 77 6f 72 | ((__vawor
2c30: 64 29 28 28 75 6e 73 69 67 6e 65 64 20 63 68 61 d)((unsigned cha
2c40: 72 20 2a 29 20 6c 69 73 74 2e 72 61 64 64 72 29 r *) list.raddr)
2c50: 5b 31 34 5d 20 3c 3c 20 38 29 0a 20 20 20 20 20 [14] << 8).
2c60: 20 20 20 20 20 20 20 20 20 20 20 20 20 7c 20 20 |
2c70: 28 5f 5f 76 61 77 6f 72 64 29 28 28 75 6e 73 69 (__vaword)((unsi
2c80: 67 6e 65 64 20 63 68 61 72 20 2a 29 20 6c 69 73 gned char *) lis
2c90: 74 2e 72 61 64 64 72 29 5b 31 35 5d 3b 0a 20 20 t.raddr)[15];.
2ca0: 20 20 20 20 20 20 20 20 20 20 20 20 69 66 20 28 if (
2cb0: 6c 69 73 74 2e 72 73 69 7a 65 20 3d 3d 20 31 36 list.rsize == 16
2cc0: 29 20 7b 0a 20 20 20 20 20 20 20 20 20 20 20 20 ) {.
2cd0: 20 20 7d 20 65 6c 73 65 0a 20 20 20 20 20 20 20 } else.
2ce0: 20 20 20 20 20 20 20 69 66 20 28 6c 69 73 74 2e if (list.
2cf0: 72 73 69 7a 65 20 3d 3d 20 31 37 29 20 7b 0a 20 rsize == 17) {.
2d00: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 6f o
2d10: 32 20 3d 20 20 20 28 5f 5f 76 61 77 6f 72 64 29 2 = (__vaword)
2d20: 28 28 75 6e 73 69 67 6e 65 64 20 63 68 61 72 20 ((unsigned char
2d30: 2a 29 20 6c 69 73 74 2e 72 61 64 64 72 29 5b 31 *) list.raddr)[1
2d40: 36 5d 20 3c 3c 20 35 36 3b 0a 20 20 20 20 20 20 6] << 56;.
2d50: 20 20 20 20 20 20 20 20 7d 20 65 6c 73 65 0a 20 } else.
2d60: 20 20 20 20 20 20 20 20 20 20 20 20 20 69 66 20 if
2d70: 28 6c 69 73 74 2e 72 73 69 7a 65 20 3d 3d 20 31 (list.rsize == 1
2d80: 38 29 20 7b 0a 20 20 20 20 20 20 20 20 20 20 20 8) {.
2d90: 20 20 20 20 20 6f 32 20 3d 20 20 28 28 5f 5f 76 o2 = ((__v
2da0: 61 77 6f 72 64 29 28 28 75 6e 73 69 67 6e 65 64 aword)((unsigned
2db0: 20 63 68 61 72 20 2a 29 20 6c 69 73 74 2e 72 61 char *) list.ra
2dc0: 64 64 72 29 5b 31 36 5d 20 3c 3c 20 35 36 29 0a ddr)[16] << 56).
2dd0: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
2de0: 20 20 20 20 7c 20 28 28 5f 5f 76 61 77 6f 72 64 | ((__vaword
2df0: 29 28 28 75 6e 73 69 67 6e 65 64 20 63 68 61 72 )((unsigned char
2e00: 20 2a 29 20 6c 69 73 74 2e 72 61 64 64 72 29 5b *) list.raddr)[
2e10: 31 37 5d 20 3c 3c 20 34 38 29 3b 0a 20 20 20 20 17] << 48);.
2e20: 20 20 20 20 20 20 20 20 20 20 7d 20 65 6c 73 65 } else
2e30: 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 69 . i
2e40: 66 20 28 6c 69 73 74 2e 72 73 69 7a 65 20 3d 3d f (list.rsize ==
2e50: 20 31 39 29 20 7b 0a 20 20 20 20 20 20 20 20 20 19) {.
2e60: 20 20 20 20 20 20 20 6f 32 20 3d 20 20 28 28 5f o2 = ((_
2e70: 5f 76 61 77 6f 72 64 29 28 28 75 6e 73 69 67 6e _vaword)((unsign
2e80: 65 64 20 63 68 61 72 20 2a 29 20 6c 69 73 74 2e ed char *) list.
2e90: 72 61 64 64 72 29 5b 31 36 5d 20 3c 3c 20 35 36 raddr)[16] << 56
2ea0: 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 ).
2eb0: 20 20 20 20 20 20 7c 20 28 28 5f 5f 76 61 77 6f | ((__vawo
2ec0: 72 64 29 28 28 75 6e 73 69 67 6e 65 64 20 63 68 rd)((unsigned ch
2ed0: 61 72 20 2a 29 20 6c 69 73 74 2e 72 61 64 64 72 ar *) list.raddr
2ee0: 29 5b 31 37 5d 20 3c 3c 20 34 38 29 0a 20 20 20 )[17] << 48).
2ef0: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
2f00: 20 7c 20 28 28 5f 5f 76 61 77 6f 72 64 29 28 28 | ((__vaword)((
2f10: 75 6e 73 69 67 6e 65 64 20 63 68 61 72 20 2a 29 unsigned char *)
2f20: 20 6c 69 73 74 2e 72 61 64 64 72 29 5b 31 38 5d list.raddr)[18]
2f30: 20 3c 3c 20 34 30 29 3b 0a 20 20 20 20 20 20 20 << 40);.
2f40: 20 20 20 20 20 20 20 7d 20 65 6c 73 65 0a 20 20 } else.
2f50: 20 20 20 20 20 20 20 20 20 20 20 20 69 66 20 28 if (
2f60: 6c 69 73 74 2e 72 73 69 7a 65 20 3d 3d 20 32 30 list.rsize == 20
2f70: 29 20 7b 0a 20 20 20 20 20 20 20 20 20 20 20 20 ) {.
2f80: 20 20 20 20 6f 32 20 3d 20 20 28 28 5f 5f 76 61 o2 = ((__va
2f90: 77 6f 72 64 29 28 28 75 6e 73 69 67 6e 65 64 20 word)((unsigned
2fa0: 63 68 61 72 20 2a 29 20 6c 69 73 74 2e 72 61 64 char *) list.rad
2fb0: 64 72 29 5b 31 36 5d 20 3c 3c 20 35 36 29 0a 20 dr)[16] << 56).
2fc0: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
2fd0: 20 20 20 7c 20 28 28 5f 5f 76 61 77 6f 72 64 29 | ((__vaword)
2fe0: 28 28 75 6e 73 69 67 6e 65 64 20 63 68 61 72 20 ((unsigned char
2ff0: 2a 29 20 6c 69 73 74 2e 72 61 64 64 72 29 5b 31 *) list.raddr)[1
3000: 37 5d 20 3c 3c 20 34 38 29 0a 20 20 20 20 20 20 7] << 48).
3010: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 7c 20 |
3020: 28 28 5f 5f 76 61 77 6f 72 64 29 28 28 75 6e 73 ((__vaword)((uns
3030: 69 67 6e 65 64 20 63 68 61 72 20 2a 29 20 6c 69 igned char *) li
3040: 73 74 2e 72 61 64 64 72 29 5b 31 38 5d 20 3c 3c st.raddr)[18] <<
3050: 20 34 30 29 0a 20 20 20 20 20 20 20 20 20 20 20 40).
3060: 20 20 20 20 20 20 20 20 20 7c 20 28 28 5f 5f 76 | ((__v
3070: 61 77 6f 72 64 29 28 28 75 6e 73 69 67 6e 65 64 aword)((unsigned
3080: 20 63 68 61 72 20 2a 29 20 6c 69 73 74 2e 72 61 char *) list.ra
3090: 64 64 72 29 5b 31 39 5d 20 3c 3c 20 33 32 29 3b ddr)[19] << 32);
30a0: 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 7d . }
30b0: 20 65 6c 73 65 0a 20 20 20 20 20 20 20 20 20 20 else.
30c0: 20 20 20 20 69 66 20 28 6c 69 73 74 2e 72 73 69 if (list.rsi
30d0: 7a 65 20 3d 3d 20 32 31 29 20 7b 0a 20 20 20 20 ze == 21) {.
30e0: 20 20 20 20 20 20 20 20 20 20 20 20 6f 32 20 3d o2 =
30f0: 20 20 28 28 5f 5f 76 61 77 6f 72 64 29 28 28 75 ((__vaword)((u
3100: 6e 73 69 67 6e 65 64 20 63 68 61 72 20 2a 29 20 nsigned char *)
3110: 6c 69 73 74 2e 72 61 64 64 72 29 5b 31 36 5d 20 list.raddr)[16]
3120: 3c 3c 20 35 36 29 0a 20 20 20 20 20 20 20 20 20 << 56).
3130: 20 20 20 20 20 20 20 20 20 20 20 7c 20 28 28 5f | ((_
3140: 5f 76 61 77 6f 72 64 29 28 28 75 6e 73 69 67 6e _vaword)((unsign
3150: 65 64 20 63 68 61 72 20 2a 29 20 6c 69 73 74 2e ed char *) list.
3160: 72 61 64 64 72 29 5b 31 37 5d 20 3c 3c 20 34 38 raddr)[17] << 48
3170: 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 ).
3180: 20 20 20 20 20 20 7c 20 28 28 5f 5f 76 61 77 6f | ((__vawo
3190: 72 64 29 28 28 75 6e 73 69 67 6e 65 64 20 63 68 rd)((unsigned ch
31a0: 61 72 20 2a 29 20 6c 69 73 74 2e 72 61 64 64 72 ar *) list.raddr
31b0: 29 5b 31 38 5d 20 3c 3c 20 34 30 29 0a 20 20 20 )[18] << 40).
31c0: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
31d0: 20 7c 20 28 28 5f 5f 76 61 77 6f 72 64 29 28 28 | ((__vaword)((
31e0: 75 6e 73 69 67 6e 65 64 20 63 68 61 72 20 2a 29 unsigned char *)
31f0: 20 6c 69 73 74 2e 72 61 64 64 72 29 5b 31 39 5d list.raddr)[19]
3200: 20 3c 3c 20 33 32 29 0a 20 20 20 20 20 20 20 20 << 32).
3210: 20 20 20 20 20 20 20 20 20 20 20 20 7c 20 28 28 | ((
3220: 5f 5f 76 61 77 6f 72 64 29 28 28 75 6e 73 69 67 __vaword)((unsig
3230: 6e 65 64 20 63 68 61 72 20 2a 29 20 6c 69 73 74 ned char *) list
3240: 2e 72 61 64 64 72 29 5b 32 30 5d 20 3c 3c 20 32 .raddr)[20] << 2
3250: 34 29 3b 0a 20 20 20 20 20 20 20 20 20 20 20 20 4);.
3260: 20 20 7d 20 65 6c 73 65 0a 20 20 20 20 20 20 20 } else.
3270: 20 20 20 20 20 20 20 69 66 20 28 6c 69 73 74 2e if (list.
3280: 72 73 69 7a 65 20 3d 3d 20 32 32 29 20 7b 0a 20 rsize == 22) {.
3290: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 6f o
32a0: 32 20 3d 20 20 28 28 5f 5f 76 61 77 6f 72 64 29 2 = ((__vaword)
32b0: 28 28 75 6e 73 69 67 6e 65 64 20 63 68 61 72 20 ((unsigned char
32c0: 2a 29 20 6c 69 73 74 2e 72 61 64 64 72 29 5b 31 *) list.raddr)[1
32d0: 36 5d 20 3c 3c 20 35 36 29 0a 20 20 20 20 20 20 6] << 56).
32e0: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 7c 20 |
32f0: 28 28 5f 5f 76 61 77 6f 72 64 29 28 28 75 6e 73 ((__vaword)((uns
3300: 69 67 6e 65 64 20 63 68 61 72 20 2a 29 20 6c 69 igned char *) li
3310: 73 74 2e 72 61 64 64 72 29 5b 31 37 5d 20 3c 3c st.raddr)[17] <<
3320: 20 34 38 29 0a 20 20 20 20 20 20 20 20 20 20 20 48).
3330: 20 20 20 20 20 20 20 20 20 7c 20 28 28 5f 5f 76 | ((__v
3340: 61 77 6f 72 64 29 28 28 75 6e 73 69 67 6e 65 64 aword)((unsigned
3350: 20 63 68 61 72 20 2a 29 20 6c 69 73 74 2e 72 61 char *) list.ra
3360: 64 64 72 29 5b 31 38 5d 20 3c 3c 20 34 30 29 0a ddr)[18] << 40).
3370: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
3380: 20 20 20 20 7c 20 28 28 5f 5f 76 61 77 6f 72 64 | ((__vaword
3390: 29 28 28 75 6e 73 69 67 6e 65 64 20 63 68 61 72 )((unsigned char
33a0: 20 2a 29 20 6c 69 73 74 2e 72 61 64 64 72 29 5b *) list.raddr)[
33b0: 31 39 5d 20 3c 3c 20 33 32 29 0a 20 20 20 20 20 19] << 32).
33c0: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 7c |
33d0: 20 28 28 5f 5f 76 61 77 6f 72 64 29 28 28 75 6e ((__vaword)((un
33e0: 73 69 67 6e 65 64 20 63 68 61 72 20 2a 29 20 6c signed char *) l
33f0: 69 73 74 2e 72 61 64 64 72 29 5b 32 30 5d 20 3c ist.raddr)[20] <
3400: 3c 20 32 34 29 0a 20 20 20 20 20 20 20 20 20 20 < 24).
3410: 20 20 20 20 20 20 20 20 20 20 7c 20 28 28 5f 5f | ((__
3420: 76 61 77 6f 72 64 29 28 28 75 6e 73 69 67 6e 65 vaword)((unsigne
3430: 64 20 63 68 61 72 20 2a 29 20 6c 69 73 74 2e 72 d char *) list.r
3440: 61 64 64 72 29 5b 32 31 5d 20 3c 3c 20 31 36 29 addr)[21] << 16)
3450: 3b 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 ;.
3460: 7d 20 65 6c 73 65 0a 20 20 20 20 20 20 20 20 20 } else.
3470: 20 20 20 20 20 69 66 20 28 6c 69 73 74 2e 72 73 if (list.rs
3480: 69 7a 65 20 3d 3d 20 32 33 29 20 7b 0a 20 20 20 ize == 23) {.
3490: 20 20 20 20 20 20 20 20 20 20 20 20 20 6f 32 20 o2
34a0: 3d 20 20 28 28 5f 5f 76 61 77 6f 72 64 29 28 28 = ((__vaword)((
34b0: 75 6e 73 69 67 6e 65 64 20 63 68 61 72 20 2a 29 unsigned char *)
34c0: 20 6c 69 73 74 2e 72 61 64 64 72 29 5b 31 36 5d list.raddr)[16]
34d0: 20 3c 3c 20 35 36 29 0a 20 20 20 20 20 20 20 20 << 56).
34e0: 20 20 20 20 20 20 20 20 20 20 20 20 7c 20 28 28 | ((
34f0: 5f 5f 76 61 77 6f 72 64 29 28 28 75 6e 73 69 67 __vaword)((unsig
3500: 6e 65 64 20 63 68 61 72 20 2a 29 20 6c 69 73 74 ned char *) list
3510: 2e 72 61 64 64 72 29 5b 31 37 5d 20 3c 3c 20 34 .raddr)[17] << 4
3520: 38 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 8).
3530: 20 20 20 20 20 20 20 7c 20 28 28 5f 5f 76 61 77 | ((__vaw
3540: 6f 72 64 29 28 28 75 6e 73 69 67 6e 65 64 20 63 ord)((unsigned c
3550: 68 61 72 20 2a 29 20 6c 69 73 74 2e 72 61 64 64 har *) list.radd
3560: 72 29 5b 31 38 5d 20 3c 3c 20 34 30 29 0a 20 20 r)[18] << 40).
3570: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
3580: 20 20 7c 20 28 28 5f 5f 76 61 77 6f 72 64 29 28 | ((__vaword)(
3590: 28 75 6e 73 69 67 6e 65 64 20 63 68 61 72 20 2a (unsigned char *
35a0: 29 20 6c 69 73 74 2e 72 61 64 64 72 29 5b 31 39 ) list.raddr)[19
35b0: 5d 20 3c 3c 20 33 32 29 0a 20 20 20 20 20 20 20 ] << 32).
35c0: 20 20 20 20 20 20 20 20 20 20 20 20 20 7c 20 28 | (
35d0: 28 5f 5f 76 61 77 6f 72 64 29 28 28 75 6e 73 69 (__vaword)((unsi
35e0: 67 6e 65 64 20 63 68 61 72 20 2a 29 20 6c 69 73 gned char *) lis
35f0: 74 2e 72 61 64 64 72 29 5b 32 30 5d 20 3c 3c 20 t.raddr)[20] <<
3600: 32 34 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 24).
3610: 20 20 20 20 20 20 20 20 7c 20 28 28 5f 5f 76 61 | ((__va
3620: 77 6f 72 64 29 28 28 75 6e 73 69 67 6e 65 64 20 word)((unsigned
3630: 63 68 61 72 20 2a 29 20 6c 69 73 74 2e 72 61 64 char *) list.rad
3640: 64 72 29 5b 32 31 5d 20 3c 3c 20 31 36 29 0a 20 dr)[21] << 16).
3650: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
3660: 20 20 20 7c 20 28 28 5f 5f 76 61 77 6f 72 64 29 | ((__vaword)
3670: 28 28 75 6e 73 69 67 6e 65 64 20 63 68 61 72 20 ((unsigned char
3680: 2a 29 20 6c 69 73 74 2e 72 61 64 64 72 29 5b 32 *) list.raddr)[2
3690: 32 5d 20 3c 3c 20 38 29 3b 0a 20 20 20 20 20 20 2] << 8);.
36a0: 20 20 20 20 20 20 20 20 7d 20 65 6c 73 65 0a 20 } else.
36b0: 20 20 20 20 20 20 20 20 20 20 20 20 20 69 66 20 if
36c0: 28 6c 69 73 74 2e 72 73 69 7a 65 20 3e 3d 20 32 (list.rsize >= 2
36d0: 34 20 26 26 20 6c 69 73 74 2e 72 73 69 7a 65 20 4 && list.rsize
36e0: 3c 3d 20 33 32 29 20 7b 0a 20 20 20 20 20 20 20 <= 32) {.
36f0: 20 20 20 20 20 20 20 20 20 6f 32 20 3d 20 20 28 o2 = (
3700: 28 5f 5f 76 61 77 6f 72 64 29 28 28 75 6e 73 69 (__vaword)((unsi
3710: 67 6e 65 64 20 63 68 61 72 20 2a 29 20 6c 69 73 gned char *) lis
3720: 74 2e 72 61 64 64 72 29 5b 31 36 5d 20 3c 3c 20 t.raddr)[16] <<
3730: 35 36 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 56).
3740: 20 20 20 20 20 20 20 20 7c 20 28 28 5f 5f 76 61 | ((__va
3750: 77 6f 72 64 29 28 28 75 6e 73 69 67 6e 65 64 20 word)((unsigned
3760: 63 68 61 72 20 2a 29 20 6c 69 73 74 2e 72 61 64 char *) list.rad
3770: 64 72 29 5b 31 37 5d 20 3c 3c 20 34 38 29 0a 20 dr)[17] << 48).
3780: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
3790: 20 20 20 7c 20 28 28 5f 5f 76 61 77 6f 72 64 29 | ((__vaword)
37a0: 28 28 75 6e 73 69 67 6e 65 64 20 63 68 61 72 20 ((unsigned char
37b0: 2a 29 20 6c 69 73 74 2e 72 61 64 64 72 29 5b 31 *) list.raddr)[1
37c0: 38 5d 20 3c 3c 20 34 30 29 0a 20 20 20 20 20 20 8] << 40).
37d0: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 7c 20 |
37e0: 28 28 5f 5f 76 61 77 6f 72 64 29 28 28 75 6e 73 ((__vaword)((uns
37f0: 69 67 6e 65 64 20 63 68 61 72 20 2a 29 20 6c 69 igned char *) li
3800: 73 74 2e 72 61 64 64 72 29 5b 31 39 5d 20 3c 3c st.raddr)[19] <<
3810: 20 33 32 29 0a 20 20 20 20 20 20 20 20 20 20 20 32).
3820: 20 20 20 20 20 20 20 20 20 7c 20 28 28 5f 5f 76 | ((__v
3830: 61 77 6f 72 64 29 28 28 75 6e 73 69 67 6e 65 64 aword)((unsigned
3840: 20 63 68 61 72 20 2a 29 20 6c 69 73 74 2e 72 61 char *) list.ra
3850: 64 64 72 29 5b 32 30 5d 20 3c 3c 20 32 34 29 0a ddr)[20] << 24).
3860: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
3870: 20 20 20 20 7c 20 28 28 5f 5f 76 61 77 6f 72 64 | ((__vaword
3880: 29 28 28 75 6e 73 69 67 6e 65 64 20 63 68 61 72 )((unsigned char
3890: 20 2a 29 20 6c 69 73 74 2e 72 61 64 64 72 29 5b *) list.raddr)[
38a0: 32 31 5d 20 3c 3c 20 31 36 29 0a 20 20 20 20 20 21] << 16).
38b0: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 7c |
38c0: 20 28 28 5f 5f 76 61 77 6f 72 64 29 28 28 75 6e ((__vaword)((un
38d0: 73 69 67 6e 65 64 20 63 68 61 72 20 2a 29 20 6c signed char *) l
38e0: 69 73 74 2e 72 61 64 64 72 29 5b 32 32 5d 20 3c ist.raddr)[22] <
38f0: 3c 20 38 29 0a 20 20 20 20 20 20 20 20 20 20 20 < 8).
3900: 20 20 20 20 20 20 20 20 20 7c 20 20 28 5f 5f 76 | (__v
3910: 61 77 6f 72 64 29 28 28 75 6e 73 69 67 6e 65 64 aword)((unsigned
3920: 20 63 68 61 72 20 2a 29 20 6c 69 73 74 2e 72 61 char *) list.ra
3930: 64 64 72 29 5b 32 33 5d 3b 0a 20 20 20 20 20 20 ddr)[23];.
3940: 20 20 20 20 20 20 20 20 20 20 69 66 20 28 6c 69 if (li
3950: 73 74 2e 72 73 69 7a 65 20 3d 3d 20 32 34 29 20 st.rsize == 24)
3960: 7b 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 {.
3970: 20 20 7d 20 65 6c 73 65 0a 20 20 20 20 20 20 20 } else.
3980: 20 20 20 20 20 20 20 20 20 69 66 20 28 6c 69 73 if (lis
3990: 74 2e 72 73 69 7a 65 20 3d 3d 20 32 35 29 20 7b t.rsize == 25) {
39a0: 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 .
39b0: 20 20 20 6f 33 20 3d 20 20 20 28 5f 5f 76 61 77 o3 = (__vaw
39c0: 6f 72 64 29 28 28 75 6e 73 69 67 6e 65 64 20 63 ord)((unsigned c
39d0: 68 61 72 20 2a 29 20 6c 69 73 74 2e 72 61 64 64 har *) list.radd
39e0: 72 29 5b 32 34 5d 20 3c 3c 20 35 36 3b 0a 20 20 r)[24] << 56;.
39f0: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 7d 20 }
3a00: 65 6c 73 65 0a 20 20 20 20 20 20 20 20 20 20 20 else.
3a10: 20 20 20 20 20 69 66 20 28 6c 69 73 74 2e 72 73 if (list.rs
3a20: 69 7a 65 20 3d 3d 20 32 36 29 20 7b 0a 20 20 20 ize == 26) {.
3a30: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 6f o
3a40: 33 20 3d 20 20 28 28 5f 5f 76 61 77 6f 72 64 29 3 = ((__vaword)
3a50: 28 28 75 6e 73 69 67 6e 65 64 20 63 68 61 72 20 ((unsigned char
3a60: 2a 29 20 6c 69 73 74 2e 72 61 64 64 72 29 5b 32 *) list.raddr)[2
3a70: 34 5d 20 3c 3c 20 35 36 29 0a 20 20 20 20 20 20 4] << 56).
3a80: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
3a90: 7c 20 28 28 5f 5f 76 61 77 6f 72 64 29 28 28 75 | ((__vaword)((u
3aa0: 6e 73 69 67 6e 65 64 20 63 68 61 72 20 2a 29 20 nsigned char *)
3ab0: 6c 69 73 74 2e 72 61 64 64 72 29 5b 32 35 5d 20 list.raddr)[25]
3ac0: 3c 3c 20 34 38 29 3b 0a 20 20 20 20 20 20 20 20 << 48);.
3ad0: 20 20 20 20 20 20 20 20 7d 20 65 6c 73 65 0a 20 } else.
3ae0: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 69 i
3af0: 66 20 28 6c 69 73 74 2e 72 73 69 7a 65 20 3d 3d f (list.rsize ==
3b00: 20 32 37 29 20 7b 0a 20 20 20 20 20 20 20 20 20 27) {.
3b10: 20 20 20 20 20 20 20 20 20 6f 33 20 3d 20 20 28 o3 = (
3b20: 28 5f 5f 76 61 77 6f 72 64 29 28 28 75 6e 73 69 (__vaword)((unsi
3b30: 67 6e 65 64 20 63 68 61 72 20 2a 29 20 6c 69 73 gned char *) lis
3b40: 74 2e 72 61 64 64 72 29 5b 32 34 5d 20 3c 3c 20 t.raddr)[24] <<
3b50: 35 36 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 56).
3b60: 20 20 20 20 20 20 20 20 20 20 7c 20 28 28 5f 5f | ((__
3b70: 76 61 77 6f 72 64 29 28 28 75 6e 73 69 67 6e 65 vaword)((unsigne
3b80: 64 20 63 68 61 72 20 2a 29 20 6c 69 73 74 2e 72 d char *) list.r
3b90: 61 64 64 72 29 5b 32 35 5d 20 3c 3c 20 34 38 29 addr)[25] << 48)
3ba0: 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 .
3bb0: 20 20 20 20 20 20 20 7c 20 28 28 5f 5f 76 61 77 | ((__vaw
3bc0: 6f 72 64 29 28 28 75 6e 73 69 67 6e 65 64 20 63 ord)((unsigned c
3bd0: 68 61 72 20 2a 29 20 6c 69 73 74 2e 72 61 64 64 har *) list.radd
3be0: 72 29 5b 32 36 5d 20 3c 3c 20 34 30 29 3b 0a 20 r)[26] << 40);.
3bf0: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 7d }
3c00: 20 65 6c 73 65 0a 20 20 20 20 20 20 20 20 20 20 else.
3c10: 20 20 20 20 20 20 69 66 20 28 6c 69 73 74 2e 72 if (list.r
3c20: 73 69 7a 65 20 3d 3d 20 32 38 29 20 7b 0a 20 20 size == 28) {.
3c30: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
3c40: 6f 33 20 3d 20 20 28 28 5f 5f 76 61 77 6f 72 64 o3 = ((__vaword
3c50: 29 28 28 75 6e 73 69 67 6e 65 64 20 63 68 61 72 )((unsigned char
3c60: 20 2a 29 20 6c 69 73 74 2e 72 61 64 64 72 29 5b *) list.raddr)[
3c70: 32 34 5d 20 3c 3c 20 35 36 29 0a 20 20 20 20 20 24] << 56).
3c80: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
3c90: 20 7c 20 28 28 5f 5f 76 61 77 6f 72 64 29 28 28 | ((__vaword)((
3ca0: 75 6e 73 69 67 6e 65 64 20 63 68 61 72 20 2a 29 unsigned char *)
3cb0: 20 6c 69 73 74 2e 72 61 64 64 72 29 5b 32 35 5d list.raddr)[25]
3cc0: 20 3c 3c 20 34 38 29 0a 20 20 20 20 20 20 20 20 << 48).
3cd0: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 7c 20 |
3ce0: 28 28 5f 5f 76 61 77 6f 72 64 29 28 28 75 6e 73 ((__vaword)((uns
3cf0: 69 67 6e 65 64 20 63 68 61 72 20 2a 29 20 6c 69 igned char *) li
3d00: 73 74 2e 72 61 64 64 72 29 5b 32 36 5d 20 3c 3c st.raddr)[26] <<
3d10: 20 34 30 29 0a 20 20 20 20 20 20 20 20 20 20 20 40).
3d20: 20 20 20 20 20 20 20 20 20 20 20 7c 20 28 28 5f | ((_
3d30: 5f 76 61 77 6f 72 64 29 28 28 75 6e 73 69 67 6e _vaword)((unsign
3d40: 65 64 20 63 68 61 72 20 2a 29 20 6c 69 73 74 2e ed char *) list.
3d50: 72 61 64 64 72 29 5b 32 37 5d 20 3c 3c 20 33 32 raddr)[27] << 32
3d60: 29 3b 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 );.
3d70: 20 20 20 7d 20 65 6c 73 65 0a 20 20 20 20 20 20 } else.
3d80: 20 20 20 20 20 20 20 20 20 20 69 66 20 28 6c 69 if (li
3d90: 73 74 2e 72 73 69 7a 65 20 3d 3d 20 32 39 29 20 st.rsize == 29)
3da0: 7b 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 {.
3db0: 20 20 20 20 6f 33 20 3d 20 20 28 28 5f 5f 76 61 o3 = ((__va
3dc0: 77 6f 72 64 29 28 28 75 6e 73 69 67 6e 65 64 20 word)((unsigned
3dd0: 63 68 61 72 20 2a 29 20 6c 69 73 74 2e 72 61 64 char *) list.rad
3de0: 64 72 29 5b 32 34 5d 20 3c 3c 20 35 36 29 0a 20 dr)[24] << 56).
3df0: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
3e00: 20 20 20 20 20 7c 20 28 28 5f 5f 76 61 77 6f 72 | ((__vawor
3e10: 64 29 28 28 75 6e 73 69 67 6e 65 64 20 63 68 61 d)((unsigned cha
3e20: 72 20 2a 29 20 6c 69 73 74 2e 72 61 64 64 72 29 r *) list.raddr)
3e30: 5b 32 35 5d 20 3c 3c 20 34 38 29 0a 20 20 20 20 [25] << 48).
3e40: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
3e50: 20 20 7c 20 28 28 5f 5f 76 61 77 6f 72 64 29 28 | ((__vaword)(
3e60: 28 75 6e 73 69 67 6e 65 64 20 63 68 61 72 20 2a (unsigned char *
3e70: 29 20 6c 69 73 74 2e 72 61 64 64 72 29 5b 32 36 ) list.raddr)[26
3e80: 5d 20 3c 3c 20 34 30 29 0a 20 20 20 20 20 20 20 ] << 40).
3e90: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 7c |
3ea0: 20 28 28 5f 5f 76 61 77 6f 72 64 29 28 28 75 6e ((__vaword)((un
3eb0: 73 69 67 6e 65 64 20 63 68 61 72 20 2a 29 20 6c signed char *) l
3ec0: 69 73 74 2e 72 61 64 64 72 29 5b 32 37 5d 20 3c ist.raddr)[27] <
3ed0: 3c 20 33 32 29 0a 20 20 20 20 20 20 20 20 20 20 < 32).
3ee0: 20 20 20 20 20 20 20 20 20 20 20 20 7c 20 28 28 | ((
3ef0: 5f 5f 76 61 77 6f 72 64 29 28 28 75 6e 73 69 67 __vaword)((unsig
3f00: 6e 65 64 20 63 68 61 72 20 2a 29 20 6c 69 73 74 ned char *) list
3f10: 2e 72 61 64 64 72 29 5b 32 38 5d 20 3c 3c 20 32 .raddr)[28] << 2
3f20: 34 29 3b 0a 20 20 20 20 20 20 20 20 20 20 20 20 4);.
3f30: 20 20 20 20 7d 20 65 6c 73 65 0a 20 20 20 20 20 } else.
3f40: 20 20 20 20 20 20 20 20 20 20 20 69 66 20 28 6c if (l
3f50: 69 73 74 2e 72 73 69 7a 65 20 3d 3d 20 33 30 29 ist.rsize == 30)
3f60: 20 7b 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 {.
3f70: 20 20 20 20 20 6f 33 20 3d 20 20 28 28 5f 5f 76 o3 = ((__v
3f80: 61 77 6f 72 64 29 28 28 75 6e 73 69 67 6e 65 64 aword)((unsigned
3f90: 20 63 68 61 72 20 2a 29 20 6c 69 73 74 2e 72 61 char *) list.ra
3fa0: 64 64 72 29 5b 32 34 5d 20 3c 3c 20 35 36 29 0a ddr)[24] << 56).
3fb0: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
3fc0: 20 20 20 20 20 20 7c 20 28 28 5f 5f 76 61 77 6f | ((__vawo
3fd0: 72 64 29 28 28 75 6e 73 69 67 6e 65 64 20 63 68 rd)((unsigned ch
3fe0: 61 72 20 2a 29 20 6c 69 73 74 2e 72 61 64 64 72 ar *) list.raddr
3ff0: 29 5b 32 35 5d 20 3c 3c 20 34 38 29 0a 20 20 20 )[25] << 48).
4000: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
4010: 20 20 20 7c 20 28 28 5f 5f 76 61 77 6f 72 64 29 | ((__vaword)
4020: 28 28 75 6e 73 69 67 6e 65 64 20 63 68 61 72 20 ((unsigned char
4030: 2a 29 20 6c 69 73 74 2e 72 61 64 64 72 29 5b 32 *) list.raddr)[2
4040: 36 5d 20 3c 3c 20 34 30 29 0a 20 20 20 20 20 20 6] << 40).
4050: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
4060: 7c 20 28 28 5f 5f 76 61 77 6f 72 64 29 28 28 75 | ((__vaword)((u
4070: 6e 73 69 67 6e 65 64 20 63 68 61 72 20 2a 29 20 nsigned char *)
4080: 6c 69 73 74 2e 72 61 64 64 72 29 5b 32 37 5d 20 list.raddr)[27]
4090: 3c 3c 20 33 32 29 0a 20 20 20 20 20 20 20 20 20 << 32).
40a0: 20 20 20 20 20 20 20 20 20 20 20 20 20 7c 20 28 | (
40b0: 28 5f 5f 76 61 77 6f 72 64 29 28 28 75 6e 73 69 (__vaword)((unsi
40c0: 67 6e 65 64 20 63 68 61 72 20 2a 29 20 6c 69 73 gned char *) lis
40d0: 74 2e 72 61 64 64 72 29 5b 32 38 5d 20 3c 3c 20 t.raddr)[28] <<
40e0: 32 34 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 24).
40f0: 20 20 20 20 20 20 20 20 20 20 7c 20 28 28 5f 5f | ((__
4100: 76 61 77 6f 72 64 29 28 28 75 6e 73 69 67 6e 65 vaword)((unsigne
4110: 64 20 63 68 61 72 20 2a 29 20 6c 69 73 74 2e 72 d char *) list.r
4120: 61 64 64 72 29 5b 32 39 5d 20 3c 3c 20 31 36 29 addr)[29] << 16)
4130: 3b 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 ;.
4140: 20 20 7d 20 65 6c 73 65 0a 20 20 20 20 20 20 20 } else.
4150: 20 20 20 20 20 20 20 20 20 69 66 20 28 6c 69 73 if (lis
4160: 74 2e 72 73 69 7a 65 20 3d 3d 20 33 31 29 20 7b t.rsize == 31) {
4170: 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 .
4180: 20 20 20 6f 33 20 3d 20 20 28 28 5f 5f 76 61 77 o3 = ((__vaw
4190: 6f 72 64 29 28 28 75 6e 73 69 67 6e 65 64 20 63 ord)((unsigned c
41a0: 68 61 72 20 2a 29 20 6c 69 73 74 2e 72 61 64 64 har *) list.radd
41b0: 72 29 5b 32 34 5d 20 3c 3c 20 35 36 29 0a 20 20 r)[24] << 56).
41c0: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
41d0: 20 20 20 20 7c 20 28 28 5f 5f 76 61 77 6f 72 64 | ((__vaword
41e0: 29 28 28 75 6e 73 69 67 6e 65 64 20 63 68 61 72 )((unsigned char
41f0: 20 2a 29 20 6c 69 73 74 2e 72 61 64 64 72 29 5b *) list.raddr)[
4200: 32 35 5d 20 3c 3c 20 34 38 29 0a 20 20 20 20 20 25] << 48).
4210: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
4220: 20 7c 20 28 28 5f 5f 76 61 77 6f 72 64 29 28 28 | ((__vaword)((
4230: 75 6e 73 69 67 6e 65 64 20 63 68 61 72 20 2a 29 unsigned char *)
4240: 20 6c 69 73 74 2e 72 61 64 64 72 29 5b 32 36 5d list.raddr)[26]
4250: 20 3c 3c 20 34 30 29 0a 20 20 20 20 20 20 20 20 << 40).
4260: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 7c 20 |
4270: 28 28 5f 5f 76 61 77 6f 72 64 29 28 28 75 6e 73 ((__vaword)((uns
4280: 69 67 6e 65 64 20 63 68 61 72 20 2a 29 20 6c 69 igned char *) li
4290: 73 74 2e 72 61 64 64 72 29 5b 32 37 5d 20 3c 3c st.raddr)[27] <<
42a0: 20 33 32 29 0a 20 20 20 20 20 20 20 20 20 20 20 32).
42b0: 20 20 20 20 20 20 20 20 20 20 20 7c 20 28 28 5f | ((_
42c0: 5f 76 61 77 6f 72 64 29 28 28 75 6e 73 69 67 6e _vaword)((unsign
42d0: 65 64 20 63 68 61 72 20 2a 29 20 6c 69 73 74 2e ed char *) list.
42e0: 72 61 64 64 72 29 5b 32 38 5d 20 3c 3c 20 32 34 raddr)[28] << 24
42f0: 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 ).
4300: 20 20 20 20 20 20 20 20 7c 20 28 28 5f 5f 76 61 | ((__va
4310: 77 6f 72 64 29 28 28 75 6e 73 69 67 6e 65 64 20 word)((unsigned
4320: 63 68 61 72 20 2a 29 20 6c 69 73 74 2e 72 61 64 char *) list.rad
4330: 64 72 29 5b 32 39 5d 20 3c 3c 20 31 36 29 0a 20 dr)[29] << 16).
4340: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
4350: 20 20 20 20 20 7c 20 28 28 5f 5f 76 61 77 6f 72 | ((__vawor
4360: 64 29 28 28 75 6e 73 69 67 6e 65 64 20 63 68 61 d)((unsigned cha
4370: 72 20 2a 29 20 6c 69 73 74 2e 72 61 64 64 72 29 r *) list.raddr)
4380: 5b 33 30 5d 20 3c 3c 20 38 29 3b 0a 20 20 20 20 [30] << 8);.
4390: 20 20 20 20 20 20 20 20 20 20 20 20 7d 20 65 6c } el
43a0: 73 65 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 se.
43b0: 20 20 20 69 66 20 28 6c 69 73 74 2e 72 73 69 7a if (list.rsiz
43c0: 65 20 3d 3d 20 33 32 29 20 7b 0a 20 20 20 20 20 e == 32) {.
43d0: 20 20 20 20 20 20 20 20 20 20 20 20 20 6f 33 20 o3
43e0: 3d 20 20 28 28 5f 5f 76 61 77 6f 72 64 29 28 28 = ((__vaword)((
43f0: 75 6e 73 69 67 6e 65 64 20 63 68 61 72 20 2a 29 unsigned char *)
4400: 20 6c 69 73 74 2e 72 61 64 64 72 29 5b 32 34 5d list.raddr)[24]
4410: 20 3c 3c 20 35 36 29 0a 20 20 20 20 20 20 20 20 << 56).
4420: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 7c 20 |
4430: 28 28 5f 5f 76 61 77 6f 72 64 29 28 28 75 6e 73 ((__vaword)((uns
4440: 69 67 6e 65 64 20 63 68 61 72 20 2a 29 20 6c 69 igned char *) li
4450: 73 74 2e 72 61 64 64 72 29 5b 32 35 5d 20 3c 3c st.raddr)[25] <<
4460: 20 34 38 29 0a 20 20 20 20 20 20 20 20 20 20 20 48).
4470: 20 20 20 20 20 20 20 20 20 20 20 7c 20 28 28 5f | ((_
4480: 5f 76 61 77 6f 72 64 29 28 28 75 6e 73 69 67 6e _vaword)((unsign
4490: 65 64 20 63 68 61 72 20 2a 29 20 6c 69 73 74 2e ed char *) list.
44a0: 72 61 64 64 72 29 5b 32 36 5d 20 3c 3c 20 34 30 raddr)[26] << 40
44b0: 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 ).
44c0: 20 20 20 20 20 20 20 20 7c 20 28 28 5f 5f 76 61 | ((__va
44d0: 77 6f 72 64 29 28 28 75 6e 73 69 67 6e 65 64 20 word)((unsigned
44e0: 63 68 61 72 20 2a 29 20 6c 69 73 74 2e 72 61 64 char *) list.rad
44f0: 64 72 29 5b 32 37 5d 20 3c 3c 20 33 32 29 0a 20 dr)[27] << 32).
4500: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
4510: 20 20 20 20 20 7c 20 28 28 5f 5f 76 61 77 6f 72 | ((__vawor
4520: 64 29 28 28 75 6e 73 69 67 6e 65 64 20 63 68 61 d)((unsigned cha
4530: 72 20 2a 29 20 6c 69 73 74 2e 72 61 64 64 72 29 r *) list.raddr)
4540: 5b 32 38 5d 20 3c 3c 20 32 34 29 0a 20 20 20 20 [28] << 24).
4550: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
4560: 20 20 7c 20 28 28 5f 5f 76 61 77 6f 72 64 29 28 | ((__vaword)(
4570: 28 75 6e 73 69 67 6e 65 64 20 63 68 61 72 20 2a (unsigned char *
4580: 29 20 6c 69 73 74 2e 72 61 64 64 72 29 5b 32 39 ) list.raddr)[29
4590: 5d 20 3c 3c 20 31 36 29 0a 20 20 20 20 20 20 20 ] << 16).
45a0: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 7c |
45b0: 20 28 28 5f 5f 76 61 77 6f 72 64 29 28 28 75 6e ((__vaword)((un
45c0: 73 69 67 6e 65 64 20 63 68 61 72 20 2a 29 20 6c signed char *) l
45d0: 69 73 74 2e 72 61 64 64 72 29 5b 33 30 5d 20 3c ist.raddr)[30] <
45e0: 3c 20 38 29 0a 20 20 20 20 20 20 20 20 20 20 20 < 8).
45f0: 20 20 20 20 20 20 20 20 20 20 20 7c 20 20 28 5f | (_
4600: 5f 76 61 77 6f 72 64 29 28 28 75 6e 73 69 67 6e _vaword)((unsign
4610: 65 64 20 63 68 61 72 20 2a 29 20 6c 69 73 74 2e ed char *) list.
4620: 72 61 64 64 72 29 5b 33 31 5d 3b 0a 20 20 20 20 raddr)[31];.
4630: 20 20 20 20 20 20 20 20 20 20 20 20 7d 0a 20 20 }.
4640: 20 20 20 20 20 20 20 20 20 20 20 20 7d 0a 20 20 }.
4650: 20 20 20 20 20 20 20 20 20 20 7d 0a 20 20 20 20 }.
4660: 20 20 20 20 20 20 7d 0a 20 20 20 20 20 20 20 20 }.
4670: 7d 0a 20 20 20 20 20 20 7d 0a 20 20 20 20 7d 0a }. }. }.
4680: 20 20 7d 0a 7d 0a }.}.