home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
Logiciels PC 26
/
LogicielsPC_26.iso
/
emul
/
util
/
dumptos
/
DUMPTOS.S
next >
Wrap
Text File
|
1995-11-26
|
2KB
|
105 lines
move.l 4(sp),a6
lea stack(pc),sp
move.l $c(a6),a0
add.l $14(a6),a0
add.l $1c(a6),a0
lea $100(a0),a0
pea (a0)
pea (a6)
clr -(sp)
move #$4a,-(sp)
trap #1
lea 12(sp),sp
clr.l -(sp)
move #$20,-(sp)
trap #1
addq #6,sp
move.l d0,d5
move.l $4f2.w,a5
move.l 8(a5),a5
moveq #0,d7
move 2(a5),d7
add.b d7,msg3+3
lsr.w #8,d7
add.b d7,msg3
lea len-1(pc),a0
move.b (a0,d7.w),d7
add.b d7,msg4
swap d7
clr -(sp)
lea msg(pc),a0
bsr print
lea $81(a6),a0
bsr print
lea msg2(pc),a0
bsr print
pea $81(a6)
move #$3c,-(sp)
trap #1
addq #6,sp
tst.l d0
bmi.s error
move d0,d6
move.l d7,-(sp)
move #$48,-(sp)
trap #1
addq #6,sp
tst.l d0
beq memerr
move.l d7,d1
move.l d0,a0
move.l d0,a4
copy: move.l (a5)+,(a0)+
subq.l #4,d1
bpl.s copy
move.l d5,-(sp)
move #$20,-(sp)
trap #1
addq #6,sp
move.l a4,-(sp)
move.l d7,-(sp)
move d6,-(sp)
move #$40,-(sp)
trap #1
lea 12(sp),sp
tst.l d0
bmi.s error
move d6,-(sp)
move #$3e,-(sp)
trap #1
addq #6,-(sp)
tst.l d0
bmi.s error
bye: clr -(sp)
trap #1
len: dc.b 3
dc.b 4
dc.b 4
dc.b 8
dc.b 8
even
merror:
lea memerr(pc),a0
bra.s xxx
error:
lea err(pc),a0
xxx: bsr print
move.w #7,-(sp)
trap #1
addq #2,sp
bra.s bye
print: pea (a0)
move #9,-(sp)
trap #1
addq #6,sp
rts
err: dc.b "Sorry, an error occured! Check the free disk space and write-protect!",$a,$d,0
memerr: dc.b "Sorry, you don't have enough free memory!",$a,$d,0
msg: dc.b "Writing file '",0
msg2: dc.b "'... (TOS "
msg3: dc.b "0.00, assuming "
msg4: dc.b "0x64KB)",$a,$d,0
BSS
ds.l 1000
stack: ds.l 2