PDP-11 совместимые/Сжатие данных
| Этот документ создан для Emuverse и распространяется на условиях лицензии CC-BY-SA-3.0. |
(Права на описание — Emuverse, права на фрагменты кода — см. в шапке фрагмента.)
Собрание распаковщиков различных форматов.
ZX0
Декомпрессор формата ZX0 для PDP-11 от Sandro [1] [2]
; ZX0 decompressor by Alexander "Sandro" Tishin (sandro.tishin@gmail.com) ; ; Uses the "classic" bitstream ; ; r0 -- src ; r1 -- dst ; ; 86 bytes total DZX0:: mov #100000, r3 mov r1, r4 dec r4 1$: call 5$ add r2, r4 6$: movb (r0)+, (r1)+ sob r2, 6$ asl r3 bcc 3$ 4$: call 5$ negb r2 swab r2 bne 9$ bisb (r0)+, r2 sec ror r2 ror r3 mov r1, r4 add r2, r4 movb (r4)+, (r1)+ 3$: call 5$ 7$: movb (r4)+, (r1)+ sob r2, 7$ asl r3 bcc 1$ br 4$ 5$: mov #1, r2 br 11$ 12$: ror r3 bisb (r0)+, r3 swab r3 br 11$ 13$: asl r3 rol r2 11$: asl r3 bcc 13$ beq 12$ 9$: ret