|
|||||
![]() Número 2 - NOVIEMBRE 1992 EL SOURCE DEL MES DESCRUNCHER PARA STONECRACKER. POR: Jouni Korhonen MOVEQ #0,D0 ;succeful exit
RTS ;bye
;DeCruncher for StoneCracker v2.99
destination= $28000
j: lea $dff180,a6
lea data(pc),a3
lea 12(a3),a5
lea destination,a0
move.l a0,a4
add.l 8(a3),a5
add.l 4(a3),a0
moveq #127,d3
moveq #0,d4
moveq #3,d5
moveq #7,d6
move.b 3(a3),d4
move.l -(a5),d7
deloop: moveq #0,d2
lsr.l #1,d7
bne.s not_empty0
move.l -(a5),d7
roxr.l #1,d7
not_empty0: bcc.s copydata
bytekpl: move d5,d1
bsr.s getbits
add.l d0,d2
cmp d6,d0
beq.s bytekpl
byteloop: move d6,d1
bytebits: lsr.l #1,d7
bne.s not_empty2
move.l -(a5),d7
roxr.l #1,d7
not_empty2: roxr.b #1,d0
dbf d1,bytebits
move.b d0,-(a0)
subq.l #1,d2
bne.s byteloop
bra.s test
copydata: moveq #2-1,d1
bsr.s getfast
moveq #0,d1
move.l d0,d2
move.b 0(a3,d0.w),d1
cmp d5,d0
bne.s copyfast
lsr.l #1,d7
bne.s not_empty3
move.l -(a5),d7
roxr.l #1,d7
not_empty3: bcs.s copykpl
copykpl127: move d6,d1
bsr.s getbits
add.l d0,d2
cmp d3,d0
beq.s copykpl127
add.l d6,d2
add.l d6,d2
bra.s copyskip
copykpl: move d5,d1
bsr.s getbits
add.l d0,d2
cmp d6,d0
beq.s copykpl
copyskip: move d4,d1
copyfast: addq.l #1,d2
bsr.s getfast
copyloop: move.b 0(a0,d0.w),-(a0)
subq.l #1,d2
bpl.s copyloop
test: cmp.l a0,a4
blo.s deloop
rts
getbits: subq #1,d1
getfast: moveq #0,d0
bitloop: lsr.l #1,d7
bne.s not_empty1
move.l -(a5),d7
move d7,(a6)
roxr.l #1,d7
not_empty1: addx.l d0,d0
dbf d1,bitloop
rts
;------ crunched datafile
data:
NOTA ENCANTA: La dirección postal ha sido omitida. |
| Envía esta página web a un amigo: Esta opción está desactivada temporalmente, rogamos disculpen las molestias |
|