/* Generated with C2C (Cedar To C)*/ /* Copyright (C) 1992 by Xerox Corporation. All rights reserved. */ /* time: September 24, 1992 12:03:38 pm PDT */ /* C2C version: October 16, 1990 (native) */ /* ref-counting: off */ /* file: BasicsImpl, module: BasicsImpl */ /* switches: bcfhklnouw */ #include <cedar/InstallationSupport.h> #include <cedar/CedarExtra.h> #ifdef sparc #define AssemblyMoveAndFillWordsHelp() 1 #define Basics←MoveWords Basics←MoveWords←Soft #define Basics←FillWords Basics←FillWords←Soft #else #define AssemblyMoveAndFillWordsHelp() 0 #endif #define XRM←BITLSHIFT(x, y) ((word)(x) << (word)(y)) #define XRM←BITRSHIFT(x, y) ((word)(x) >> (word)(y)) #define XRM←BITAND(x, y) (((word)(x)) & ((word)(y))) #define XRM←BITXOR(x, y) (((word)(x)) ↑ ((word)(y))) static char versionStamp[] = "@(#)mob←version [328260979,740860657] BasicsImpl"; typedef unsigned word, *ptr; typedef unsigned char byte, *bPt; typedef unsigned short half, *hPt; typedef word (*fPt)(); typedef struct {word f0, f1, f2;} W3; #define SOURCE(p, l) /* source p, l */ #define INEG(x) ( (word) ( - ((int) (word) (x)) ) ) #define MIN(cast, x, y) ( ( cast x) < ( cast y) ? (x) : (y) ) #define MAX(cast, x, y) ( ( cast x) > ( cast y) ? (x) : (y) ) static void NoName←Q6744(); static void BasicsImpl←P0(); extern void Basics←CopyWords(); extern void Basics←MoveWords(); extern void Basics←FillWords(); extern void Basics←CopyBytes(); extern void Basics←MoveBytes(); extern void Basics←FillBytes(); extern void Basics←RegisterLogMisalign(); extern void Basics←CopyBits(); extern void Basics←CopyBitsDecreasing(); extern void Basics←MoveBits(); extern void Basics←FillBits(); extern word Basics←CompareBits(); extern word Basics←BITSHIFT(); extern word Basics←ByteBlt(); static struct {unsigned f; char r[16];} string1 = {851984, "\257\300\023\220\335\163\300\054\050\242\361\100\164\000\000"}; static struct { word f0[6]; word f6; word f7; word f8; word f9; word f10; word f11; word f12; word f13; word f14; word f15; word f16; word f17; word f18; word f19; word f20; word f21; word f22; word f23; word f24; word f25; word f26; word f27; word f28; word f29; word f30; word f31; word f32; word f33; word f34; word f35; } globalframe = { {0}, (word) Basics←ByteBlt, 0, (word) Basics←BITSHIFT, 0, (word) Basics←CompareBits, 0, (word) Basics←FillBits, 0, (word) Basics←MoveBits, 0, (word) Basics←CopyBitsDecreasing, 0, (word) Basics←CopyBits, 0, (word) Basics←RegisterLogMisalign, 0, (word) Basics←FillBytes, 0, (word) Basics←MoveBytes, 0, (word) Basics←CopyBytes, 0, (word) Basics←FillWords, 0, (word) Basics←MoveWords, 0, (word) Basics←CopyWords, 0, (word) BasicsImpl←P0, 0 }; static void NoName←Q6744() { register ptr gf←c0435 = (ptr) &globalframe; (void) XR←DeclareGlobalFrame((word) "BasicsImpl", &globalframe, (word) XR←GetTypeIndexS((word) (&string1)), (word) (( (bPt) gf←c0435)+136) /* var←c17592 */ ); } static void BasicsImpl←P0(formal←c019, formal←c018) word formal←c019; word formal←c018; { register ptr gf←c24216 = (ptr) &globalframe; /* BasicsImpl: */ SOURCE(19, 17807) SOURCE(717, 59) (* (( (ptr) gf←c24216)+4)/* assemblyMoveAndFillWords←v2468 */ ) = (word) AssemblyMoveAndFillWordsHelp(); } extern void Basics←CopyWords(dst←v3964, src←v3992, count←v4020) word dst←v3964; word src←v3992; word count←v4020; { /* CopyWords: */ SOURCE(1807, 160) SOURCE(1908, 59) { register word i←v6240 = 0; register word noName←c17624; noName←c17624 = count←v4020; if ((i←v6240 >= noName←c17624)) { goto lab←L100000; }; lab←L100003: ; SOURCE(1949, 18) SOURCE(1951, 16) (* (( (ptr) dst←v3964)+i←v6240) ) = (* (( (ptr) src←v3992)+i←v6240) ); i←v6240 = (i←v6240 + 1); if ((i←v6240 < noName←c17624)) { goto lab←L100003; }; lab←L100000: ; }; } extern void Basics←MoveWords(dst←v4104, src←v4132, count←v4160) word dst←v4104; word src←v4132; word count←v4160; { /* MoveWords: */ SOURCE(1983, 299) SOURCE(2084, 198) if ((dst←v4104 < src←v4132)) { SOURCE(2134, 58) { register word i←v6284 = 0; register word noName←c17656; noName←c17656 = count←v4160; if ((i←v6284 >= noName←c17656)) { goto lab←L100004; }; lab←L100007: ; SOURCE(2174, 18) SOURCE(2176, 16) (* (( (ptr) dst←v4104)+i←v6284) ) = (* (( (ptr) src←v4132)+i←v6284) ); i←v6284 = (i←v6284 + 1); if ((i←v6284 < noName←c17656)) { goto lab←L100007; }; lab←L100004: ; }; } else { SOURCE(2213, 69) { register word i←v6328; i←v6328 = count←v4160; if ((0 >= i←v6328)) { goto lab←L100008; }; i←v6328 = (i←v6328 - 1); lab←L100011: ; SOURCE(2264, 18) SOURCE(2266, 16) (* (( (ptr) dst←v4104)+i←v6328) ) = (* (( (ptr) src←v4132)+i←v6328) ); if ((0 >= i←v6328)) { goto lab←L100008; }; i←v6328 = (i←v6328 - 1); goto lab←L100011; lab←L100008: ; }; }; } extern void Basics←FillWords(dst←v4244, count←v4272, value←v4300) word dst←v4244; word count←v4272; word value←v4300; { word p←v6372; /* FillWords: */ SOURCE(2301, 412) SOURCE(2398, 55) p←v6372 = dst←v4244; SOURCE(2455, 129) lab←L100014: ; if ((count←v4272 >= 4)) { } else { goto lab←L100012; }; SOURCE(2475, 12) (* (ptr) p←v6372 ) = value←v4300; SOURCE(2489, 12) (* (( (ptr) p←v6372)+1) ) = value←v4300; SOURCE(2503, 12) (* (( (ptr) p←v6372)+2) ) = value←v4300; SOURCE(2517, 12) (* (( (ptr) p←v6372)+3) ) = value←v4300; SOURCE(2531, 34) p←v6372 = (p←v6372 + 16); SOURCE(2567, 17) count←v4272 = (count←v4272 - 4); goto lab←L100014; lab←L100012: ; SOURCE(2595, 24) if ((count←v4272 == 0)) { SOURCE(2613, 6) return; }; SOURCE(2621, 12) (* (ptr) p←v6372 ) = value←v4300; SOURCE(2635, 24) if ((count←v4272 == 1)) { SOURCE(2653, 6) return; }; SOURCE(2661, 12) (* (( (ptr) p←v6372)+1) ) = value←v4300; SOURCE(2675, 24) if ((count←v4272 == 2)) { SOURCE(2693, 6) return; }; SOURCE(2701, 12) (* (( (ptr) p←v6372)+2) ) = value←v4300; } extern void Basics←CopyBytes(dstBase←v4372, dstStart←v4400, srcBase←v4428, srcStart←v4456, count←v4484) word dstBase←v4372; word dstStart←v4400; word srcBase←v4428; word srcStart←v4456; word count←v4484; { /* CopyBytes: */ SOURCE(2718, 475) SOURCE(2867, 53) if ((count←v4484 > ( (word) -1 - dstStart←v4400))) { SOURCE(2902, 18) (void) XR←RaiseBoundsFault(); }; SOURCE(2922, 53) if ((count←v4484 > ( (word) -1 - srcStart←v4456))) { SOURCE(2957, 18) (void) XR←RaiseBoundsFault(); }; SOURCE(2977, 61) if ((count←v4484 >= 16777216)) { SOURCE(3020, 18) (void) XR←RaiseBoundsFault(); }; SOURCE(3040, 153) (void) Basics←CopyBits(dstBase←v4372, (dstStart←v4400 << 3), srcBase←v4428, (srcStart←v4456 << 3), (count←v4484 << 3)); } extern void Basics←MoveBytes(dstBase←v4568, dstStart←v4596, srcBase←v4624, srcStart←v4652, count←v4680) word dstBase←v4568; word dstStart←v4596; word srcBase←v4624; word srcStart←v4652; word count←v4680; { word d0←v6500; word s0←v6528; /* MoveBytes: */ SOURCE(3199, 756) SOURCE(3340, 55) d0←v6500 = (dstBase←v4568 + dstStart←v4596); SOURCE(3397, 55) s0←v6528 = (srcBase←v4624 + srcStart←v4652); SOURCE(3454, 53) if ((count←v4680 > ( (word) -1 - dstStart←v4596))) { SOURCE(3489, 18) (void) XR←RaiseBoundsFault(); }; SOURCE(3509, 53) if ((count←v4680 > ( (word) -1 - srcStart←v4652))) { SOURCE(3544, 18) (void) XR←RaiseBoundsFault(); }; SOURCE(3564, 61) if ((count←v4680 >= 16777216)) { SOURCE(3607, 18) (void) XR←RaiseBoundsFault(); }; SOURCE(3627, 328) if ( ( (d0←v6500 > s0←v6528) ? (d0←v6500 < (s0←v6528 + count←v4680)) : 0 ) ) { SOURCE(3676, 95) { register word i←v6572; i←v6572 = count←v4680; if ((0 >= i←v6572)) { goto lab←L100015; }; i←v6572 = (i←v6572 - 1); lab←L100018: ; SOURCE(3727, 44) SOURCE(3729, 42) (* (( (bPt) dstBase←v4568)+(dstStart←v4596 + i←v6572)) ) = (word) (* (( (bPt) srcBase←v4624)+(srcStart←v4652 + i←v6572)) ); if ((0 >= i←v6572)) { goto lab←L100015; }; i←v6572 = (i←v6572 - 1); goto lab←L100018; lab←L100015: ; }; } else { SOURCE(3798, 157) SOURCE(3800, 153) (void) Basics←CopyBits(dstBase←v4568, (dstStart←v4596 << 3), srcBase←v4624, (srcStart←v4652 << 3), (count←v4680 << 3)); }; } extern void Basics←FillBytes(dstBase←v4764, dstStart←v4792, count←v4820, value←v4848) word dstBase←v4764; word dstStart←v4792; word count←v4820; word value←v4848; { word wordValue←v6616; /* FillBytes: */ SOURCE(3962, 315) SOURCE(4077, 36) wordValue←v6616 = (value←v4848 + (value←v4848 << 8)); SOURCE(4115, 36) wordValue←v6616 = (wordValue←v6616 + (value←v4848 << 16)); SOURCE(4161, 116) SOURCE(4163, 112) (void) Basics←FillBits(dstBase←v4764, (dstStart←v4792 << 3), (count←v4820 << 3), wordValue←v6616); } extern void Basics←RegisterLogMisalign(p←v4936) word p←v4936; { register ptr gf←c24248 = (ptr) &globalframe; /* RegisterLogMisalign: */ SOURCE(4308, 55) SOURCE(4348, 15) (* (( (ptr) gf←c24248)+5)/* logMisalign←v2916 */ ) = XR←CheckProc(p←v4936); } extern void Basics←CopyBits(dstBase←v5012, dstStart←v5040, srcBase←v5068, srcStart←v5096, count←v5124) word dstBase←v5012; word dstStart←v5040; word srcBase←v5068; word srcStart←v5096; word count←v5124; { register ptr gf←c24280 = (ptr) &globalframe; word dstCorr←v6660; word srcCorr←v6688; /* CopyBits: */ SOURCE(4368, 3505) SOURCE(4514, 55) dstCorr←v6660 = (dstBase←v5012 & 3); SOURCE(4571, 55) srcCorr←v6688 = (srcBase←v5068 & 3); SOURCE(4628, 214) if (((dstCorr←v6660 + srcCorr←v6688) != 0)) { SOURCE(4656, 188) { word p←v6732; SOURCE(4658, 21) p←v6732 = (* (( (ptr) gf←c24280)+5)/* logMisalign←v2916 */ ); SOURCE(4681, 19) if ((p←v6732 != 0)) { SOURCE(4697, 3) (void) ( *( (fPt) ((* (ptr) p←v6732 ))))(p←v6732); }; SOURCE(4702, 27) dstBase←v5012 = (dstBase←v5012 - dstCorr←v6660); SOURCE(4731, 40) dstStart←v5040 = (dstStart←v5040 + (dstCorr←v6660 << 3)); SOURCE(4773, 27) srcBase←v5068 = (srcBase←v5068 - srcCorr←v6688); SOURCE(4802, 40) srcStart←v5096 = (srcStart←v5096 + (srcCorr←v6688 << 3)); }; }; SOURCE(4847, 3026) if ((count←v5124 != 0)) { SOURCE(4865, 3016) { word dst←v6792; word dstBit←v6820; word src←v6848; word srcBit←v6876; word ndw←v6904; word lMask←v6932; word rMask←v6960; SOURCE(4867, 58) { word base←v12804; base←v12804 = dstBase←v5012; SOURCE(1634, 64) dst←v6792 = (base←v12804 + ((dstStart←v5040 >> 5) << 2)); }; SOURCE(4927, 33) dstBit←v6820 = (dstStart←v5040 & 037); SOURCE(4962, 58) { word base←v12756; base←v12756 = srcBase←v5068; SOURCE(1634, 64) src←v6848 = (base←v12756 + ((srcStart←v5096 >> 5) << 2)); }; SOURCE(5022, 33) srcBit←v6876 = (srcStart←v5096 & 037); SOURCE(5057, 40) { word bits←v12084; bits←v12084 = (dstBit←v6820 + count←v5124); SOURCE(1262, 32) ndw←v6904 = ((bits←v12084 + 31) >> 5); }; SOURCE(5099, 44) { word n←v12276; n←v12276 = (32 - dstBit←v6820); SOURCE(1363, 45) lMask←v6932 = (((word) XRM←BITLSHIFT(1, (n←v12276 & 037)) - 1) - (n←v12276 >> 5)); }; SOURCE(5145, 77) { word n←v12468; n←v12468 = (((32 - dstBit←v6820) - count←v5124) & 037); SOURCE(1476, 43) rMask←v6960 = INEG((word) XRM←BITRSHIFT(2147483648, (31 - n←v12468))); }; SOURCE(5224, 2649) if ((dstBit←v6820 == srcBit←v6876)) { SOURCE(5277, 809) { word var←c17912; var←c17912 = ndw←v6904; switch (var←c17912) { case 1: SOURCE(5306, 53) SOURCE(5308, 49) { word var←c17944; { word var←c17976; word d←v15340; word s←v15368; word mask←v15396; d←v15340 = (* (ptr) dst←v6792 ); s←v15368 = (* (ptr) src←v6848 ); mask←v15396 = (word) XRM←BITAND(lMask←v6932, rMask←v6960); SOURCE(1756, 47) { /*1*/ word var←c18040; /*1*/ { /*1*/ word var←c18072; /*1*/ var←c18072 = (word) XRM←BITXOR(s←v15368, d←v15340); /*1*/ var←c18040 = (word) XRM←BITAND(var←c18072, mask←v15396); /*1*/ }; /*1*/ var←c17976 = (word) XRM←BITXOR(var←c18040, d←v15340); /*1*/ }; var←c17944 = var←c17976; }; (* (ptr) dst←v6792 ) = var←c17944; }; break; case 2: SOURCE(5375, 74) SOURCE(5377, 34) { word var←c18104; { word var←c18136; word d←v15264; word s←v15292; d←v15264 = (* (ptr) dst←v6792 ); s←v15292 = (* (ptr) src←v6848 ); SOURCE(1756, 47) { /*1*/ word var←c18200; /*1*/ { /*1*/ word var←c18232; /*1*/ var←c18232 = (word) XRM←BITXOR(s←v15292, d←v15264); /*1*/ var←c18200 = (word) XRM←BITAND(var←c18232, lMask←v6932); /*1*/ }; /*1*/ var←c18136 = (word) XRM←BITXOR(var←c18200, d←v15264); /*1*/ }; var←c18104 = var←c18136; }; (* (ptr) dst←v6792 ) = var←c18104; }; SOURCE(5413, 34) { word var←c18264; { word var←c18296; word d←v15188; word s←v15216; d←v15188 = (* (( (ptr) dst←v6792)+1) ); s←v15216 = (* (( (ptr) src←v6848)+1) ); SOURCE(1756, 47) { /*1*/ word var←c18360; /*1*/ { /*1*/ word var←c18392; /*1*/ var←c18392 = (word) XRM←BITXOR(s←v15216, d←v15188); /*1*/ var←c18360 = (word) XRM←BITAND(var←c18392, rMask←v6960); /*1*/ }; /*1*/ var←c18296 = (word) XRM←BITXOR(var←c18360, d←v15188); /*1*/ }; var←c18264 = var←c18296; }; (* (( (ptr) dst←v6792)+1) ) = var←c18264; }; break; case 3: SOURCE(5465, 92) SOURCE(5467, 34) { word var←c18424; { word var←c18456; word d←v15112; word s←v15140; d←v15112 = (* (ptr) dst←v6792 ); s←v15140 = (* (ptr) src←v6848 ); SOURCE(1756, 47) { /*1*/ word var←c18520; /*1*/ { /*1*/ word var←c18552; /*1*/ var←c18552 = (word) XRM←BITXOR(s←v15140, d←v15112); /*1*/ var←c18520 = (word) XRM←BITAND(var←c18552, lMask←v6932); /*1*/ }; /*1*/ var←c18456 = (word) XRM←BITXOR(var←c18520, d←v15112); /*1*/ }; var←c18424 = var←c18456; }; (* (ptr) dst←v6792 ) = var←c18424; }; SOURCE(5503, 16) (* (( (ptr) dst←v6792)+1) ) = (* (( (ptr) src←v6848)+1) ); SOURCE(5521, 34) { word var←c18584; { word var←c18616; word d←v15036; word s←v15064; d←v15036 = (* (( (ptr) dst←v6792)+2) ); s←v15064 = (* (( (ptr) src←v6848)+2) ); SOURCE(1756, 47) { /*1*/ word var←c18680; /*1*/ { /*1*/ word var←c18712; /*1*/ var←c18712 = (word) XRM←BITXOR(s←v15064, d←v15036); /*1*/ var←c18680 = (word) XRM←BITAND(var←c18712, rMask←v6960); /*1*/ }; /*1*/ var←c18616 = (word) XRM←BITXOR(var←c18680, d←v15036); /*1*/ }; var←c18584 = var←c18616; }; (* (( (ptr) dst←v6792)+2) ) = var←c18584; }; break; default: SOURCE(5579, 509) { word nw←v7028; SOURCE(5581, 32) nw←v7028 = (ndw←v6904 - 2); SOURCE(5615, 34) { word var←c18744; { /*1*/ word var←c18776; /*1*/ word d←v14960; /*1*/ word s←v14988; /*1*/ d←v14960 = (* (ptr) dst←v6792 ); /*1*/ s←v14988 = (* (ptr) src←v6848 ); SOURCE(1756, 47) /*1*/ { /*1*/ word var←c18840; /*1*/ { /*1*/ word var←c18872; /*1*/ var←c18872 = (word) XRM←BITXOR(s←v14988, d←v14960); /*1*/ var←c18840 = (word) XRM←BITAND(var←c18872, lMask←v6932); /*1*/ }; /*1*/ var←c18776 = (word) XRM←BITXOR(var←c18840, d←v14960); /*1*/ }; /*1*/ var←c18744 = var←c18776; /*1*/ }; (* (ptr) dst←v6792 ) = var←c18744; }; SOURCE(5651, 21) dst←v6792 = (dst←v6792 + 4); SOURCE(5674, 21) src←v6848 = (src←v6848 + 4); SOURCE(5697, 146) lab←L100032: ; if ((nw←v7028 >= 4)) { } else { goto lab←L100030; }; SOURCE(5714, 15) (* (ptr) dst←v6792 ) = (* (ptr) src←v6848 ); SOURCE(5731, 15) (* (( (ptr) dst←v6792)+1) ) = (* (( (ptr) src←v6848)+1) ); SOURCE(5748, 15) (* (( (ptr) dst←v6792)+2) ) = (* (( (ptr) src←v6848)+2) ); SOURCE(5765, 15) (* (( (ptr) dst←v6792)+3) ) = (* (( (ptr) src←v6848)+3) ); SOURCE(5782, 23) dst←v6792 = (dst←v6792 + 16); SOURCE(5807, 23) src←v6848 = (src←v6848 + 16); SOURCE(5832, 11) nw←v7028 = (nw←v7028 - 4); goto lab←L100032; lab←L100030: ; SOURCE(5854, 111) if ((nw←v7028 >= 2)) { SOURCE(5872, 15) (* (ptr) dst←v6792 ) = (* (ptr) src←v6848 ); SOURCE(5889, 15) (* (( (ptr) dst←v6792)+1) ) = (* (( (ptr) src←v6848)+1) ); SOURCE(5906, 22) dst←v6792 = (dst←v6792 + 8); SOURCE(5930, 22) src←v6848 = (src←v6848 + 8); SOURCE(5954, 11) nw←v7028 = (nw←v7028 - 2); }; SOURCE(5970, 77) if ((nw←v7028 != 0)) { SOURCE(5987, 16) (* (ptr) dst←v6792 ) = (* (ptr) src←v6848 ); SOURCE(6005, 20) dst←v6792 = (dst←v6792 + 4); SOURCE(6027, 20) src←v6848 = (src←v6848 + 4); }; SOURCE(6052, 34) { word var←c18904; { /*1*/ word var←c18936; /*1*/ word d←v14884; /*1*/ word s←v14912; /*1*/ d←v14884 = (* (ptr) dst←v6792 ); /*1*/ s←v14912 = (* (ptr) src←v6848 ); SOURCE(1756, 47) /*1*/ { /*1*/ word var←c19000; /*1*/ { /*1*/ word var←c19032; /*1*/ var←c19032 = (word) XRM←BITXOR(s←v14912, d←v14884); /*1*/ var←c19000 = (word) XRM←BITAND(var←c19032, rMask←v6960); /*1*/ }; /*1*/ var←c18936 = (word) XRM←BITXOR(var←c19000, d←v14884); /*1*/ }; /*1*/ var←c18904 = var←c18936; /*1*/ }; (* (ptr) dst←v6792 ) = var←c18904; }; }; break; }; }; } else { SOURCE(6098, 1780) { word w←v7072 = 0; word hi←v7100; word lo←v7128 = 0; word lSA←v7156; word rSA←v7184; word nsw←v7212; word fetchLastWord←v7240; SOURCE(6258, 55) lSA←v7156 = ((srcBit←v6876 - dstBit←v6820) & 037); SOURCE(6336, 51) rSA←v7184 = ((32 - lSA←v7156) & 037); SOURCE(6443, 40) { word bits←v12036; bits←v12036 = (srcBit←v6876 + count←v5124); SOURCE(1262, 32) nsw←v7212 = ((bits←v12036 + 31) >> 5); }; SOURCE(6485, 72) fetchLastWord←v7240 = ( (srcBit←v6876 >= dstBit←v6820) ? (nsw←v7212 > ndw←v6904) : (nsw←v7212 >= ndw←v6904) ) ; SOURCE(6971, 36) if ((srcBit←v6876 >= dstBit←v6820)) { SOURCE(6996, 11) SOURCE(6586, 7) hi←v7100 = lo←v7128; SOURCE(6603, 12) SOURCE(6604, 11) lo←v7128 = (* (ptr) src←v6848 ); SOURCE(6618, 20) src←v6848 = (src←v6848 + 4); SOURCE(6640, 42) w←v7072 = ((word) XRM←BITLSHIFT(hi←v7100, lSA←v7156) + (word) XRM←BITRSHIFT(lo←v7128, rSA←v7184)); }; SOURCE(7009, 864) { word var←c19096; var←c19096 = ndw←v6904; switch (var←c19096) { case 1: SOURCE(7038, 104) { word bothMask←v7532; SOURCE(7040, 37) bothMask←v7532 = (word) XRM←BITAND(lMask←v6932, rMask←v6960); SOURCE(7079, 27) SOURCE(6879, 22) w←v7072 = (word) XRM←BITLSHIFT(lo←v7128, lSA←v7156); SOURCE(6903, 62) if ((0 != fetchLastWord←v7240)) { SOURCE(6925, 40) SOURCE(6926, 39) /*1*/ w←v7072 = (w←v7072 + (word) XRM←BITRSHIFT((* (ptr) src←v6848 ), rSA←v7184)); /*1*/ }; SOURCE(7108, 32) { /*1*/ word var←c19128; /*1*/ { /*1*/ word var←c19160; /*1*/ word d←v14808; /*1*/ word s←v14836; /*1*/ d←v14808 = (* (ptr) dst←v6792 ); /*1*/ s←v14836 = w←v7072; SOURCE(1756, 47) /*1*/ { /*1*/ word var←c19224; /*1*/ { /*1*/ word var←c19256; /*1*/ var←c19256 = (word) XRM←BITXOR(s←v14836, d←v14808); /*1*/ var←c19224 = (word) XRM←BITAND(var←c19256, bothMask←v7532); /*1*/ }; /*1*/ var←c19160 = (word) XRM←BITXOR(var←c19224, d←v14808); /*1*/ }; /*1*/ var←c19128 = var←c19160; /*1*/ }; /*1*/ (* (ptr) dst←v6792 ) = var←c19128; /*1*/ }; }; break; case 2: SOURCE(7158, 110) SOURCE(7160, 15) SOURCE(6734, 7) hi←v7100 = lo←v7128; SOURCE(6751, 21) SOURCE(6752, 20) lo←v7128 = (* (ptr) src←v6848 ); SOURCE(6775, 42) w←v7072 = ((word) XRM←BITLSHIFT(hi←v7100, lSA←v7156) + (word) XRM←BITRSHIFT(lo←v7128, rSA←v7184)); SOURCE(7177, 29) { word var←c19288; { /*1*/ word var←c19320; /*1*/ word d←v14732; /*1*/ word s←v14760; /*1*/ d←v14732 = (* (ptr) dst←v6792 ); /*1*/ s←v14760 = w←v7072; SOURCE(1756, 47) /*1*/ { /*1*/ word var←c19384; /*1*/ { /*1*/ word var←c19416; /*1*/ var←c19416 = (word) XRM←BITXOR(s←v14760, d←v14732); /*1*/ var←c19384 = (word) XRM←BITAND(var←c19416, lMask←v6932); /*1*/ }; /*1*/ var←c19320 = (word) XRM←BITXOR(var←c19384, d←v14732); /*1*/ }; /*1*/ var←c19288 = var←c19320; /*1*/ }; (* (ptr) dst←v6792 ) = var←c19288; }; SOURCE(7208, 27) SOURCE(6879, 22) w←v7072 = (word) XRM←BITLSHIFT(lo←v7128, lSA←v7156); SOURCE(6903, 62) if ((0 != fetchLastWord←v7240)) { SOURCE(6925, 40) SOURCE(6926, 39) w←v7072 = (w←v7072 + (word) XRM←BITRSHIFT((* (( (ptr) src←v6848)+1) ), rSA←v7184)); }; SOURCE(7237, 29) { word var←c19448; { /*1*/ word var←c19480; /*1*/ word d←v14656; /*1*/ word s←v14684; /*1*/ d←v14656 = (* (( (ptr) dst←v6792)+1) ); /*1*/ s←v14684 = w←v7072; SOURCE(1756, 47) /*1*/ { /*1*/ word var←c19544; /*1*/ { /*1*/ word var←c19576; /*1*/ var←c19576 = (word) XRM←BITXOR(s←v14684, d←v14656); /*1*/ var←c19544 = (word) XRM←BITAND(var←c19576, rMask←v6960); /*1*/ }; /*1*/ var←c19480 = (word) XRM←BITXOR(var←c19544, d←v14656); /*1*/ }; /*1*/ var←c19448 = var←c19480; /*1*/ }; (* (( (ptr) dst←v6792)+1) ) = var←c19448; }; break; case 3: SOURCE(7284, 140) SOURCE(7286, 15) SOURCE(6734, 7) hi←v7100 = lo←v7128; SOURCE(6751, 21) SOURCE(6752, 20) lo←v7128 = (* (ptr) src←v6848 ); SOURCE(6775, 42) w←v7072 = ((word) XRM←BITLSHIFT(hi←v7100, lSA←v7156) + (word) XRM←BITRSHIFT(lo←v7128, rSA←v7184)); SOURCE(7303, 29) { word var←c19608; { /*1*/ word var←c19640; /*1*/ word d←v14580; /*1*/ word s←v14608; /*1*/ d←v14580 = (* (ptr) dst←v6792 ); /*1*/ s←v14608 = w←v7072; SOURCE(1756, 47) /*1*/ { /*1*/ word var←c19704; /*1*/ { /*1*/ word var←c19736; /*1*/ var←c19736 = (word) XRM←BITXOR(s←v14608, d←v14580); /*1*/ var←c19704 = (word) XRM←BITAND(var←c19736, lMask←v6932); /*1*/ }; /*1*/ var←c19640 = (word) XRM←BITXOR(var←c19704, d←v14580); /*1*/ }; /*1*/ var←c19608 = var←c19640; /*1*/ }; (* (ptr) dst←v6792 ) = var←c19608; }; SOURCE(7334, 15) SOURCE(6734, 7) hi←v7100 = lo←v7128; SOURCE(6751, 21) SOURCE(6752, 20) lo←v7128 = (* (( (ptr) src←v6848)+1) ); SOURCE(6775, 42) w←v7072 = ((word) XRM←BITLSHIFT(hi←v7100, lSA←v7156) + (word) XRM←BITRSHIFT(lo←v7128, rSA←v7184)); SOURCE(7351, 11) (* (( (ptr) dst←v6792)+1) ) = w←v7072; SOURCE(7364, 27) SOURCE(6879, 22) w←v7072 = (word) XRM←BITLSHIFT(lo←v7128, lSA←v7156); SOURCE(6903, 62) if ((0 != fetchLastWord←v7240)) { SOURCE(6925, 40) SOURCE(6926, 39) w←v7072 = (w←v7072 + (word) XRM←BITRSHIFT((* (( (ptr) src←v6848)+2) ), rSA←v7184)); }; SOURCE(7393, 29) { word var←c19768; { /*1*/ word var←c19800; /*1*/ word d←v14504; /*1*/ word s←v14532; /*1*/ d←v14504 = (* (( (ptr) dst←v6792)+2) ); /*1*/ s←v14532 = w←v7072; SOURCE(1756, 47) /*1*/ { /*1*/ word var←c19864; /*1*/ { /*1*/ word var←c19896; /*1*/ var←c19896 = (word) XRM←BITXOR(s←v14532, d←v14504); /*1*/ var←c19864 = (word) XRM←BITAND(var←c19896, rMask←v6960); /*1*/ }; /*1*/ var←c19800 = (word) XRM←BITXOR(var←c19864, d←v14504); /*1*/ }; /*1*/ var←c19768 = var←c19800; /*1*/ }; (* (( (ptr) dst←v6792)+2) ) = var←c19768; }; break; default: SOURCE(7446, 429) { word nw←v7576; SOURCE(7448, 32) nw←v7576 = (ndw←v6904 - 2); SOURCE(7482, 15) SOURCE(6734, 7) hi←v7100 = lo←v7128; SOURCE(6751, 21) SOURCE(6752, 20) lo←v7128 = (* (ptr) src←v6848 ); SOURCE(6775, 42) w←v7072 = ((word) XRM←BITLSHIFT(hi←v7100, lSA←v7156) + (word) XRM←BITRSHIFT(lo←v7128, rSA←v7184)); SOURCE(7499, 29) { /*1*/ word var←c19928; /*1*/ { /*1*/ word var←c19960; /*1*/ word d←v14428; /*1*/ word s←v14456; /*1*/ d←v14428 = (* (ptr) dst←v6792 ); /*1*/ s←v14456 = w←v7072; SOURCE(1756, 47) /*1*/ { /*1*/ word var←c20024; /*1*/ { /*1*/ word var←c20056; /*1*/ var←c20056 = (word) XRM←BITXOR(s←v14456, d←v14428); /*1*/ var←c20024 = (word) XRM←BITAND(var←c20056, lMask←v6932); /*1*/ }; /*1*/ var←c19960 = (word) XRM←BITXOR(var←c20024, d←v14428); /*1*/ }; /*1*/ var←c19928 = var←c19960; /*1*/ }; /*1*/ (* (ptr) dst←v6792 ) = var←c19928; /*1*/ }; SOURCE(7530, 20) dst←v6792 = (dst←v6792 + 4); SOURCE(7552, 20) src←v6848 = (src←v6848 + 4); SOURCE(7574, 136) lab←L100043: ; if ((nw←v7576 >= 2)) { /*1*/ } else { /*1*/ goto lab←L100041; /*1*/ }; SOURCE(7591, 15) SOURCE(6734, 7) hi←v7100 = lo←v7128; SOURCE(6751, 21) SOURCE(6752, 20) lo←v7128 = (* (ptr) src←v6848 ); SOURCE(6775, 42) w←v7072 = ((word) XRM←BITLSHIFT(hi←v7100, lSA←v7156) + (word) XRM←BITRSHIFT(lo←v7128, rSA←v7184)); SOURCE(7608, 11) (* (ptr) dst←v6792 ) = w←v7072; SOURCE(7621, 15) SOURCE(6734, 7) hi←v7100 = lo←v7128; SOURCE(6751, 21) SOURCE(6752, 20) lo←v7128 = (* (( (ptr) src←v6848)+1) ); SOURCE(6775, 42) w←v7072 = ((word) XRM←BITLSHIFT(hi←v7100, lSA←v7156) + (word) XRM←BITRSHIFT(lo←v7128, rSA←v7184)); SOURCE(7638, 11) (* (( (ptr) dst←v6792)+1) ) = w←v7072; SOURCE(7651, 22) dst←v6792 = (dst←v6792 + 8); SOURCE(7675, 22) src←v6848 = (src←v6848 + 8); SOURCE(7699, 11) nw←v7576 = (nw←v7576 - 2); goto lab←L100043; lab←L100041: ; SOURCE(7721, 89) if ((nw←v7576 != 0)) { SOURCE(7738, 15) SOURCE(6734, 7) /*1*/ hi←v7100 = lo←v7128; SOURCE(6751, 21) SOURCE(6752, 20) /*1*/ lo←v7128 = (* (ptr) src←v6848 ); SOURCE(6775, 42) /*1*/ w←v7072 = ((word) XRM←BITLSHIFT(hi←v7100, lSA←v7156) + (word) XRM←BITRSHIFT(lo←v7128, rSA←v7184)); SOURCE(7755, 11) /*1*/ (* (ptr) dst←v6792 ) = w←v7072; SOURCE(7768, 20) /*1*/ dst←v6792 = (dst←v6792 + 4); SOURCE(7790, 20) /*1*/ src←v6848 = (src←v6848 + 4); /*1*/ }; SOURCE(7815, 27) SOURCE(6879, 22) w←v7072 = (word) XRM←BITLSHIFT(lo←v7128, lSA←v7156); SOURCE(6903, 62) if ((0 != fetchLastWord←v7240)) { SOURCE(6925, 40) SOURCE(6926, 39) /*1*/ w←v7072 = (w←v7072 + (word) XRM←BITRSHIFT((* (ptr) src←v6848 ), rSA←v7184)); /*1*/ }; SOURCE(7844, 29) { /*1*/ word var←c20088; /*1*/ { /*1*/ word var←c20120; /*1*/ word d←v14352; /*1*/ word s←v14380; /*1*/ d←v14352 = (* (ptr) dst←v6792 ); /*1*/ s←v14380 = w←v7072; SOURCE(1756, 47) /*1*/ { /*1*/ word var←c20184; /*1*/ { /*1*/ word var←c20216; /*1*/ var←c20216 = (word) XRM←BITXOR(s←v14380, d←v14352); /*1*/ var←c20184 = (word) XRM←BITAND(var←c20216, rMask←v6960); /*1*/ }; /*1*/ var←c20120 = (word) XRM←BITXOR(var←c20184, d←v14352); /*1*/ }; /*1*/ var←c20088 = var←c20120; /*1*/ }; /*1*/ (* (ptr) dst←v6792 ) = var←c20088; /*1*/ }; }; break; }; }; }; }; }; }; } extern void Basics←CopyBitsDecreasing(dstBase←v5208, dstStart←v5236, srcBase←v5264, srcStart←v5292, count←v5320) word dstBase←v5208; word dstStart←v5236; word srcBase←v5264; word srcStart←v5292; word count←v5320; { register ptr gf←c24312 = (ptr) &globalframe; word dstCorr←v7620; word srcCorr←v7648; /* CopyBitsDecreasing: */ SOURCE(7888, 3414) SOURCE(8044, 55) dstCorr←v7620 = (dstBase←v5208 & 3); SOURCE(8101, 55) srcCorr←v7648 = (srcBase←v5264 & 3); SOURCE(8158, 214) if (((dstCorr←v7620 + srcCorr←v7648) != 0)) { SOURCE(8186, 188) { word p←v7692; SOURCE(8188, 21) p←v7692 = (* (( (ptr) gf←c24312)+5)/* logMisalign←v2916 */ ); SOURCE(8211, 19) if ((p←v7692 != 0)) { SOURCE(8227, 3) (void) ( *( (fPt) ((* (ptr) p←v7692 ))))(p←v7692); }; SOURCE(8232, 27) dstBase←v5208 = (dstBase←v5208 - dstCorr←v7620); SOURCE(8261, 40) dstStart←v5236 = (dstStart←v5236 + (dstCorr←v7620 << 3)); SOURCE(8303, 27) srcBase←v5264 = (srcBase←v5264 - srcCorr←v7648); SOURCE(8332, 40) srcStart←v5292 = (srcStart←v5292 + (srcCorr←v7648 << 3)); }; }; SOURCE(8377, 2925) if ((count←v5320 != 0)) { SOURCE(8395, 2915) { word dst←v7752; word dstBit←v7780; word src←v7808; word srcBit←v7836; word ndw←v7864; word lMask←v7892; word rMask←v7920; SOURCE(8397, 58) { word base←v12708; base←v12708 = dstBase←v5208; SOURCE(1634, 64) dst←v7752 = (base←v12708 + ((dstStart←v5236 >> 5) << 2)); }; SOURCE(8457, 33) dstBit←v7780 = (dstStart←v5236 & 037); SOURCE(8492, 58) { word base←v12660; base←v12660 = srcBase←v5264; SOURCE(1634, 64) src←v7808 = (base←v12660 + ((srcStart←v5292 >> 5) << 2)); }; SOURCE(8552, 33) srcBit←v7836 = (srcStart←v5292 & 037); SOURCE(8587, 40) { word bits←v11988; bits←v11988 = (dstBit←v7780 + count←v5320); SOURCE(1262, 32) ndw←v7864 = ((bits←v11988 + 31) >> 5); }; SOURCE(8629, 44) { word n←v12228; n←v12228 = (32 - dstBit←v7780); SOURCE(1363, 45) lMask←v7892 = (((word) XRM←BITLSHIFT(1, (n←v12228 & 037)) - 1) - (n←v12228 >> 5)); }; SOURCE(8675, 77) { word n←v12420; n←v12420 = (((32 - dstBit←v7780) - count←v5320) & 037); SOURCE(1476, 43) rMask←v7920 = INEG((word) XRM←BITRSHIFT(2147483648, (31 - n←v12420))); }; SOURCE(8754, 2548) if ((dstBit←v7780 == srcBit←v7836)) { SOURCE(8807, 894) { word var←c20472; var←c20472 = ndw←v7864; switch (var←c20472) { case 1: SOURCE(8836, 53) SOURCE(8838, 49) { word var←c20504; { word var←c20536; word d←v14248; word s←v14276; word mask←v14304; d←v14248 = (* (ptr) dst←v7752 ); s←v14276 = (* (ptr) src←v7808 ); mask←v14304 = (word) XRM←BITAND(lMask←v7892, rMask←v7920); SOURCE(1756, 47) { /*1*/ word var←c20600; /*1*/ { /*1*/ word var←c20632; /*1*/ var←c20632 = (word) XRM←BITXOR(s←v14276, d←v14248); /*1*/ var←c20600 = (word) XRM←BITAND(var←c20632, mask←v14304); /*1*/ }; /*1*/ var←c20536 = (word) XRM←BITXOR(var←c20600, d←v14248); /*1*/ }; var←c20504 = var←c20536; }; (* (ptr) dst←v7752 ) = var←c20504; }; break; case 2: SOURCE(8905, 74) SOURCE(8907, 34) { word var←c20664; { word var←c20696; word d←v14172; word s←v14200; d←v14172 = (* (( (ptr) dst←v7752)+1) ); s←v14200 = (* (( (ptr) src←v7808)+1) ); SOURCE(1756, 47) { /*1*/ word var←c20760; /*1*/ { /*1*/ word var←c20792; /*1*/ var←c20792 = (word) XRM←BITXOR(s←v14200, d←v14172); /*1*/ var←c20760 = (word) XRM←BITAND(var←c20792, rMask←v7920); /*1*/ }; /*1*/ var←c20696 = (word) XRM←BITXOR(var←c20760, d←v14172); /*1*/ }; var←c20664 = var←c20696; }; (* (( (ptr) dst←v7752)+1) ) = var←c20664; }; SOURCE(8943, 34) { word var←c20824; { word var←c20856; word d←v14096; word s←v14124; d←v14096 = (* (ptr) dst←v7752 ); s←v14124 = (* (ptr) src←v7808 ); SOURCE(1756, 47) { /*1*/ word var←c20920; /*1*/ { /*1*/ word var←c20952; /*1*/ var←c20952 = (word) XRM←BITXOR(s←v14124, d←v14096); /*1*/ var←c20920 = (word) XRM←BITAND(var←c20952, lMask←v7892); /*1*/ }; /*1*/ var←c20856 = (word) XRM←BITXOR(var←c20920, d←v14096); /*1*/ }; var←c20824 = var←c20856; }; (* (ptr) dst←v7752 ) = var←c20824; }; break; case 3: SOURCE(8995, 92) SOURCE(8997, 34) { word var←c20984; { word var←c21016; word d←v14020; word s←v14048; d←v14020 = (* (( (ptr) dst←v7752)+2) ); s←v14048 = (* (( (ptr) src←v7808)+2) ); SOURCE(1756, 47) { /*1*/ word var←c21080; /*1*/ { /*1*/ word var←c21112; /*1*/ var←c21112 = (word) XRM←BITXOR(s←v14048, d←v14020); /*1*/ var←c21080 = (word) XRM←BITAND(var←c21112, rMask←v7920); /*1*/ }; /*1*/ var←c21016 = (word) XRM←BITXOR(var←c21080, d←v14020); /*1*/ }; var←c20984 = var←c21016; }; (* (( (ptr) dst←v7752)+2) ) = var←c20984; }; SOURCE(9033, 16) (* (( (ptr) dst←v7752)+1) ) = (* (( (ptr) src←v7808)+1) ); SOURCE(9051, 34) { word var←c21144; { word var←c21176; word d←v13944; word s←v13972; d←v13944 = (* (ptr) dst←v7752 ); s←v13972 = (* (ptr) src←v7808 ); SOURCE(1756, 47) { /*1*/ word var←c21240; /*1*/ { /*1*/ word var←c21272; /*1*/ var←c21272 = (word) XRM←BITXOR(s←v13972, d←v13944); /*1*/ var←c21240 = (word) XRM←BITAND(var←c21272, lMask←v7892); /*1*/ }; /*1*/ var←c21176 = (word) XRM←BITXOR(var←c21240, d←v13944); /*1*/ }; var←c21144 = var←c21176; }; (* (ptr) dst←v7752 ) = var←c21144; }; break; default: SOURCE(9109, 594) { word nw←v7988; SOURCE(9111, 32) nw←v7988 = (ndw←v7864 - 2); SOURCE(9145, 39) dst←v7752 = ((dst←v7752 + (ndw←v7864 << 2)) - 4); SOURCE(9186, 39) src←v7808 = ((src←v7808 + (ndw←v7864 << 2)) - 4); SOURCE(9227, 34) { word var←c21304; { /*1*/ word var←c21336; /*1*/ word d←v13868; /*1*/ word s←v13896; /*1*/ d←v13868 = (* (ptr) dst←v7752 ); /*1*/ s←v13896 = (* (ptr) src←v7808 ); SOURCE(1756, 47) /*1*/ { /*1*/ word var←c21400; /*1*/ { /*1*/ word var←c21432; /*1*/ var←c21432 = (word) XRM←BITXOR(s←v13896, d←v13868); /*1*/ var←c21400 = (word) XRM←BITAND(var←c21432, rMask←v7920); /*1*/ }; /*1*/ var←c21336 = (word) XRM←BITXOR(var←c21400, d←v13868); /*1*/ }; /*1*/ var←c21304 = var←c21336; /*1*/ }; (* (ptr) dst←v7752 ) = var←c21304; }; SOURCE(9263, 146) lab←L100058: ; if ((nw←v7988 >= 4)) { } else { goto lab←L100056; }; SOURCE(9280, 23) dst←v7752 = (dst←v7752 - 16); SOURCE(9305, 23) src←v7808 = (src←v7808 - 16); SOURCE(9330, 15) (* (( (ptr) dst←v7752)+3) ) = (* (( (ptr) src←v7808)+3) ); SOURCE(9347, 15) (* (( (ptr) dst←v7752)+2) ) = (* (( (ptr) src←v7808)+2) ); SOURCE(9364, 15) (* (( (ptr) dst←v7752)+1) ) = (* (( (ptr) src←v7808)+1) ); SOURCE(9381, 15) (* (ptr) dst←v7752 ) = (* (ptr) src←v7808 ); SOURCE(9398, 11) nw←v7988 = (nw←v7988 - 4); goto lab←L100058; lab←L100056: ; SOURCE(9420, 113) if ((nw←v7988 >= 2)) { SOURCE(9438, 23) dst←v7752 = (dst←v7752 - 8); SOURCE(9463, 23) src←v7808 = (src←v7808 - 8); SOURCE(9488, 15) (* (( (ptr) dst←v7752)+1) ) = (* (( (ptr) src←v7808)+1) ); SOURCE(9505, 15) (* (ptr) dst←v7752 ) = (* (ptr) src←v7808 ); SOURCE(9522, 11) nw←v7988 = (nw←v7988 - 2); }; SOURCE(9538, 78) if ((nw←v7988 != 0)) { SOURCE(9555, 21) dst←v7752 = (dst←v7752 - 4); SOURCE(9578, 21) src←v7808 = (src←v7808 - 4); SOURCE(9601, 15) (* (ptr) dst←v7752 ) = (* (ptr) src←v7808 ); }; SOURCE(9621, 21) dst←v7752 = (dst←v7752 - 4); SOURCE(9644, 21) src←v7808 = (src←v7808 - 4); SOURCE(9667, 34) { word var←c21464; { /*1*/ word var←c21496; /*1*/ word d←v13792; /*1*/ word s←v13820; /*1*/ d←v13792 = (* (ptr) dst←v7752 ); /*1*/ s←v13820 = (* (ptr) src←v7808 ); SOURCE(1756, 47) /*1*/ { /*1*/ word var←c21560; /*1*/ { /*1*/ word var←c21592; /*1*/ var←c21592 = (word) XRM←BITXOR(s←v13820, d←v13792); /*1*/ var←c21560 = (word) XRM←BITAND(var←c21592, lMask←v7892); /*1*/ }; /*1*/ var←c21496 = (word) XRM←BITXOR(var←c21560, d←v13792); /*1*/ }; /*1*/ var←c21464 = var←c21496; /*1*/ }; (* (ptr) dst←v7752 ) = var←c21464; }; }; break; }; }; } else { SOURCE(9713, 1594) { word w←v8032 = 0; word hi←v8060 = 0; word lo←v8088; word lSA←v8116; word rSA←v8144; word nsw←v8172; word fetchLeftmost←v8200; word fetchRightmost←v8228; SOURCE(9873, 55) lSA←v8116 = ((srcBit←v7836 - dstBit←v7780) & 037); SOURCE(9951, 51) rSA←v8144 = ((32 - lSA←v8116) & 037); SOURCE(10058, 40) { word bits←v11940; bits←v11940 = (srcBit←v7836 + count←v5320); SOURCE(1262, 32) nsw←v8172 = ((bits←v11940 + 31) >> 5); }; SOURCE(10100, 38) fetchLeftmost←v8200 = (srcBit←v7836 >= dstBit←v7780); SOURCE(10140, 70) fetchRightmost←v8228 = ( (0 != fetchLeftmost←v8200) ? (nsw←v8172 > ndw←v7864) : (nsw←v8172 >= ndw←v7864) ) ; SOURCE(10477, 41) src←v7808 = ((src←v7808 + (nsw←v8172 << 2)) - 4); SOURCE(10520, 34) if ((0 != fetchRightmost←v8228)) { SOURCE(10543, 11) SOURCE(10239, 7) lo←v8088 = hi←v8060; SOURCE(10256, 12) SOURCE(10257, 11) hi←v8060 = (* (ptr) src←v7808 ); SOURCE(10271, 21) src←v7808 = (src←v7808 - 4); SOURCE(10294, 42) w←v8032 = ((word) XRM←BITLSHIFT(hi←v8060, lSA←v8116) + (word) XRM←BITRSHIFT(lo←v8088, rSA←v8144)); }; SOURCE(10556, 746) { word var←c21656; var←c21656 = ndw←v7864; switch (var←c21656) { case 1: SOURCE(10585, 88) { word bothMask←v8360; SOURCE(10587, 37) bothMask←v8360 = (word) XRM←BITAND(lMask←v7892, rMask←v7920); SOURCE(10626, 11) SOURCE(10366, 7) lo←v8088 = hi←v8060; SOURCE(10375, 55) if ((0 != fetchLeftmost←v8200)) { SOURCE(10405, 12) SOURCE(10406, 11) /*1*/ hi←v8060 = (* (ptr) src←v7808 ); /*1*/ } else { SOURCE(10424, 6) /*1*/ hi←v8060 = 0; /*1*/ }; SOURCE(10432, 42) w←v8032 = ((word) XRM←BITLSHIFT(hi←v8060, lSA←v8116) + (word) XRM←BITRSHIFT(lo←v8088, rSA←v8144)); SOURCE(10639, 32) { /*1*/ word var←c21688; /*1*/ { /*1*/ word var←c21720; /*1*/ word d←v13716; /*1*/ word s←v13744; /*1*/ d←v13716 = (* (ptr) dst←v7752 ); /*1*/ s←v13744 = w←v8032; SOURCE(1756, 47) /*1*/ { /*1*/ word var←c21784; /*1*/ { /*1*/ word var←c21816; /*1*/ var←c21816 = (word) XRM←BITXOR(s←v13744, d←v13716); /*1*/ var←c21784 = (word) XRM←BITAND(var←c21816, bothMask←v8360); /*1*/ }; /*1*/ var←c21720 = (word) XRM←BITXOR(var←c21784, d←v13716); /*1*/ }; /*1*/ var←c21688 = var←c21720; /*1*/ }; /*1*/ (* (ptr) dst←v7752 ) = var←c21688; /*1*/ }; }; break; case 2: SOURCE(10689, 90) SOURCE(10691, 11) SOURCE(10239, 7) lo←v8088 = hi←v8060; SOURCE(10256, 12) SOURCE(10257, 11) hi←v8060 = (* (ptr) src←v7808 ); SOURCE(10271, 21) src←v7808 = (src←v7808 - 4); SOURCE(10294, 42) w←v8032 = ((word) XRM←BITLSHIFT(hi←v8060, lSA←v8116) + (word) XRM←BITRSHIFT(lo←v8088, rSA←v8144)); SOURCE(10704, 29) { word var←c21848; { /*1*/ word var←c21880; /*1*/ word d←v13640; /*1*/ word s←v13668; /*1*/ d←v13640 = (* (( (ptr) dst←v7752)+1) ); /*1*/ s←v13668 = w←v8032; SOURCE(1756, 47) /*1*/ { /*1*/ word var←c21944; /*1*/ { /*1*/ word var←c21976; /*1*/ var←c21976 = (word) XRM←BITXOR(s←v13668, d←v13640); /*1*/ var←c21944 = (word) XRM←BITAND(var←c21976, rMask←v7920); /*1*/ }; /*1*/ var←c21880 = (word) XRM←BITXOR(var←c21944, d←v13640); /*1*/ }; /*1*/ var←c21848 = var←c21880; /*1*/ }; (* (( (ptr) dst←v7752)+1) ) = var←c21848; }; SOURCE(10735, 11) SOURCE(10366, 7) lo←v8088 = hi←v8060; SOURCE(10375, 55) if ((0 != fetchLeftmost←v8200)) { SOURCE(10405, 12) SOURCE(10406, 11) hi←v8060 = (* (ptr) src←v7808 ); } else { SOURCE(10424, 6) hi←v8060 = 0; }; SOURCE(10432, 42) w←v8032 = ((word) XRM←BITLSHIFT(hi←v8060, lSA←v8116) + (word) XRM←BITRSHIFT(lo←v8088, rSA←v8144)); SOURCE(10748, 29) { word var←c22008; { /*1*/ word var←c22040; /*1*/ word d←v13564; /*1*/ word s←v13592; /*1*/ d←v13564 = (* (ptr) dst←v7752 ); /*1*/ s←v13592 = w←v8032; SOURCE(1756, 47) /*1*/ { /*1*/ word var←c22104; /*1*/ { /*1*/ word var←c22136; /*1*/ var←c22136 = (word) XRM←BITXOR(s←v13592, d←v13564); /*1*/ var←c22104 = (word) XRM←BITAND(var←c22136, lMask←v7892); /*1*/ }; /*1*/ var←c22040 = (word) XRM←BITXOR(var←c22104, d←v13564); /*1*/ }; /*1*/ var←c22008 = var←c22040; /*1*/ }; (* (ptr) dst←v7752 ) = var←c22008; }; break; case 3: SOURCE(10795, 115) SOURCE(10797, 11) SOURCE(10239, 7) lo←v8088 = hi←v8060; SOURCE(10256, 12) SOURCE(10257, 11) hi←v8060 = (* (ptr) src←v7808 ); SOURCE(10271, 21) src←v7808 = (src←v7808 - 4); SOURCE(10294, 42) w←v8032 = ((word) XRM←BITLSHIFT(hi←v8060, lSA←v8116) + (word) XRM←BITRSHIFT(lo←v8088, rSA←v8144)); SOURCE(10810, 29) { word var←c22168; { /*1*/ word var←c22200; /*1*/ word d←v13488; /*1*/ word s←v13516; /*1*/ d←v13488 = (* (( (ptr) dst←v7752)+2) ); /*1*/ s←v13516 = w←v8032; SOURCE(1756, 47) /*1*/ { /*1*/ word var←c22264; /*1*/ { /*1*/ word var←c22296; /*1*/ var←c22296 = (word) XRM←BITXOR(s←v13516, d←v13488); /*1*/ var←c22264 = (word) XRM←BITAND(var←c22296, rMask←v7920); /*1*/ }; /*1*/ var←c22200 = (word) XRM←BITXOR(var←c22264, d←v13488); /*1*/ }; /*1*/ var←c22168 = var←c22200; /*1*/ }; (* (( (ptr) dst←v7752)+2) ) = var←c22168; }; SOURCE(10841, 11) SOURCE(10239, 7) lo←v8088 = hi←v8060; SOURCE(10256, 12) SOURCE(10257, 11) hi←v8060 = (* (ptr) src←v7808 ); SOURCE(10271, 21) src←v7808 = (src←v7808 - 4); SOURCE(10294, 42) w←v8032 = ((word) XRM←BITLSHIFT(hi←v8060, lSA←v8116) + (word) XRM←BITRSHIFT(lo←v8088, rSA←v8144)); SOURCE(10854, 10) (* (( (ptr) dst←v7752)+1) ) = w←v8032; SOURCE(10866, 11) SOURCE(10366, 7) lo←v8088 = hi←v8060; SOURCE(10375, 55) if ((0 != fetchLeftmost←v8200)) { SOURCE(10405, 12) SOURCE(10406, 11) hi←v8060 = (* (ptr) src←v7808 ); } else { SOURCE(10424, 6) hi←v8060 = 0; }; SOURCE(10432, 42) w←v8032 = ((word) XRM←BITLSHIFT(hi←v8060, lSA←v8116) + (word) XRM←BITRSHIFT(lo←v8088, rSA←v8144)); SOURCE(10879, 29) { word var←c22328; { /*1*/ word var←c22360; /*1*/ word d←v13412; /*1*/ word s←v13440; /*1*/ d←v13412 = (* (ptr) dst←v7752 ); /*1*/ s←v13440 = w←v8032; SOURCE(1756, 47) /*1*/ { /*1*/ word var←c22424; /*1*/ { /*1*/ word var←c22456; /*1*/ var←c22456 = (word) XRM←BITXOR(s←v13440, d←v13412); /*1*/ var←c22424 = (word) XRM←BITAND(var←c22456, lMask←v7892); /*1*/ }; /*1*/ var←c22360 = (word) XRM←BITXOR(var←c22424, d←v13412); /*1*/ }; /*1*/ var←c22328 = var←c22360; /*1*/ }; (* (ptr) dst←v7752 ) = var←c22328; }; break; default: SOURCE(10932, 372) { word nw←v8404; SOURCE(10934, 32) nw←v8404 = (ndw←v7864 - 2); SOURCE(10968, 11) SOURCE(10239, 7) lo←v8088 = hi←v8060; SOURCE(10256, 12) SOURCE(10257, 11) hi←v8060 = (* (ptr) src←v7808 ); SOURCE(10271, 21) src←v7808 = (src←v7808 - 4); SOURCE(10294, 42) w←v8032 = ((word) XRM←BITLSHIFT(hi←v8060, lSA←v8116) + (word) XRM←BITRSHIFT(lo←v8088, rSA←v8144)); SOURCE(10981, 41) dst←v7752 = ((dst←v7752 + (ndw←v7864 << 2)) - 4); SOURCE(11024, 29) { /*1*/ word var←c22488; /*1*/ { /*1*/ word var←c22520; /*1*/ word d←v13336; /*1*/ word s←v13364; /*1*/ d←v13336 = (* (ptr) dst←v7752 ); /*1*/ s←v13364 = w←v8032; SOURCE(1756, 47) /*1*/ { /*1*/ word var←c22584; /*1*/ { /*1*/ word var←c22616; /*1*/ var←c22616 = (word) XRM←BITXOR(s←v13364, d←v13336); /*1*/ var←c22584 = (word) XRM←BITAND(var←c22616, rMask←v7920); /*1*/ }; /*1*/ var←c22520 = (word) XRM←BITXOR(var←c22584, d←v13336); /*1*/ }; /*1*/ var←c22488 = var←c22520; /*1*/ }; /*1*/ (* (ptr) dst←v7752 ) = var←c22488; /*1*/ }; SOURCE(11055, 103) lab←L100069: ; if ((nw←v8404 >= 2)) { /*1*/ } else { /*1*/ goto lab←L100067; /*1*/ }; SOURCE(11072, 23) dst←v7752 = (dst←v7752 - 8); SOURCE(11097, 11) SOURCE(10239, 7) lo←v8088 = hi←v8060; SOURCE(10256, 12) SOURCE(10257, 11) hi←v8060 = (* (ptr) src←v7808 ); SOURCE(10271, 21) src←v7808 = (src←v7808 - 4); SOURCE(10294, 42) w←v8032 = ((word) XRM←BITLSHIFT(hi←v8060, lSA←v8116) + (word) XRM←BITRSHIFT(lo←v8088, rSA←v8144)); SOURCE(11110, 10) (* (( (ptr) dst←v7752)+1) ) = w←v8032; SOURCE(11122, 11) SOURCE(10239, 7) lo←v8088 = hi←v8060; SOURCE(10256, 12) SOURCE(10257, 11) hi←v8060 = (* (ptr) src←v7808 ); SOURCE(10271, 21) src←v7808 = (src←v7808 - 4); SOURCE(10294, 42) w←v8032 = ((word) XRM←BITLSHIFT(hi←v8060, lSA←v8116) + (word) XRM←BITRSHIFT(lo←v8088, rSA←v8144)); SOURCE(11135, 10) (* (ptr) dst←v7752 ) = w←v8032; SOURCE(11147, 11) nw←v8404 = (nw←v8404 - 2); goto lab←L100069; lab←L100067: ; SOURCE(11169, 63) if ((nw←v8404 != 0)) { SOURCE(11186, 21) /*1*/ dst←v7752 = (dst←v7752 - 4); SOURCE(11209, 11) SOURCE(10239, 7) /*1*/ lo←v8088 = hi←v8060; SOURCE(10256, 12) SOURCE(10257, 11) /*1*/ hi←v8060 = (* (ptr) src←v7808 ); SOURCE(10271, 21) /*1*/ src←v7808 = (src←v7808 - 4); SOURCE(10294, 42) /*1*/ w←v8032 = ((word) XRM←BITLSHIFT(hi←v8060, lSA←v8116) + (word) XRM←BITRSHIFT(lo←v8088, rSA←v8144)); SOURCE(11222, 10) /*1*/ (* (ptr) dst←v7752 ) = w←v8032; /*1*/ }; SOURCE(11237, 21) dst←v7752 = (dst←v7752 - 4); SOURCE(11260, 11) SOURCE(10366, 7) lo←v8088 = hi←v8060; SOURCE(10375, 55) if ((0 != fetchLeftmost←v8200)) { SOURCE(10405, 12) SOURCE(10406, 11) /*1*/ hi←v8060 = (* (ptr) src←v7808 ); /*1*/ } else { SOURCE(10424, 6) /*1*/ hi←v8060 = 0; /*1*/ }; SOURCE(10432, 42) w←v8032 = ((word) XRM←BITLSHIFT(hi←v8060, lSA←v8116) + (word) XRM←BITRSHIFT(lo←v8088, rSA←v8144)); SOURCE(11273, 29) { /*1*/ word var←c22648; /*1*/ { /*1*/ word var←c22680; /*1*/ word d←v13260; /*1*/ word s←v13288; /*1*/ d←v13260 = (* (ptr) dst←v7752 ); /*1*/ s←v13288 = w←v8032; SOURCE(1756, 47) /*1*/ { /*1*/ word var←c22744; /*1*/ { /*1*/ word var←c22776; /*1*/ var←c22776 = (word) XRM←BITXOR(s←v13288, d←v13260); /*1*/ var←c22744 = (word) XRM←BITAND(var←c22776, lMask←v7892); /*1*/ }; /*1*/ var←c22680 = (word) XRM←BITXOR(var←c22744, d←v13260); /*1*/ }; /*1*/ var←c22648 = var←c22680; /*1*/ }; /*1*/ (* (ptr) dst←v7752 ) = var←c22648; /*1*/ }; }; break; }; }; }; }; }; }; } extern void Basics←MoveBits(dstBase←v5404, dstStart←v5432, srcBase←v5460, srcStart←v5488, count←v5516) word dstBase←v5404; word dstStart←v5432; word srcBase←v5460; word srcStart←v5488; word count←v5516; { word d0←v8448; word s0←v8476; /* MoveBits: */ SOURCE(11317, 572) SOURCE(11462, 54) d0←v8448 = ((dstBase←v5404 << 3) + dstStart←v5432); SOURCE(11518, 54) s0←v8476 = ((srcBase←v5460 << 3) + srcStart←v5488); SOURCE(11574, 315) if ( ( (d0←v8448 > s0←v8476) ? (d0←v8448 < (s0←v8476 + count←v5516)) : 0 ) ) { SOURCE(11664, 96) { register word i←v8520; i←v8520 = count←v5516; if ((0 >= i←v8520)) { goto lab←L100071; }; i←v8520 = (i←v8520 - 1); lab←L100074: ; SOURCE(11716, 44) SOURCE(11718, 42) { word x2; word x3; x2 = (word) (( (ptr) dstBase←v5404) + ((dstStart←v5432 + i←v8520) >> 5)); x3 = 32 - (((dstStart←v5432 + i←v8520) & 037)+1); (* (ptr) x2 ) = ((* (ptr) x2 ) & ( ~ (1 << x3))) | (((((* (ptr) (( (ptr) srcBase←v5460) + ((srcStart←v5488 + i←v8520) >> 5)) ) >> (31 - (((srcStart←v5488 + i←v8520) & 037)))) & 1)) << x3); }; if ((0 >= i←v8520)) { goto lab←L100071; }; i←v8520 = (i←v8520 - 1); goto lab←L100074; lab←L100071: ; }; } else { SOURCE(11787, 102) SOURCE(11789, 98) (void) Basics←CopyBits(dstBase←v5404, dstStart←v5432, srcBase←v5460, srcStart←v5488, count←v5516); }; } extern void Basics←FillBits(dstBase←v5600, dstStart←v5628, count←v5656, value←v5684) word dstBase←v5600; word dstStart←v5628; word count←v5656; word value←v5684; { register ptr gf←c24344 = (ptr) &globalframe; word dstCorr←v8564; /* FillBits: */ SOURCE(11896, 1187) SOURCE(12008, 55) dstCorr←v8564 = (dstBase←v5600 & 3); SOURCE(12065, 135) if ((dstCorr←v8564 != 0)) { SOURCE(12085, 117) { word p←v8608; SOURCE(12087, 21) p←v8608 = (* (( (ptr) gf←c24344)+5)/* logMisalign←v2916 */ ); SOURCE(12110, 19) if ((p←v8608 != 0)) { SOURCE(12126, 3) (void) ( *( (fPt) ((* (ptr) p←v8608 ))))(p←v8608); }; SOURCE(12131, 27) dstBase←v5600 = (dstBase←v5600 - dstCorr←v8564); SOURCE(12160, 40) dstStart←v5628 = (dstStart←v5628 + (dstCorr←v8564 << 3)); }; }; SOURCE(12205, 878) if ((count←v5656 != 0)) { SOURCE(12223, 865) { word dst←v8668; word dstBit←v8696; word ndw←v8724; word lMask←v8752; word rMask←v8780; SOURCE(12225, 58) { word base←v12612; base←v12612 = dstBase←v5600; SOURCE(1634, 64) dst←v8668 = (base←v12612 + ((dstStart←v5628 >> 5) << 2)); }; SOURCE(12285, 33) dstBit←v8696 = (dstStart←v5628 & 037); SOURCE(12320, 40) { word bits←v11892; bits←v11892 = (dstBit←v8696 + count←v5656); SOURCE(1262, 32) ndw←v8724 = ((bits←v11892 + 31) >> 5); }; SOURCE(12362, 44) { word n←v12180; n←v12180 = (32 - dstBit←v8696); SOURCE(1363, 45) lMask←v8752 = (((word) XRM←BITLSHIFT(1, (n←v12180 & 037)) - 1) - (n←v12180 >> 5)); }; SOURCE(12408, 77) { word n←v12372; n←v12372 = (((32 - dstBit←v8696) - count←v5656) & 037); SOURCE(1476, 43) rMask←v8780 = INEG((word) XRM←BITRSHIFT(2147483648, (31 - n←v12372))); }; SOURCE(12487, 596) { word var←c23000; var←c23000 = ndw←v8724; if ((var←c23000 == 1)) { SOURCE(12516, 52) SOURCE(12518, 48) { word var←c23032; { word var←c23064; word d←v13156; word s←v13184; word mask←v13212; d←v13156 = (* (ptr) dst←v8668 ); s←v13184 = value←v5684; mask←v13212 = (word) XRM←BITAND(lMask←v8752, rMask←v8780); SOURCE(1756, 47) { word var←c23128; { word var←c23160; var←c23160 = (word) XRM←BITXOR(s←v13184, d←v13156); var←c23128 = (word) XRM←BITAND(var←c23160, mask←v13212); }; var←c23064 = (word) XRM←BITXOR(var←c23128, d←v13156); }; var←c23032 = var←c23064; }; (* (ptr) dst←v8668 ) = var←c23032; }; } else { if ((var←c23000 == 2)) { SOURCE(12584, 72) SOURCE(12586, 33) { word var←c23192; { word var←c23224; word d←v13080; word s←v13108; d←v13080 = (* (ptr) dst←v8668 ); s←v13108 = value←v5684; SOURCE(1756, 47) { word var←c23288; { /*1*/ word var←c23320; /*1*/ var←c23320 = (word) XRM←BITXOR(s←v13108, d←v13080); /*1*/ var←c23288 = (word) XRM←BITAND(var←c23320, lMask←v8752); /*1*/ }; var←c23224 = (word) XRM←BITXOR(var←c23288, d←v13080); }; var←c23192 = var←c23224; }; (* (ptr) dst←v8668 ) = var←c23192; }; SOURCE(12621, 33) { word var←c23352; { word var←c23384; word d←v13004; word s←v13032; d←v13004 = (* (( (ptr) dst←v8668)+1) ); s←v13032 = value←v5684; SOURCE(1756, 47) { word var←c23448; { /*1*/ word var←c23480; /*1*/ var←c23480 = (word) XRM←BITXOR(s←v13032, d←v13004); /*1*/ var←c23448 = (word) XRM←BITAND(var←c23480, rMask←v8780); /*1*/ }; var←c23384 = (word) XRM←BITXOR(var←c23448, d←v13004); }; var←c23352 = var←c23384; }; (* (( (ptr) dst←v8668)+1) ) = var←c23352; }; } else { SOURCE(12678, 407) { word nw←v8836; SOURCE(12680, 32) nw←v8836 = (ndw←v8724 - 2); SOURCE(12714, 33) { word var←c23512; { word var←c23544; word d←v12928; word s←v12956; d←v12928 = (* (ptr) dst←v8668 ); s←v12956 = value←v5684; SOURCE(1756, 47) { /*1*/ word var←c23608; /*1*/ { /*1*/ word var←c23640; /*1*/ var←c23640 = (word) XRM←BITXOR(s←v12956, d←v12928); /*1*/ var←c23608 = (word) XRM←BITAND(var←c23640, lMask←v8752); /*1*/ }; /*1*/ var←c23544 = (word) XRM←BITXOR(var←c23608, d←v12928); /*1*/ }; var←c23512 = var←c23544; }; (* (ptr) dst←v8668 ) = var←c23512; }; SOURCE(12749, 21) dst←v8668 = (dst←v8668 + 4); SOURCE(12772, 117) lab←L100085: ; if ((nw←v8836 >= 4)) { } else { goto lab←L100083; }; SOURCE(12789, 14) (* (ptr) dst←v8668 ) = value←v5684; SOURCE(12805, 14) (* (( (ptr) dst←v8668)+1) ) = value←v5684; SOURCE(12821, 14) (* (( (ptr) dst←v8668)+2) ) = value←v5684; SOURCE(12837, 14) (* (( (ptr) dst←v8668)+3) ) = value←v5684; SOURCE(12853, 23) dst←v8668 = (dst←v8668 + 16); SOURCE(12878, 11) nw←v8836 = (nw←v8836 - 4); goto lab←L100085; lab←L100083: ; SOURCE(12900, 86) if ((nw←v8836 >= 2)) { SOURCE(12918, 14) (* (ptr) dst←v8668 ) = value←v5684; SOURCE(12934, 14) (* (( (ptr) dst←v8668)+1) ) = value←v5684; SOURCE(12950, 23) dst←v8668 = (dst←v8668 + 8); SOURCE(12975, 11) nw←v8836 = (nw←v8836 - 2); }; SOURCE(12991, 54) if ((nw←v8836 != 0)) { SOURCE(13008, 15) (* (ptr) dst←v8668 ) = value←v5684; SOURCE(13025, 20) dst←v8668 = (dst←v8668 + 4); }; SOURCE(13050, 33) { word var←c23672; { word var←c23704; word d←v12852; word s←v12880; d←v12852 = (* (ptr) dst←v8668 ); s←v12880 = value←v5684; SOURCE(1756, 47) { /*1*/ word var←c23768; /*1*/ { /*1*/ word var←c23800; /*1*/ var←c23800 = (word) XRM←BITXOR(s←v12880, d←v12852); /*1*/ var←c23768 = (word) XRM←BITAND(var←c23800, rMask←v8780); /*1*/ }; /*1*/ var←c23704 = (word) XRM←BITXOR(var←c23768, d←v12852); /*1*/ }; var←c23672 = var←c23704; }; (* (ptr) dst←v8668 ) = var←c23672; }; }; }; }; }; }; }; } extern word Basics←CompareBits(aBase←v5756, aStart←v5784, bBase←v5812, bStart←v5840, count←v5868) word aBase←v5756; word aStart←v5784; word bBase←v5812; word bStart←v5840; word count←v5868; { register ptr gf←c24376 = (ptr) &globalframe; word var←c5936; word aCorr←v8880; word bCorr←v8908; /* CompareBits: */ SOURCE(13095, 4091) SOURCE(13256, 51) aCorr←v8880 = (aBase←v5756 & 3); SOURCE(13309, 51) bCorr←v8908 = (aBase←v5756 & 3); SOURCE(13362, 186) if (((aCorr←v8880 + bCorr←v8908) != 0)) { SOURCE(13386, 164) { word p←v8952; SOURCE(13388, 21) p←v8952 = (* (( (ptr) gf←c24376)+5)/* logMisalign←v2916 */ ); SOURCE(13411, 19) if ((p←v8952 != 0)) { SOURCE(13427, 3) (void) ( *( (fPt) ((* (ptr) p←v8952 ))))(p←v8952); }; SOURCE(13432, 21) aBase←v5756 = (aBase←v5756 - aCorr←v8880); SOURCE(13455, 34) aStart←v5784 = (aStart←v5784 + (aCorr←v8880 << 3)); SOURCE(13491, 21) bBase←v5812 = (bBase←v5812 - bCorr←v8908); SOURCE(13514, 34) bStart←v5840 = (bStart←v5840 + (bCorr←v8908 << 3)); }; }; SOURCE(13553, 3613) if ((count←v5868 != 0)) { SOURCE(13571, 3598) { word a←v9012; word aBit←v9040; word b←v9068; word bBit←v9096; word ndw←v9124; word lMask←v9152; word rMask←v9180; word aWord←v9208 = 0; word bWord←v9236 = 0; SOURCE(13573, 52) { word base←v12564; base←v12564 = aBase←v5756; SOURCE(1634, 64) a←v9012 = (base←v12564 + ((aStart←v5784 >> 5) << 2)); }; SOURCE(13627, 29) aBit←v9040 = (aStart←v5784 & 037); SOURCE(13658, 52) { word base←v12516; base←v12516 = bBase←v5812; SOURCE(1634, 64) b←v9068 = (base←v12516 + ((bStart←v5840 >> 5) << 2)); }; SOURCE(13712, 29) bBit←v9096 = (bStart←v5840 & 037); SOURCE(13743, 38) { word bits←v11844; bits←v11844 = (aBit←v9040 + count←v5868); SOURCE(1262, 32) ndw←v9124 = ((bits←v11844 + 31) >> 5); }; SOURCE(13783, 42) { word n←v12132; n←v12132 = (32 - aBit←v9040); SOURCE(1363, 45) lMask←v9152 = (((word) XRM←BITLSHIFT(1, (n←v12132 & 037)) - 1) - (n←v12132 >> 5)); }; SOURCE(13827, 75) { word n←v12324; n←v12324 = (((32 - aBit←v9040) - count←v5868) & 037); SOURCE(1476, 43) rMask←v9180 = INEG((word) XRM←BITRSHIFT(2147483648, (31 - n←v12324))); }; SOURCE(14084, 3082) SOURCE(14086, 2984) if ((aBit←v9040 == bBit←v9096)) { SOURCE(14135, 899) { word var←c24056; var←c24056 = ndw←v9124; switch (var←c24056) { case 1: SOURCE(14164, 74) SOURCE(14166, 35) { word aW←v16432; word bW←v16460; word m←v16488; aW←v16432 = (* (ptr) a←v9012 ); bW←v16460 = (* (ptr) b←v9068 ); m←v16488 = (word) XRM←BITAND(lMask←v9152, rMask←v9180); SOURCE(13975, 21) aWord←v9208 = (word) XRM←BITAND(aW←v16432, m←v16488); SOURCE(13998, 21) bWord←v9236 = (word) XRM←BITAND(bW←v16460, m←v16488); }; SOURCE(14203, 22) if ((aWord←v9208 != bWord←v9236)) { SOURCE(14225, 11) goto lab←L100092; }; break; case 2: SOURCE(14254, 116) SOURCE(14256, 20) { word aW←v16356; word bW←v16384; aW←v16356 = (* (ptr) a←v9012 ); bW←v16384 = (* (ptr) b←v9068 ); SOURCE(13975, 21) aWord←v9208 = (word) XRM←BITAND(aW←v16356, lMask←v9152); SOURCE(13998, 21) bWord←v9236 = (word) XRM←BITAND(bW←v16384, lMask←v9152); }; SOURCE(14278, 22) if ((aWord←v9208 != bWord←v9236)) { SOURCE(14300, 11) goto lab←L100092; }; SOURCE(14313, 20) { word aW←v16280; word bW←v16308; aW←v16280 = (* (( (ptr) a←v9012)+1) ); bW←v16308 = (* (( (ptr) b←v9068)+1) ); SOURCE(13975, 21) aWord←v9208 = (word) XRM←BITAND(aW←v16280, rMask←v9180); SOURCE(13998, 21) bWord←v9236 = (word) XRM←BITAND(bW←v16308, rMask←v9180); }; SOURCE(14335, 22) if ((aWord←v9208 != bWord←v9236)) { SOURCE(14357, 11) goto lab←L100092; }; break; case 3: SOURCE(14386, 166) SOURCE(14388, 20) { word aW←v16204; word bW←v16232; aW←v16204 = (* (ptr) a←v9012 ); bW←v16232 = (* (ptr) b←v9068 ); SOURCE(13975, 21) aWord←v9208 = (word) XRM←BITAND(aW←v16204, lMask←v9152); SOURCE(13998, 21) bWord←v9236 = (word) XRM←BITAND(bW←v16232, lMask←v9152); }; SOURCE(14410, 22) if ((aWord←v9208 != bWord←v9236)) { SOURCE(14432, 11) goto lab←L100092; }; SOURCE(14445, 13) { word aW←v17068; word bW←v17096; aW←v17068 = (* (( (ptr) a←v9012)+1) ); bW←v17096 = (* (( (ptr) b←v9068)+1) ); SOURCE(14058, 10) aWord←v9208 = aW←v17068; SOURCE(14070, 11) bWord←v9236 = bW←v17096; }; SOURCE(14460, 22) if ((aWord←v9208 != bWord←v9236)) { SOURCE(14482, 11) goto lab←L100092; }; SOURCE(14495, 20) { word aW←v16128; word bW←v16156; aW←v16128 = (* (( (ptr) a←v9012)+2) ); bW←v16156 = (* (( (ptr) b←v9068)+2) ); SOURCE(13975, 21) aWord←v9208 = (word) XRM←BITAND(aW←v16128, rMask←v9180); SOURCE(13998, 21) bWord←v9236 = (word) XRM←BITAND(bW←v16156, rMask←v9180); }; SOURCE(14517, 22) if ((aWord←v9208 != bWord←v9236)) { SOURCE(14539, 11) goto lab←L100092; }; break; default: SOURCE(14574, 473) { word nw←v9564; SOURCE(14576, 32) nw←v9564 = (ndw←v9124 - 2); SOURCE(14610, 20) { word aW←v16052; word bW←v16080; aW←v16052 = (* (ptr) a←v9012 ); bW←v16080 = (* (ptr) b←v9068 ); SOURCE(13975, 21) aWord←v9208 = (word) XRM←BITAND(aW←v16052, lMask←v9152); SOURCE(13998, 21) bWord←v9236 = (word) XRM←BITAND(bW←v16080, lMask←v9152); }; SOURCE(14632, 22) if ((aWord←v9208 != bWord←v9236)) { SOURCE(14654, 11) goto lab←L100092; }; SOURCE(14667, 17) a←v9012 = (a←v9012 + 4); SOURCE(14686, 17) b←v9068 = (b←v9068 + 4); SOURCE(14705, 168) lab←L100095: ; if ((nw←v9564 >= 2)) { } else { goto lab←L100093; }; SOURCE(14722, 13) { word aW←v16992; word bW←v17020; aW←v16992 = (* (ptr) a←v9012 ); bW←v17020 = (* (ptr) b←v9068 ); SOURCE(14058, 10) aWord←v9208 = aW←v16992; SOURCE(14070, 11) bWord←v9236 = bW←v17020; }; SOURCE(14737, 22) if ((aWord←v9208 != bWord←v9236)) { SOURCE(14759, 11) goto lab←L100092; }; SOURCE(14772, 13) { word aW←v16916; word bW←v16944; aW←v16916 = (* (( (ptr) a←v9012)+1) ); bW←v16944 = (* (( (ptr) b←v9068)+1) ); SOURCE(14058, 10) aWord←v9208 = aW←v16916; SOURCE(14070, 11) bWord←v9236 = bW←v16944; }; SOURCE(14787, 22) if ((aWord←v9208 != bWord←v9236)) { SOURCE(14809, 11) goto lab←L100092; }; SOURCE(14822, 18) a←v9012 = (a←v9012 + 8); SOURCE(14842, 18) b←v9068 = (b←v9068 + 8); SOURCE(14862, 11) nw←v9564 = (nw←v9564 - 2); goto lab←L100095; lab←L100093: ; SOURCE(14884, 101) if ((nw←v9564 != 0)) { SOURCE(14901, 13) { /*1*/ word aW←v16840; /*1*/ word bW←v16868; /*1*/ aW←v16840 = (* (ptr) a←v9012 ); /*1*/ bW←v16868 = (* (ptr) b←v9068 ); SOURCE(14058, 10) /*1*/ aWord←v9208 = aW←v16840; SOURCE(14070, 11) /*1*/ bWord←v9236 = bW←v16868; /*1*/ }; SOURCE(14916, 22) if ((aWord←v9208 != bWord←v9236)) { SOURCE(14938, 11) /*1*/ goto lab←L100092; /*1*/ }; SOURCE(14951, 16) a←v9012 = (a←v9012 + 4); SOURCE(14969, 16) b←v9068 = (b←v9068 + 4); }; SOURCE(14990, 20) { word aW←v15976; word bW←v16004; aW←v15976 = (* (ptr) a←v9012 ); bW←v16004 = (* (ptr) b←v9068 ); SOURCE(13975, 21) aWord←v9208 = (word) XRM←BITAND(aW←v15976, rMask←v9180); SOURCE(13998, 21) bWord←v9236 = (word) XRM←BITAND(bW←v16004, rMask←v9180); }; SOURCE(15012, 22) if ((aWord←v9208 != bWord←v9236)) { SOURCE(15034, 11) goto lab←L100092; }; }; break; }; }; } else { SOURCE(15057, 2029) { word w←v9608 = 0; word hi←v9636; word lo←v9664 = 0; word lSA←v9692; word rSA←v9720; word nsw←v9748; word fetchLastWord←v9776; SOURCE(15217, 51) lSA←v9692 = ((bBit←v9096 - aBit←v9040) & 037); SOURCE(15291, 51) rSA←v9720 = ((32 - lSA←v9692) & 037); SOURCE(15398, 38) { word bits←v11796; bits←v11796 = (bBit←v9096 + count←v5868); SOURCE(1262, 32) nsw←v9748 = ((bits←v11796 + 31) >> 5); }; SOURCE(15438, 68) fetchLastWord←v9776 = ( (bBit←v9096 >= aBit←v9040) ? (nsw←v9748 > ndw←v9124) : (nsw←v9748 >= ndw←v9124) ) ; SOURCE(15910, 32) if ((bBit←v9096 >= aBit←v9040)) { SOURCE(15931, 11) SOURCE(15535, 7) hi←v9636 = lo←v9664; SOURCE(15552, 10) SOURCE(15553, 9) lo←v9664 = (* (ptr) b←v9068 ); SOURCE(15565, 16) b←v9068 = (b←v9068 + 4); SOURCE(15583, 42) w←v9608 = ((word) XRM←BITLSHIFT(hi←v9636, lSA←v9692) + (word) XRM←BITRSHIFT(lo←v9664, rSA←v9720)); }; SOURCE(15944, 1126) { word var←c24120; var←c24120 = ndw←v9124; switch (var←c24120) { case 1: SOURCE(15973, 127) { word bothMask←v10068; SOURCE(15975, 37) bothMask←v10068 = (word) XRM←BITAND(lMask←v9152, rMask←v9180); SOURCE(16014, 27) SOURCE(15820, 22) w←v9608 = (word) XRM←BITLSHIFT(lo←v9664, lSA←v9692); SOURCE(15844, 60) if ((0 != fetchLastWord←v9776)) { SOURCE(15866, 38) SOURCE(15867, 37) /*1*/ w←v9608 = (w←v9608 + (word) XRM←BITRSHIFT((* (ptr) b←v9068 ), rSA←v9720)); /*1*/ }; SOURCE(16043, 20) { /*1*/ word aW←v15900; /*1*/ word bW←v15928; /*1*/ aW←v15900 = (* (ptr) a←v9012 ); /*1*/ bW←v15928 = w←v9608; SOURCE(13975, 21) /*1*/ aWord←v9208 = (word) XRM←BITAND(aW←v15900, bothMask←v10068); SOURCE(13998, 21) /*1*/ bWord←v9236 = (word) XRM←BITAND(bW←v15928, bothMask←v10068); /*1*/ }; SOURCE(16065, 22) if ((aWord←v9208 != bWord←v9236)) { SOURCE(16087, 11) /*1*/ goto lab←L100092; /*1*/ }; }; break; case 2: SOURCE(16116, 156) SOURCE(16118, 15) SOURCE(15677, 7) hi←v9636 = lo←v9664; SOURCE(15694, 19) SOURCE(15695, 18) lo←v9664 = (* (ptr) b←v9068 ); SOURCE(15716, 42) w←v9608 = ((word) XRM←BITLSHIFT(hi←v9636, lSA←v9692) + (word) XRM←BITRSHIFT(lo←v9664, rSA←v9720)); SOURCE(16135, 17) { word aW←v15824; word bW←v15852; aW←v15824 = (* (ptr) a←v9012 ); bW←v15852 = w←v9608; SOURCE(13975, 21) aWord←v9208 = (word) XRM←BITAND(aW←v15824, lMask←v9152); SOURCE(13998, 21) bWord←v9236 = (word) XRM←BITAND(bW←v15852, lMask←v9152); }; SOURCE(16154, 22) if ((aWord←v9208 != bWord←v9236)) { SOURCE(16176, 11) goto lab←L100092; }; SOURCE(16189, 27) SOURCE(15820, 22) w←v9608 = (word) XRM←BITLSHIFT(lo←v9664, lSA←v9692); SOURCE(15844, 60) if ((0 != fetchLastWord←v9776)) { SOURCE(15866, 38) SOURCE(15867, 37) w←v9608 = (w←v9608 + (word) XRM←BITRSHIFT((* (( (ptr) b←v9068)+1) ), rSA←v9720)); }; SOURCE(16218, 17) { word aW←v15748; word bW←v15776; aW←v15748 = (* (( (ptr) a←v9012)+1) ); bW←v15776 = w←v9608; SOURCE(13975, 21) aWord←v9208 = (word) XRM←BITAND(aW←v15748, rMask←v9180); SOURCE(13998, 21) bWord←v9236 = (word) XRM←BITAND(bW←v15776, rMask←v9180); }; SOURCE(16237, 22) if ((aWord←v9208 != bWord←v9236)) { SOURCE(16259, 11) goto lab←L100092; }; break; case 3: SOURCE(16288, 220) SOURCE(16290, 15) SOURCE(15677, 7) hi←v9636 = lo←v9664; SOURCE(15694, 19) SOURCE(15695, 18) lo←v9664 = (* (ptr) b←v9068 ); SOURCE(15716, 42) w←v9608 = ((word) XRM←BITLSHIFT(hi←v9636, lSA←v9692) + (word) XRM←BITRSHIFT(lo←v9664, rSA←v9720)); SOURCE(16307, 17) { word aW←v15672; word bW←v15700; aW←v15672 = (* (ptr) a←v9012 ); bW←v15700 = w←v9608; SOURCE(13975, 21) aWord←v9208 = (word) XRM←BITAND(aW←v15672, lMask←v9152); SOURCE(13998, 21) bWord←v9236 = (word) XRM←BITAND(bW←v15700, lMask←v9152); }; SOURCE(16326, 22) if ((aWord←v9208 != bWord←v9236)) { SOURCE(16348, 11) goto lab←L100092; }; SOURCE(16361, 15) SOURCE(15677, 7) hi←v9636 = lo←v9664; SOURCE(15694, 19) SOURCE(15695, 18) lo←v9664 = (* (( (ptr) b←v9068)+1) ); SOURCE(15716, 42) w←v9608 = ((word) XRM←BITLSHIFT(hi←v9636, lSA←v9692) + (word) XRM←BITRSHIFT(lo←v9664, rSA←v9720)); SOURCE(16378, 10) { word aW←v16764; word bW←v16792; aW←v16764 = (* (( (ptr) a←v9012)+1) ); bW←v16792 = w←v9608; SOURCE(14058, 10) aWord←v9208 = aW←v16764; SOURCE(14070, 11) bWord←v9236 = bW←v16792; }; SOURCE(16390, 22) if ((aWord←v9208 != bWord←v9236)) { SOURCE(16412, 11) goto lab←L100092; }; SOURCE(16425, 27) SOURCE(15820, 22) w←v9608 = (word) XRM←BITLSHIFT(lo←v9664, lSA←v9692); SOURCE(15844, 60) if ((0 != fetchLastWord←v9776)) { SOURCE(15866, 38) SOURCE(15867, 37) w←v9608 = (w←v9608 + (word) XRM←BITRSHIFT((* (( (ptr) b←v9068)+2) ), rSA←v9720)); }; SOURCE(16454, 17) { word aW←v15596; word bW←v15624; aW←v15596 = (* (( (ptr) a←v9012)+2) ); bW←v15624 = w←v9608; SOURCE(13975, 21) aWord←v9208 = (word) XRM←BITAND(aW←v15596, rMask←v9180); SOURCE(13998, 21) bWord←v9236 = (word) XRM←BITAND(bW←v15624, rMask←v9180); }; SOURCE(16473, 22) if ((aWord←v9208 != bWord←v9236)) { SOURCE(16495, 11) goto lab←L100092; }; break; default: SOURCE(16530, 553) { word nw←v10112; SOURCE(16532, 32) nw←v10112 = (ndw←v9124 - 2); SOURCE(16566, 15) SOURCE(15677, 7) hi←v9636 = lo←v9664; SOURCE(15694, 19) SOURCE(15695, 18) lo←v9664 = (* (ptr) b←v9068 ); SOURCE(15716, 42) w←v9608 = ((word) XRM←BITLSHIFT(hi←v9636, lSA←v9692) + (word) XRM←BITRSHIFT(lo←v9664, rSA←v9720)); SOURCE(16583, 17) { /*1*/ word aW←v15520; /*1*/ word bW←v15548; /*1*/ aW←v15520 = (* (ptr) a←v9012 ); /*1*/ bW←v15548 = w←v9608; SOURCE(13975, 21) /*1*/ aWord←v9208 = (word) XRM←BITAND(aW←v15520, lMask←v9152); SOURCE(13998, 21) /*1*/ bWord←v9236 = (word) XRM←BITAND(bW←v15548, lMask←v9152); /*1*/ }; SOURCE(16602, 22) if ((aWord←v9208 != bWord←v9236)) { SOURCE(16624, 11) /*1*/ goto lab←L100092; /*1*/ }; SOURCE(16637, 16) a←v9012 = (a←v9012 + 4); SOURCE(16655, 16) b←v9068 = (b←v9068 + 4); SOURCE(16673, 196) lab←L100099: ; if ((nw←v10112 >= 2)) { /*1*/ } else { /*1*/ goto lab←L100097; /*1*/ }; SOURCE(16690, 15) SOURCE(15677, 7) hi←v9636 = lo←v9664; SOURCE(15694, 19) SOURCE(15695, 18) lo←v9664 = (* (ptr) b←v9068 ); SOURCE(15716, 42) w←v9608 = ((word) XRM←BITLSHIFT(hi←v9636, lSA←v9692) + (word) XRM←BITRSHIFT(lo←v9664, rSA←v9720)); SOURCE(16707, 10) { /*1*/ word aW←v16688; /*1*/ word bW←v16716; /*1*/ aW←v16688 = (* (ptr) a←v9012 ); /*1*/ bW←v16716 = w←v9608; SOURCE(14058, 10) /*1*/ aWord←v9208 = aW←v16688; SOURCE(14070, 11) /*1*/ bWord←v9236 = bW←v16716; /*1*/ }; SOURCE(16719, 22) if ((aWord←v9208 != bWord←v9236)) { SOURCE(16741, 11) /*1*/ goto lab←L100092; /*1*/ }; SOURCE(16754, 15) SOURCE(15677, 7) hi←v9636 = lo←v9664; SOURCE(15694, 19) SOURCE(15695, 18) lo←v9664 = (* (( (ptr) b←v9068)+1) ); SOURCE(15716, 42) w←v9608 = ((word) XRM←BITLSHIFT(hi←v9636, lSA←v9692) + (word) XRM←BITRSHIFT(lo←v9664, rSA←v9720)); SOURCE(16771, 10) { /*1*/ word aW←v16612; /*1*/ word bW←v16640; /*1*/ aW←v16612 = (* (( (ptr) a←v9012)+1) ); /*1*/ bW←v16640 = w←v9608; SOURCE(14058, 10) /*1*/ aWord←v9208 = aW←v16612; SOURCE(14070, 11) /*1*/ bWord←v9236 = bW←v16640; /*1*/ }; SOURCE(16783, 22) if ((aWord←v9208 != bWord←v9236)) { SOURCE(16805, 11) /*1*/ goto lab←L100092; /*1*/ }; SOURCE(16818, 18) a←v9012 = (a←v9012 + 8); SOURCE(16838, 18) b←v9068 = (b←v9068 + 8); SOURCE(16858, 11) nw←v10112 = (nw←v10112 - 2); goto lab←L100099; lab←L100097: ; SOURCE(16880, 115) if ((nw←v10112 != 0)) { SOURCE(16897, 15) SOURCE(15677, 7) /*1*/ hi←v9636 = lo←v9664; SOURCE(15694, 19) SOURCE(15695, 18) /*1*/ lo←v9664 = (* (ptr) b←v9068 ); SOURCE(15716, 42) /*1*/ w←v9608 = ((word) XRM←BITLSHIFT(hi←v9636, lSA←v9692) + (word) XRM←BITRSHIFT(lo←v9664, rSA←v9720)); SOURCE(16914, 10) /*1*/ { /*1*/ word aW←v16536; /*1*/ word bW←v16564; /*1*/ aW←v16536 = (* (ptr) a←v9012 ); /*1*/ bW←v16564 = w←v9608; SOURCE(14058, 10) /*1*/ aWord←v9208 = aW←v16536; SOURCE(14070, 11) /*1*/ bWord←v9236 = bW←v16564; /*1*/ }; SOURCE(16926, 22) /*1*/ if ((aWord←v9208 != bWord←v9236)) { SOURCE(16948, 11) /*1*/ goto lab←L100092; /*1*/ }; SOURCE(16961, 16) /*1*/ a←v9012 = (a←v9012 + 4); SOURCE(16979, 16) /*1*/ b←v9068 = (b←v9068 + 4); /*1*/ }; SOURCE(17000, 27) SOURCE(15820, 22) w←v9608 = (word) XRM←BITLSHIFT(lo←v9664, lSA←v9692); SOURCE(15844, 60) if ((0 != fetchLastWord←v9776)) { SOURCE(15866, 38) SOURCE(15867, 37) /*1*/ w←v9608 = (w←v9608 + (word) XRM←BITRSHIFT((* (ptr) b←v9068 ), rSA←v9720)); /*1*/ }; SOURCE(17029, 17) { /*1*/ word aW←v15444; /*1*/ word bW←v15472; /*1*/ aW←v15444 = (* (ptr) a←v9012 ); /*1*/ bW←v15472 = w←v9608; SOURCE(13975, 21) /*1*/ aWord←v9208 = (word) XRM←BITAND(aW←v15444, rMask←v9180); SOURCE(13998, 21) /*1*/ bWord←v9236 = (word) XRM←BITAND(bW←v15472, rMask←v9180); /*1*/ }; SOURCE(17048, 22) if ((aWord←v9208 != bWord←v9236)) { SOURCE(17070, 11) /*1*/ goto lab←L100092; /*1*/ }; }; break; }; }; }; }; goto lab←L100100; lab←L100092: ; SOURCE(17106, 57) if ((aWord←v9208 < bWord←v9236)) { SOURCE(17128, 19) return(0); } else { SOURCE(17147, 16) return(2); }; lab←L100100: ; }; }; SOURCE(17172, 14) return(1); } extern word Basics←BITSHIFT(value←v5996, count←v6024) word value←v5996; word count←v6024; { word var←c6068; word c←v10156; /* BITSHIFT: */ SOURCE(17192, 302) SOURCE(17277, 45) c←v10156 = (count←v6024 & 037); SOURCE(17324, 46) if (( (int)count←v6024 == (int)c←v10156)) { SOURCE(17342, 28) return((word) XRM←BITLSHIFT(value←v5996, c←v10156)); }; SOURCE(17372, 14) count←v6024 = INEG(count←v6024); SOURCE(17388, 45) c←v10156 = (count←v6024 & 037); SOURCE(17435, 46) if (( (int)count←v6024 == (int)c←v10156)) { SOURCE(17453, 28) return((word) XRM←BITRSHIFT(value←v5996, c←v10156)); }; SOURCE(17483, 11) return(0); } extern word Basics←ByteBlt(to←v6128, from←v6156) W3 to←v6128; W3 from←v6156; { word nBytes←v6200; /* ByteBlt: */ SOURCE(17497, 307) SOURCE(17575, 134) { word x4; word x5; word x6; word x7; word x8; word x9; nBytes←v6200 = (x6 = ((x4 = to←v6128.f1, x5 = to←v6128.f2, MAX( (unsigned) , x4, x5)) - to←v6128.f1), x9 = ((x7 = from←v6156.f1, x8 = from←v6156.f2, MAX( (unsigned) , x7, x8)) - from←v6156.f1), MIN( (unsigned) , x6, x9)); }; SOURCE(17718, 86) SOURCE(17719, 85) (void) Basics←MoveBytes(to←v6128.f0, to←v6128.f1, from←v6156.f0, from←v6156.f1, nBytes←v6200); SOURCE(17497, 307) return(nBytes←v6200); } /* file: BasicsImpl, module: BasicsImpl, compiled at: September 24, 1992 12:03:36 pm PDT */ extern void XR←install←BasicsImpl() { NoName←Q6744(); } extern void XR←run←BasicsImpl() { XR←Start(&globalframe); }