home *** CD-ROM | disk | FTP | other *** search
/ ticalc.org / ticalc_org_rev_b.iso / archives / 92 / asm / source / fargo-old / hexdump.asm < prev    next >
Encoding:
Assembly Source File  |  2001-07-01  |  1.9 KB  |  126 lines

  1.     @program    prog_code,prog_name
  2.  
  3. ;************** Start of Fargo program ***************
  4.  
  5. prog_code:
  6.     jsr    flib[clr_scr]
  7.  
  8. main_loop:
  9.     move.l    addr(pc),a0
  10.     clr.l    d1
  11.     move.w    #14,d3
  12. hex_loop_1:
  13.     move.l    a0,d0
  14.     clr.l    d2
  15.     move.w    #5,d4
  16.     jsr    hexlib[put_hex]
  17.     add.l    #1,d2
  18.     move.w    #1,d4
  19.     move.w    #7,d5
  20. hex_loop_2:
  21.     move.b    (a0),d0
  22.     jsr    hexlib[put_hex]
  23.     add.l    #1,a0
  24.     add.l    #1,d2
  25.     dbf.w    d5,hex_loop_2
  26.     add.l    #1,d1
  27.     dbf.w    d3,hex_loop_1
  28.  
  29.     tst.w    ($75B0)
  30.     beq    main_loop
  31.     move.w    ($75B2),d0
  32.     clr.w    ($75B0)
  33.  
  34.     cmp.w    #$0152,d0
  35.     beq    key_up
  36.     cmp.w    #$0158,d0
  37.     beq    key_down
  38.     cmp.w    #$1152,d0
  39.     beq    key_up2
  40.     cmp.w    #$1158,d0
  41.     beq    key_down2
  42.     cmp.w    #$2152,d0
  43.     beq    key_up3
  44.     cmp.w    #$2158,d0
  45.     beq    key_down3
  46.     cmp.w    #$4152,d0
  47.     beq    key_up4
  48.     cmp.w    #$4158,d0
  49.     beq    key_down4
  50.  
  51.     cmp.w    #$0108,d0
  52.     beq    exit
  53.  
  54.     move.w    d0,d1
  55.     and.w    #$0FFF,d1
  56.     sub.w    #$010C,d1
  57.     bcs    main_loop
  58.     cmp.w    #8,d1
  59.     bcc    main_loop
  60.     lea    bookmark(pc),a0
  61.     lsl.w    #2,d1
  62.     and.w    #$F000,d0
  63.     beq    goto_bookmark
  64. make_bookmark:
  65.     move.l    addr(pc),0(a0,d1.w)
  66.     bra    main_loop
  67. goto_bookmark:
  68.     move.l    0(a0,d1.w),addr
  69.     bra    main_loop
  70.  
  71. key_up:
  72.     sub.l    #$8,addr
  73.     bra    main_loop
  74. key_down:
  75.     add.l    #$8,addr
  76.     bra    main_loop
  77. key_up2:
  78.     sub.l    #$100,addr
  79.     bra    main_loop
  80. key_down2:
  81.     add.l    #$100,addr
  82.     bra    main_loop
  83. key_up3:
  84.     sub.l    #$1000,addr
  85.     bra    main_loop
  86. key_down3:
  87.     add.l    #$1000,addr
  88.     bra    main_loop
  89. key_up4:
  90.     sub.l    #$10000,addr
  91.     bra    main_loop
  92. key_down4:
  93.     add.l    #$10000,addr
  94.     bra    main_loop
  95.  
  96. exit:
  97.     rts
  98.  
  99. ;*****************************************************
  100. ; miscellaneous program data
  101. ;*****************************************************
  102.  
  103. addr:
  104.     dc.l    0
  105. bookmark:
  106.     dc.l    0
  107.     dc.l    0
  108.     dc.l    0
  109.     dc.l    0
  110.     dc.l    $005340
  111.     dc.l    $0078B4
  112.     dc.l    $020000
  113.     dc.l    $400000
  114.  
  115. prog_name:
  116.     dc.b    "Hexidecimal memory viewer",0
  117.     ds.w    0
  118.  
  119. ;*************** End of Fargo program ****************
  120.  
  121.     reloc_open
  122.     add_library    flib
  123.     add_library    hexlib
  124.     reloc_close
  125.     end
  126.