void fun_jmp () { INT16 offs; offs = getint16 (infile); dumpint ( (UNS16) offs); printf ("jmp [%s]\n", hexstring ((size_t)(ftell(infile) + offs), 4)); }
void storebasefile ( void ) { integer k ; halfword p, q ; integer x ; fourquarters w ; ASCIIcode * baseengine ; selector = 5 ; print ( 1074 ) ; print ( jobname ) ; printchar ( 32 ) ; printint ( roundunscaled ( internal [14 ]) ) ; printchar ( 46 ) ; printint ( roundunscaled ( internal [15 ]) ) ; printchar ( 46 ) ; printint ( roundunscaled ( internal [16 ]) ) ; printchar ( 41 ) ; if ( interaction == 0 ) selector = 2 ; else selector = 3 ; { if ( poolptr + 1 > maxpoolptr ) { if ( poolptr + 1 > poolsize ) overflow ( 257 , poolsize - initpoolptr ) ; maxpoolptr = poolptr + 1 ; } } baseident = makestring () ; strref [baseident ]= 127 ; packjobname ( 743 ) ; while ( ! wopenout ( basefile ) ) promptfilename ( 1075 , 743 ) ; printnl ( 1076 ) ; slowprint ( wmakenamestring ( basefile ) ) ; flushstring ( strptr - 1 ) ; printnl ( 261 ) ; slowprint ( baseident ) ; dumpint ( 1462914374L ) ; x = strlen ( enginename ) ; baseengine = xmallocarray ( ASCIIcode , x + 4 ) ; strcpy ( stringcast ( baseengine ) , enginename ) ; {register integer for_end; k = x ;for_end = x + 3 ; if ( k <= for_end) do baseengine [k ]= 0 ; while ( k++ < for_end ) ;} x = x + 4 - ( x % 4 ) ; dumpint ( x ) ; dumpthings ( baseengine [0 ], x ) ; libcfree ( baseengine ) ; dumpint ( 228418379L ) ; dumpthings ( xord [0 ], 256 ) ; dumpthings ( xchr [0 ], 256 ) ; dumpthings ( xprn [0 ], 256 ) ; dumpint ( 0 ) ; dumpint ( memtop ) ; dumpint ( 9500 ) ; dumpint ( 7919 ) ; dumpint ( 15 ) ; dumpint ( poolptr ) ; dumpint ( strptr ) ; {register integer for_end; k = 0 ;for_end = strptr ; if ( k <= for_end) do dumpint ( strstart [k ]) ; while ( k++ < for_end ) ;} k = 0 ; while ( k + 4 < poolptr ) { w .b0 = strpool [k ]; w .b1 = strpool [k + 1 ]; w .b2 = strpool [k + 2 ]; w .b3 = strpool [k + 3 ]; dumpqqqq ( w ) ; k = k + 4 ; } k = poolptr - 4 ; w .b0 = strpool [k ]; w .b1 = strpool [k + 1 ]; w .b2 = strpool [k + 2 ]; w .b3 = strpool [k + 3 ]; dumpqqqq ( w ) ; println () ; printint ( strptr ) ; print ( 1071 ) ; printint ( poolptr ) ; sortavail () ; varused = 0 ; dumpint ( lomemmax ) ; dumpint ( rover ) ; p = 0 ; q = rover ; x = 0 ; do { { register integer for_end; k = p ;for_end = q + 1 ; if ( k <= for_end) do dumpwd ( mem [k ]) ; while ( k++ < for_end ) ;} x = x + q + 2 - p ; varused = varused + q - p ; p = q + mem [q ].hhfield .lhfield ; q = mem [q + 1 ].hhfield .v.RH ; } while ( ! ( q == rover ) ) ; varused = varused + lomemmax - p ; dynused = memend + 1 - himemmin ; {register integer for_end; k = p ;for_end = lomemmax ; if ( k <= for_end) do dumpwd ( mem [k ]) ; while ( k++ < for_end ) ;} x = x + lomemmax + 1 - p ; dumpint ( himemmin ) ; dumpint ( avail ) ; {register integer for_end; k = himemmin ;for_end = memend ; if ( k <= for_end) do dumpwd ( mem [k ]) ; while ( k++ < for_end ) ;} x = x + memend + 1 - himemmin ; p = avail ; while ( p != 0 ) { decr ( dynused ) ; p = mem [p ].hhfield .v.RH ; } dumpint ( varused ) ; dumpint ( dynused ) ; println () ; printint ( x ) ; print ( 1072 ) ; printint ( varused ) ; printchar ( 38 ) ; printint ( dynused ) ; dumpint ( hashused ) ; stcount = 9756 - hashused ; {register integer for_end; p = 1 ;for_end = hashused ; if ( p <= for_end) do if ( hash [p ].v.RH != 0 ) { dumpint ( p ) ; dumphh ( hash [p ]) ; dumphh ( eqtb [p ]) ; incr ( stcount ) ; } while ( p++ < for_end ) ;} {register integer for_end; p = hashused + 1 ;for_end = 9769 ; if ( p <= for_end) do { dumphh ( hash [p ]) ; dumphh ( eqtb [p ]) ; } while ( p++ < for_end ) ;} dumpint ( stcount ) ; println () ; printint ( stcount ) ; print ( 1073 ) ; dumpint ( intptr ) ; {register integer for_end; k = 1 ;for_end = intptr ; if ( k <= for_end) do { dumpint ( internal [k ]) ; dumpint ( intname [k ]) ; } while ( k++ < for_end ) ;} dumpint ( startsym ) ; dumpint ( interaction ) ; dumpint ( baseident ) ; dumpint ( bgloc ) ; dumpint ( egloc ) ; dumpint ( serialno ) ; dumpint ( 69069L ) ; internal [12 ]= 0 ; wclose ( basefile ) ; }