home *** CD-ROM | disk | FTP | other *** search
/ Logiciels PC 26 / LogicielsPC_26.iso / emul / util / dumptos / DUMPTOS.S next >
Text File  |  1995-11-26  |  2KB  |  105 lines

  1.     move.l 4(sp),a6
  2.     lea stack(pc),sp
  3.     move.l $c(a6),a0
  4.     add.l $14(a6),a0
  5.     add.l $1c(a6),a0
  6.     lea $100(a0),a0
  7.     pea (a0)
  8.     pea (a6)
  9.     clr -(sp)
  10.     move #$4a,-(sp)
  11.     trap #1
  12.     lea 12(sp),sp
  13.     clr.l -(sp)
  14.     move #$20,-(sp)
  15.     trap #1
  16.     addq #6,sp
  17.     move.l d0,d5
  18.     move.l $4f2.w,a5
  19.     move.l 8(a5),a5
  20.     moveq #0,d7
  21.     move 2(a5),d7
  22.     add.b d7,msg3+3
  23.     lsr.w #8,d7
  24.     add.b d7,msg3
  25.     lea len-1(pc),a0
  26.     move.b (a0,d7.w),d7
  27.     add.b d7,msg4
  28.     swap d7
  29.     clr -(sp)
  30.     lea msg(pc),a0
  31.     bsr print
  32.     lea $81(a6),a0
  33.     bsr print
  34.     lea msg2(pc),a0
  35.     bsr print
  36.     pea $81(a6)
  37.     move #$3c,-(sp)
  38.     trap #1
  39.     addq #6,sp
  40.     tst.l d0
  41.     bmi.s error
  42.     move d0,d6
  43.     move.l d7,-(sp)
  44.     move #$48,-(sp)
  45.     trap #1
  46.     addq #6,sp
  47.     tst.l d0
  48.     beq memerr
  49.     move.l d7,d1
  50.     move.l d0,a0
  51.     move.l d0,a4
  52. copy:    move.l (a5)+,(a0)+
  53.     subq.l #4,d1
  54.     bpl.s copy
  55.     move.l d5,-(sp)
  56.     move #$20,-(sp)
  57.     trap #1
  58.     addq #6,sp
  59.     move.l a4,-(sp)
  60.     move.l d7,-(sp)
  61.     move d6,-(sp)
  62.     move #$40,-(sp)
  63.     trap #1
  64.     lea 12(sp),sp
  65.     tst.l d0
  66.     bmi.s error
  67.     move d6,-(sp)
  68.     move #$3e,-(sp)
  69.     trap #1
  70.     addq #6,-(sp)
  71.     tst.l d0
  72.     bmi.s error
  73. bye:    clr -(sp)
  74.     trap #1
  75.  
  76. len:    dc.b 3
  77.     dc.b 4
  78.     dc.b 4
  79.     dc.b 8
  80.     dc.b 8
  81.     even
  82. merror:
  83.     lea memerr(pc),a0
  84.     bra.s xxx
  85. error:
  86.     lea err(pc),a0
  87. xxx:    bsr print
  88.     move.w #7,-(sp)
  89.     trap #1
  90.     addq #2,sp
  91.     bra.s bye
  92. print:    pea (a0)
  93.     move #9,-(sp)
  94.     trap #1
  95.     addq #6,sp
  96.     rts
  97. err:    dc.b "Sorry, an error occured! Check the free disk space and write-protect!",$a,$d,0
  98. memerr:    dc.b "Sorry, you don't have enough free memory!",$a,$d,0
  99. msg:    dc.b "Writing file '",0
  100. msg2:    dc.b "'... (TOS "
  101. msg3:    dc.b "0.00, assuming "
  102. msg4:    dc.b "0x64KB)",$a,$d,0
  103.     BSS
  104.     ds.l 1000
  105. stack:    ds.l 2