floating interpretive =july 1961 fnd=tac+anl-opr fbr=tbr dsa=dso ala=alo pna=pno fit=30 fit| sto |index registers sto sto sto sto sto sto sto |37 fpc, sto |pseudo program couxter fac, sto |these two registers pseudo accumulator sto sto |overflow indicator sto |divide by zero indicator cr+tf fs0, sto |contains the floating point instruction fs1, sto |complement of the index register fs2, sto |used in arithmetic subroutines fs3, sto |reads store in x fs4, sto |reads add x fs5, sto |used for add, multifply, divide fs6, sto |ditto cr+tf flt, 740222 slr fs1 add (-llr+add+1 sto fpc f01, cla |return point for routine add fpc add (1 sto fpc |adjust program counter sto .+2 cla opr |brongs in programmers instruction sto fs0 |save the instruction clr cyl cyl cyl cyl cyl cll add (tra f10 |transfer to table sto .+16 cla add fs0 llr (17777 |eliminate all but first 5 bits fnd lac slr fs3 |reads store in x add (add |reads add x sto fs4 fbr |xring in test buffer cyl cyl trn f42 cla hlt+opr-opr |goes to transfer table cr+tf f42, cla add fac llr fac+1 |display accumulator hlt llr fs0 cla add fpc hlt |display orders tra f42-2 |cr+tf f10, tra f74 |the transfer table - fid tra f51 |ftp tra f52 |ftn tra f53 |ftz tra f54 |fnz tra f55 |fca tra f56 |fad tra f57 |fcs tra f58 |fsb tra f59 |fst tra f60 |fmp tra f61 |fdv tra f62 |fxt tra f63 |fts tra f64 |fht tra f65 |ftx tra f66 |flx tra f67 |fti tra f68 |fla tra f45 |fsz tra f46 |ftd tra f31 |fal tra f32 |fsl tra f73 |fir cr+tf tra f50 |ftr tra f76 |ftb tra f85 |fhn tra f86 |fcv tra f87 |frc tra f75 tra f83 |general operate class tra f74 |fid, same as above f11, tra f77 |fhl tra f78 |fsp tra f79 |fsn tra f80 |fch tra f81 |foz tra f82 |fov tra f84 |fdccr+tf f83, add fs3 |check for illegal order com add (7 trn f75 |no good, illegal order cla add fs3 add (tra f11 sto .+2 cla opr |will tranfer to the orders cr+tf f49, cla |all addressable routines return here sto fs1 |for indexing purposes tra f01 |look at next instruction f50, cla |floating transfer, ftr, ftr add fs4 |reads add x add (-1 add fs1 |to check indexing sto fpc |set up program counter tra f49 |return f51, add fac |accumulator ftp com trn .+2 |maybe transfer tra f49 |do not transfer add (1 |if number was zero this will make it + trn f50 |only on + (or -) but not zero tra f49 |does not transfer on zero f54, add fac |tnz add (1 trn f50 |not zero, transfer add (-1 trn f49 |was zero no transfer tra f50 |was not zero, transfercr+tf f52, add fac |minus transfer, ftn tra f51+2 f53, add fac |transfer if zero, ftz add (1 trn f49 |not zero add (-1 trn f50 |make transfer tra f49 |not zerocr+tf f77, add fpc |halt, proceed, fhl opr 30200 |halt, clear live resistor cla add fac |fraction in accumulator llr fac+1 |exponent in live register hlt tra f01 |rejoins program f78, add fac |set plus, fsp com trn .-1 sto fac tra f01 f79, add fac |set minus, fsn com trn .-1 com tra f78+3 |cr+tf f80, add fac |change sign,fch com tra f78+3 f81, tra f01 |no operation, foz f82, llr fac+2 |overflow register sto fac+2 |clear overflow register lac |bring in trn f01 |was overflow, take next instruction cla |no overflow add fpc |skip next instruction add (1 sto fpc tra f01 f84, llr fac+3 |divide check skip, fdc sto fac+3 tra f82+2 |cr+tf f62, add fs3 |exit, fxt add (tra sto .+2 cla |leaves with a cleared accumulator opr |leaves program f64, add fpc |halt and transfer, fht llr fs3 hlt |stop 1 cla add fac |set up pseudo accumulator llr fac+1 hlt |stop 2 tra f50 |make transfer f63, tra f62 |go to subroutine, fts f76, tac |examine tac, ftb ala com |all 1s in tac add fs3 |counter on bit to examine trn .+11 |if bit zero is to be examined lac cyl |bring in tac and cycle left ala |replace, clear accumulator add fs3 |counter add (-1 sto fs3 |adjust counter trn .+2 |counter expired tra .-7 lac trn f01 |take next instruction after examining bit tra f82+4 |increment program counter cr+tf f75, cla |illegal order add (flexo fio pnt pnt pna tra f77 |to fhl f85, clc |halt number n, fhn llr fs3 |put number in live register hlt tra f77+2 |cr+tf f73, add fs3 |index reg., fir alr+com-opr add (10 |to check illegal order trn f75 lac |cr+tf add (add fit sto f68+2 sto f67+16 sto f65+12 sto .+2 cla opr |requested index register to accumulator com |make negative sto fs1 |enter negative of index register tra f01 |take next instruction f74, tra f01 |index decrement, no operation , fid f65, add fpc |transfer, index increased by decrement, ftx add (-2 sto .+11 |at .+11 will add decrement cla sto fs1 |restore indexing register add .+5 |see fir under f65+12 llr (add lpd |reads store in index register sto .+4 cla opr |will add index register, see fir opr |will add decrement opr |will store in index register n tra f50 |perform transfer cr+tf f45, add fs3 |store zero, stz add fs1 sto .+4 add (1 sto .+2 cla hlt |stores zero in the fraction hlt |stores zero in the exponent tra f49 f46, llr f75 |contais cla. Transfer if index grtr decremet, ftd slr f67+11 llr f67+21 slr f67+20 tra f67+2 f67, llr (sto f67+20 slr f67+11 |trns same as ftd, but n-decremet to n, fti add fpc add (-2 |command to add decrement sto .+10 cla add .+10 |reads add index register n, see fir llr (add lpd |reads store in index register n sto .+7 cla sto fs1 |restore indexing register opr |will add decrement com opr |will add index register, see fir trn f01 |ignore operation, decrement exc. or = i.r. opr |will stoe in n its new value tra f50 |perform transfercr+tf f31, add fs4 tra .+2 f32, add fs3 |fs4=add x,fs3=sto x, fal and fsl add fs1 |to index sto .+3 cla add fac hlt |will add or store, depending sto fac tra f49 |return cr+tf f66, add f65+12 |load index from address, flx llr (add lpd |reads store in index register n sto .+5 llr fs4 |add x slr .+2 cla opr |will udd register opr |will store in i.r. n tra f49 |return point f68, llr fs3 |load index from address, fla slr .+2 opr |will add n (see fir) opr |will store in x tra f49 |return to programcr+tf f55, llr (opr |clear and add, fca slr .+10 add fs4 |reads add x add fs1 |index sto .+4 add (1 |for exponent sto .+6 cla opr |adds fraction opr |cvmplements if subtract sto fac cla opr |add exponent sto fac+1 |enter accumulator tra f49 |return f57, llr (com |clear and subtract, fcs slr f55+11 tra f55+2 |go above to add f59, add fs3 |store, fst add fs1 |index sto .+5 |reads store in x add (1 sto .+6 cla add fac |bring in accumulator opr |will store cla add fac+1 |exponent opr |will store tra f49 |returncr+tf f48, cla |to enter Gordons subroutines add fs4 add fs1 |to index add (1 |reads add exponent sto .+4 add (-1 sto .+5 cla opr |will add exponent sto fs6 |stores protperly cla opr |will add fraction opr |complement for subtraction llr (tra f49 |return address opr |will transfer out f56, llr (opr |floating add, fad slr f48+14 llr (tra g11 slr f48+16 tra f48 f58, llr (com |floating subtract, fsb tra f56+1 f60, llr (tra g92 |multiply, fmp slr f48+16 llr (opr slr f48+14 tra f48 f61, llr (tra g50 slr f48+16 |floating divide, fdv tra f60+2 |cr+tf g92, slr g09 |floating multiply add (-0 trn g02 llr (opr g91, slr g05 sto fs5 cla add fac add (-0 trn g03 llr (opr g04, slr g05+1 shr sto fac cla add fs5 shr sto fs5 cla sto fs2 llr (-2 tra .+2 ala add fs5 cyr sto fs5 trn g94 cla add fs2 g95, shr sto fs2 lal trn .-12 cla add fs2 cyl cyl tra g05-2 g94, cla add fs2 add fac tra g95 trn g06 llr (-1 g05, hlt hlt sto fac |cr+tf lac g08, add fac+1 add fs6 sto fac+1 g09, hlt g02, com add (-0 trn g10 llr (com tra g91 g03, com add (-0 trn g10 llr (com tra g04 g06, llr (0 cyr trn .+2 tra g05 add (400000 tra g05 g10, sto fac sto fac+1 tra g09 |end of multiply cr+tf g11, sto fs5 |add slr g22 add (-0 trn g12 cla add fac add (-0 trn g13 g14, cla add fac+1 com add fs6 trn g15 llr fs6 slr fac+1 com sto fs2 cla add fac llr fs5 slr fac g16, ala add fs2 add (17 |cr+tf trn g22 g17, lac shr ala add (1 add fs2 sto fs2 trn g17 cla add fac shr lad add (-0 trn g18 llr (opr g19, slr g20 ala add fac+1 add (1 sto fac+1 tra .+5 ala add fac+1 add (-1 |cr+tf sto fac+1 lal trn .+2 tra .-6 cyr g20, hlt sto fac g22, hlt g12, com add (-0 trn g22 tra g11+3 g13, com add (-0 trn .+2 tra g14 llr fs5 slr fac llr fs6 slr fac+1 tra g22 g15, sto fs2 cla add fs5 |cr+tf tra g16 g18, com add (-0 trn .+3 llr (com tra g19 llr (-0 slr fac slr fac+1 tra g22 |end of add cr+tf g50, slr g55 |divide add (-0 trn g51 llr (opr slr g55-3 sto fs2 com sto fs5 cla add fac add (-0 trn g52 llr (opr |cr+tf g53=g50+4 g54, slr g55-2 sto fac add fs5 trn g56 cla add fac cyr+com-opr ala add (-1 |cr+tf g57, add fs6 com add fac+1 sto fac+1 slr fac llr (-1 cla tra g59+1 g59, ala add fac cyl add fs2 trn g60 add fs5 sto fac lal trn g59 tra g60+4 |cr+tf g60, sto fac lal add (-1 trn g59 llr (377777 lpd hlt hlt sto fac |cr+tf g55, hlt |end routine, follow trns also g51, com add (-0 trn g70 |divide by xero llr (com tra g53 g52, com add (-0 trn .+3 llr (com tra g54 llr (-0 slr fac slr fac+1 tra g55 |cr+tf g56, com add (-0 trn g58 add fs5 ala tra g57 g58, cla add fs6 com |cr+tf add fac+1 add (1 sto fac+1 cla add (200000 tra g55-3 |end of divide cr+tf g70, llr (-0 slr fac+3 |set alarm for dvde by zero llr (377777 |biggest exponent possible slr fac+1 cla add fac |check sign trn .+4 |was negative llr (377777 slr fac tra f49 |return llr (400000 tra .-3 |end of aritihetic subroutines cr+tf b00, llr (sto fac+1 |fixed to float entry slr b06 cla add fac add (-0 trn b01 llr (opr |cr+tf b02, slr b03-2 |finish test for fac =+-0, or+, or- ala add fpc add (-1 sto .+2 cla hlt com add (21 b06, opr |stay, or to float-fix lal trn b05 ala add fac+1 add (-1 tra b06 |cr+tf b05, lac opr sto fac b03, tra f01 |return to interpret b01, com add (-0 trn b03 llr (com tra b02 |end fixed to float , cr+tf b10, llr (tra b11 |float-fixed entry tra b00+1 b11, slr b06 com add fac+1 trn b12 llr (cyl b14, slr b15 com llr b06 add (1 trn .+2 tra b05 sto fac+1 lac b15, opr |cr+tf trn b17 ala add fac+1 tra b14+3 b12, com add (-0 trn b03 llr (shr tra b14 b17, llr (-0 slr fac+2 |overflow indicator llr (400000 lpd tra b15+2 |finish float fix f86=b00 f87=b10 constants flt| 700222 f45+4| sto .+3 start