3kname.gif

Reconstruction of lost source code from executables.

Below are simple samples of disassembled PROG files,
along with their interpretation back into their respective source languages.

Section:
3k hat

MPE BasicV

Disassembled PROG fragment Basic source
  0.265   035006  :.    ADDS  %6 
  0.266   171705  ..    LRA   S- 005 
  0.267   170002  ..    LRA   P+ 002     <<=271>> 
  0.270   140010  ..    BR    P+ 010     <<=300>> 
  0.271   071550  sh    
  0.272   067567  ow    
  0.273   072151  ti    
  0.274   066545  me    
  0.275   006400  ..    
  0.276   000005  ..    
  0.277   000005  ..    
  0.300   021006  ".    LDI   6 
  0.301   020002   .    MOVE  PB-DB SDEC=2 
  0.302   023006  &.    SUBI  6 
  0.303   010201  ..    LSL   1 BIT 
  0.304   171707  ..    LRA   S- 007 
  0.305   004574  .|    DUP , DECB 
  0.306   031015  2.    PCAL  COMMAND 
  0.307   035400  ;.    SUBS  %0 
  0.310   004047  .'    DEL , FLT 
  0.311   161402  ..    STD   Q+ 002 
  0.312   035003  :.    ADDS  %3 
  0.313   171702  ..    LRA   S- 002 
  0.314   172021  ..    LRA   P+ 021,I   <<=335->336>> 
  0.315   021003  ".    LDI   3 
  0.316   020003   .    MOVE  PB-DB SDEC=3 
  0.317   171700  ..    LRA   S- 000 
  0.320   101701  ..    SUBM  S- 001 
  0.321   003345  ..    INCA, DUP 
  0.322   010201  ..    LSL   1 BIT 
  0.323   000656  ..    ZERO, CAB 
  0.324   021310  ".    LDI   200 
  0.325   031014  2.    PCAL  B'PRINTSTR 
  0.326   035400  ;.    SUBS  %0 
  0.327   171402  ..    LRA   Q+ 002 
  0.330   021102  "B    LDI   66 
  0.331   031013  2.    PCAL  B'PRINTNUM 

  0.335   000001  ..    
  0.336   001002  ..    
  0.337   054075  X=    
  0.340   000002  ..    
  




















  265 SYSTEM X,"showtime"  















  312 PRINT "X=";X  
  
3k hat

MPE SPL

Disassembled PROG fragment SPL source

 DB+0     000003 000006 000000 000000 000000 000000 000000 

  0.0     173001  ..    LRA   DB+001,I  <-- Primary Entry OB' 
  0.1     004500  .@    DUP , NOP 
  0.2     170003  ..    LRA   P+ 003     <<=5>> 
  0.3     010201  ..    LSL   1 BIT 
  0.4     140004  ..    BR    P+ 004     <<=10>> 
  0.5     050141  Pa    
  0.6     071155  rm    
  0.7     036440  =     
  0.10    021005  ".    LDI   5 
  0.11    020042   "    MVB   PB-DB SDEC=2 
  0.12    003261  ..    XCH , LSUB 
  0.13    051002  R.    STOR  DB+002 
  0.14    000600  ..    ZERO, NOP 
  0.15    041604  C.    LOAD  Q- 004 
  0.16    021012  ".    LDI   10 
  0.17    131002  ..    LDX   DB+002 
  0.20    177001  ..    LRA   DB+001,I,X 
  0.21    031002  2.    PCAL  ASCII 
  0.22    071002  r.    ADDM  DB+002 
  0.23    051002  R.    STOR  DB+002 
  0.24    041000  B.    LOAD  DB+000 
  0.25    041002  B.    LOAD  DB+002 
  0.26    002406  ..    NEG , ZERO 
  0.27    031003  2.    PCAL  PRINT 
  0.30    031004  2.    PCAL  TERMINATE' 
  
BEGIN
   LOGICAL ARRAY DB000 (0:39);
   BYTE    ARRAY DB001 (*) = DB000;

   INTEGER PARM = Q-4;
   INTEGER DB002;

   INTRINSIC PRINT, ASCII;






   DB002 := MOVE DB001 := "Parm=";







   DB002 := DB002 + ASCII ( PARM, 10, DB001 (DB002)); 



   PRINT ( DB000, -DB002, 0 );
END.
  
3k hat

MPE Fortran-66

Disassembled PROG fragment Fortran source
  0.0     024130  (X    
  0.1     026123  ,S    
  0.2     026130  ,X    
  0.3     026106  ,F    
  0.4     033056  6.    
  0.5     031051  2)    

  0.13    021003  ".    LDI   3 
  0.14    023405  '.    MPYI  5 
  0.15    022402  %.    ADDI  2 
  0.16    004522  .R    DUP , MPY 
  0.17    004700  ..    FLT , NOP 
  0.20    161401  ..    STD   Q+ 001 
  0.21    034013  8.    LDPP  %13        <<=34>> 
  0.22    161401  ..    STD   Q+ 001 
  0.23    151401  ..    LDD   Q+ 001 
  0.24    141602  ..    BGE   P+ 002     <<=26>> 
  0.25    005500  .@    FNEG, NOP 
  0.26    161401  ..    STD   Q+ 001 
  0.27    151401  ..    LDD   Q+ 001 
  0.30    021007  ".    LDI   7 
  0.31    004750  ..    FLT , FCMP 
  0.32    141304  ..    BLE   P+ 004     <<=36>> 
  0.33    140003  ..    BR    P+ 003     <<=36>> 
  0.34    040264  @.    
  0.35    146315  ..    

  0.65    035006  :.    ADDS  %6 
  0.66    171705  ..    LRA   S- 005 
  0.67    004500  .@    DUP , NOP 
  0.70    170470  .8    LRA   P- 070     <<=0>> 
  0.71    021006  ".    LDI   6 
  0.72    020003   .    MOVE  PB-DB SDEC=3 
  0.73    010201  ..    LSL   1 BIT 
  0.74    021006  ".    LDI   6 
  0.75    000706  ..    DZRO, ZERO 
  0.76    172003  ..    LRA   P+ 003,I   <<=101->120>> 
  0.77    031004  2.    PCAL  FMTINIT' 
  0.100   140006  ..    BR    P+ 006     <<=106>> 
  0.101   000017  ..    
  0.102   052145  Te    
  0.103   071564  st    
  0.104   020156   n    
  0.105   072555  um    
  0.106   034404  9.    LDPN  %4         <<=102>> 
  0.107   034403  9.    LDPN  %3         <<=104>> 
  0.110   021010  ".    LDI   8 
  0.111   171704  ..    LRA   S- 004 
  0.112   010201  ..    LSL   1 BIT 
  0.113   031007  2.    PCAL  SIO' 
  0.114   035404  ;.    SUBS  %4 
  0.115   171401  ..    LRA   Q+ 001 
  0.116   031006  2.    PCAL  RIO' 
  0.117   031003  2.    PCAL  TFORM' 
  0.120   035406  ;.    SUBS  %6 
  
      REAL R




 800  FORMAT (X,S,X,F6.2)






      R = (5 * 3 + 2 ) ** 2

      R = 7.3



      R = ABS (R)



      IF ( R.GT.7 ) GOTO 10

HP Real constant  7.3

 10   CONTINUE



























      WRITE (6,800) "Test num",R 
  


(Top)   3kRanger Home   3kRanger Mail   CheckIP   Updated: