home *** CD-ROM | disk | FTP | other *** search
/ GEMini Atari / GEMini_Atari_CD-ROM_Walnut_Creek_December_1993.iso / files / language / forst / dump.s < prev    next >
Encoding:
Text File  |  1993-10-23  |  947 b   |  45 lines

  1. ( dump.s: a simple hex file dump application )
  2.  
  3. macros
  4. decimal
  5.  
  6. : .hex  <# # # #> type space ;
  7. : .addr  cr <# [ascii] : hold # # # # # #  #> type space space ;
  8.  
  9. : .bytes  { 2 regargs ptr #bytes  1 reg sofar }
  10.    0 to sofar
  11.    for #bytes
  12.      ptr inc c@ .hex  1 addto sofar
  13.      sofar 8 =   if space then
  14.    next ;
  15.  
  16. : .char  dup 32 < if drop [ascii] . then emit ;
  17. : .chars  { 2 regargs ptr #chars }
  18.    for #chars  ptr inc c@ .char  next ;
  19.  
  20. : dumpline  { 2 regargs ptr #chars }
  21.    ptr #chars .bytes  space space
  22.    ptr #chars  .chars ;
  23.  
  24. : dump  { 3 regs fhandle lineaddress #read
  25.           18 locbuff lpad }
  26.  
  27.    16 base !   0 to lineaddress
  28.    
  29.    openfile to fhandle
  30.  
  31.    begin
  32.      fhandle lpad 16 read  to #read
  33.      lineaddress .addr  16 addto lineaddress
  34.      lpad #read dumpline  ?key
  35.      #read 16 = not  (  key 27 = or)
  36.    until
  37.  
  38.    fhandle close
  39. ;
  40.  
  41. : main
  42.  
  43.    ." ForST dump utility" cr cr  dump
  44. ;
  45.