Код:
; Pcx8
.IDENT /V01.01/
.TITLE PCX8
DRSPAC=END
NULBLK=DRSPAC+4000
BUF=NULBLK+1000
MEMORY=BUF+<1000*BLKS>
BLKS=80.
BS=BLKS+1
.ASECT
.MCALL .EXIT,.PRINT,.PURGE,.READW,.CSIGEN,.SERR,.CSTAT,.TTYIN,.TTYOUT
.MCALL .LOCK,.SETTOP
.=40
BEG,1000
.=1000
NSCR: 100000
S0$: .ASCIZ '?PCX-'<200>
S1$: .ASCIZ 'U-Error reading file'
S2$: .ASCIZ 'Viewer PCX-files, 8 colors.'
S3$: .ASCIZ 'F-Not enough memory in CP RAM'
S4$: .ASCIZ 'I-Invalid PCX-format'
.EVEN
EXTS$: .RAD50 /PCXPCXPCXPCX/
BLOK$: .BLKW 10
.ENABL LSB
BEG: .LOCK
.SETTOP #MEMORY
CMP %0,#MEMORY
BHIS BEGIN
.PRINT #S0$
.PRINT #S3$
.EXIT
BEGIN: .PRINT #S2$
.SERR
.CSIGEN #DRSPAC,#EXTS$
BCC 1$
.EXIT
1$: .CSTAT #BLOK$,#3,#BLOK$
BCS BEGIN
.TTYOUT #14
.READW #BLOK$,#3,#NULBLK,#BS*400,#0
BCC 3$
ER$: .PRINT #S0$
.PRINT #S1$
BR BEGIN
3$: 122737,12,NULBLK
BEQ 77$
.PRINT #S0$
.PRINT #S4$
BR BEGIN
77$: 12727,BLKS+1
BLK$: ,12727,NULBLK+200
REG5$: ,5001,5002
6$: 4737,RBYTE$,10027
4$: ,105100,32700,300
BEQ 7$
12703,1,13700,4$
BR 8$
7$: 13703,4$,42703,177700,4737,RBYTE$
8$: 42700,177400,10146,10001,5000,71027,32.,12601
9$: 4737,PST$,5201,20137,NULBLK+102,1002,5202,5001
SOB %3,9$
20237,NULBLK+12
BLOS 6$
.TTYIN %0
BR BEGIN
.DSABL LSB
.ENABL LSB
RBYTE$: 10146,10246,10346,10446,10546,13705,REG5$,20527,BUF+<BLKS*1000>
BHIS 1$
3$: 112500,42700,177400
BR 100$
1$: 12705,BUF
.READW #BLOK$,#3,#BUF,#BLKS*400,BLK$
BCC 2$
JMP ER$
2$: 62737,BLKS,BLK$
BR 3$
100$: 10537,REG5$,12605,12604,12603,12602,12601,207
MP1$: 10000,32,77500,PROG$,PROGE$-PROG$
MP2$: 14000,32,77500
PROG$: 12737
AD$: ,177010,52737
MASK$: ,177024,12737
COLOR$: ,177016,12737,GOT$/2,177010,5037,177014,207,
PROGE$:
PST$: 10046,10146,10246,10346,10446,10546,10037,COLOR$,5000,71027,10
10203,70327,120,60003,52703,100000,10337,AD$,12700,1,5701,1402
6300,77102,10037,MASK$,12700,MP1$,10737,GOT$,4737,CH$,300,4737,CH$
12700,377,4737,CH$,4737,CH$,12700,MP2$,4737,CH$,300,4737,CH$
12700,377,4737,CH$,4737,CH$,5727
GOT$: ,1375,12605,12604,12603,12602,12601,12600,207
CH$: 105737,176674,100375,110037,176676,207
END:
.END
Код:
; Pcx64
.IDENT /V01.01/
.TITLE PCX64
DRSPAC=END
NULBLK=DRSPAC+4000
BUF=NULBLK+1000
MEMORY=BUF+<1000*BLKS>
BLKS=80.
BS=BLKS+1
.ASECT
.MCALL .EXIT,.PRINT,.PURGE,.READW,.CSIGEN,.SERR,.CSTAT,.TTYIN,.TTYOUT
.MCALL .LOCK,.SETTOP
.=40
BEG,1000
.=1000
NSCR: 100000
S0$: .ASCIZ '?PCX-'<200>
S1$: .ASCIZ 'U-Error reading file'
S2$: .ASCIZ 'Viewer PCX-files, 64 colors.8*8'
S3$: .ASCIZ 'F-Not enough memory in CP RAM'
S4$: .ASCIZ 'I-Invalid PCX-format'
.EVEN
EXTS$: .RAD50 /PCXPCXPCXPCX/
BLOK$: .BLKW 10
.ENABL LSB
BEG: .LOCK
.SETTOP #MEMORY
CMP %0,#MEMORY
BHIS BEGIN
.PRINT #S0$
.PRINT #S3$
.EXIT
BEGIN: .PRINT #S2$
.SERR
.CSIGEN #DRSPAC,#EXTS$
BCC 1$
.EXIT
1$: .CSTAT #BLOK$,#3,#BLOK$
BCS BEGIN
.TTYOUT #14
.READW #BLOK$,#3,#NULBLK,#BS*400,#0
BCC 3$
ER$: .PRINT #S0$
.PRINT #S1$
BR BEGIN
3$: 122737,12,NULBLK
BEQ 77$
.PRINT #S0$
.PRINT #S4$
BR BEGIN
77$: 12727,BLKS+1
BLK$: ,12727,NULBLK+200
REG5$: ,5001,5002
6$: 4737,RBYTE$,10027
4$: ,105100,32700,300
BEQ 7$
12703,1,13700,4$
BR 8$
7$: 13703,4$,42703,177700,4737,RBYTE$
8$: 42700,177400,10146,10001,5000,71027,4.,12601
9$: 4737,PST$,5201,20137,NULBLK+102,1002,5202,5001
SOB %3,9$
20237,NULBLK+12
BLOS 6$
.TTYIN %0
BR BEGIN
.DSABL LSB
.ENABL LSB
RBYTE$: 10146,10246,10346,10446,10546,13705,REG5$,20527,BUF+<BLKS*1000>
BHIS 1$
3$: 112500,42700,177400
BR 100$
1$: 12705,BUF
.READW #BLOK$,#3,#BUF,#BLKS*400,BLK$
BCC 2$
JMP ER$
2$: 62737,BLKS,BLK$
BR 3$
100$: 10537,REG5$,12605,12604,12603,12602,12601,207
MP1$: 10000,32,77500,PROG$,PROGE$-PROG$
MP2$: 14000,32,77500
PROG$: 12737
AD$: ,177010,52737
MASK$: ,177024,12737
COLOR$: ,177016,12737,GOT$/2,177010,5037,177014,207,
PROGE$:
PSET: 10046,10146,10246,10346,10446,10546,10037,COLOR$,5000,71027,10
10203,70327,120,60003,52703,100000,10337,AD$,12700,1,5701,1402
6300,77102,10037,MASK$,12700,MP1$,10737,GOT$,4737,CH$,300,4737,CH$
12700,377,4737,CH$,4737,CH$,12700,MP2$,4737,CH$,300,4737,CH$
12700,377,4737,CH$,4737,CH$,5727
GOT$: ,1375,12605,12604,12603,12602,12601,12600,207
CH$: 105737,176674,100375,110037,176676,207
MAS$: ,,,2,2
PST$: 10046,10146,10246,10346,10446,10546,6301,6302,12705,MAS$,10546,10025
10125,10225,12605,4737,LINEBF,12605,12604,12603,12602,12601,12600,207
MPSET: 10046,10046,72027,-3,42700,177770,300,52600,42700,374,32701,1,1401,300
CALL PSET
12600,207
.ENABL LSB
LINEBF: 11500,16504,10,16502,4
1$: 16503,6,16501,2
2$: CALL MPSET
5201
SOB %3,2$
5202
SOB %4,1$
3$: 207
.DSABL LSB
END:
.END
Код:
ЛАT
WD0>R PCX8
Viewer PCX-files, 8 colors.
*
WD0>R PCX64
Viewer PCX-files, 64 colors.8*8
*
RT-11SJ (S) V05.00 [WD0]