|
DataMuseum.dkPresents historical artifacts from the history of: Jet Computer Jet80 |
This is an automatic "excavation" of a thematic subset of
See our Wiki for more about Jet Computer Jet80 Excavated with: AutoArchaeologist - Free & Open Source Software. |
top - download
Length: 6016 (0x1780) Types: TextFile Names: »AY4LAS0.MAC«, »AY4LAS3.BAK«
└─⟦09ad82a35⟧ Bits:30002863 PolyPascal-80 V3.10 for JET80 CP/M └─ ⟦this⟧ »AY4LAS0.MAC« └─ ⟦this⟧ »AY4LAS3.BAK«
.Z80 DPORT EQU 00H ;MODEMPORT-DATA SPORT EQU 01H ;MODEMPORT-STATUS ;STATUS BYTE DEF. (REGISTER "L") BCDBIT EQU 0 ;0=> EJ BCD ;1=> BCD KODNING SLUTB EQU 1 ;0=> IKKE RAPP.AFSL.-FLERE KONTR.CHAR FLG. ;1=> RAPP.AFSL. -SIDSTE KONTR.CHAR. KONT1B EQU 2 ;0=> DET ER FORSTE KONTR.CHAR. DER BEHANDLES ;1=> DET ER IKKE FORSTE KONTR.CHAR DVAR EQU 400H ASEG ORG 100H LD SP,500H INIT: XOR A LD B,A LD C,A LD D,A LD E,A LD H,A LD L,A LD IY,DVAR LD IX,DVAR INC IY ;DVAR, 2.BYTE START: LD B,0 ;RESET BYTE TALLER LOOP1: IN A,(SPORT) ;HENT SIOSTATUS AND 01H ;DATA READY JR Z,LOOP1 ;NEJ=>VANT IN A,(DPORT) ;HENT DATABYTE LD D,A ;GEM DATA INC B ;INCR BYTETALLER ADD A,E ;BEREGN CH.SUM LD E,A ;GEM VARDI LD A,D ;RESTORE DATA AND 0C0H ; CP 0C0H ;ER DET KONTROL JR NZ,ERROR ;NEJ=>HOP, FEJL LD A,D ;RESTORE DATA AND 3FH ;MASK BYTEANTAL LD C,A ;GEM ANTAL BYTES DER SKAL MODT. LOOP2: IN A,(SPORT) ;HENT SIOSTATUS AND 01H ;DATA READY JR Z,LOOP2 ;NEJ=>VANT IN A,(DPORT) ;HENT DATABYTE LD D,A ;GEM DATA INC B ;INCR BYTETALLER ADD A,E ;BEREGN CH.SUM LD E,A ;GEM VARDI LD A,D ;RESTORE DATA AND 0C0H ; CP 0C0H ;ER DET KONTROL JR NZ,ERROR ;NEJ=>HOP, FEJL LD A,D ;RESTORE DATA AND 30H ;MASK BCD/BIN CP 20H ;ER DET BCD? JR NZ,EJBCD ;NEJ=>HOP SET BCDBIT,L ;FLG.BYTES ER BCD JR FORTS EJBCD: CP 10H ;ER DET BIN? JR NZ,ERROR ;NEJ=>HOP, FEJL RES BCDBIT,L ;FLG.BYTES ER BIN FORTS: BIT KONT1B,L ;ER DET 1.KONTR.CHAR? JR Z,KONCH1 ;JA=>HOP LD A,D ;RESTORE DATA AND 0FH ;MASK NEDRE NIPPLE CP 0FH ;ER DET RAPP.AFSL? JR NZ,FORTS2 ;NEJ=>HOP SET SLUTB,L ;SET STATUS FOR RAPP.AFSL. JR FORTS2 KONCH1: LD A,D ;RESTORE DATA AND 0FH ;MASK VERS. NR ADD A,30H ;KONVERTER TIL ASCII INC (IX) ;INCR. STR.LANG.COUNTER LD (IY),A ;GEM VERS.NR INC IY ;PEG PA NASTE TOMME BYTE RES SLUTB,L ;SET STATUS FOR FLERE KONT.CHAR. SET KONT1B,L ;-"- IKKE FORSTE KONT.CHAR. ;------------------------------------------------ JR FORTS2 ;JR FUSK START2: JR START ;------------------------------------------------ FORTS2: IN A,(SPORT) ;HENT SIOSTATUS AND 01H ;DATA READY JR Z,FORTS2 ;NEJ=>VANT IN A,(DPORT) ;HENT DATABYTE LD D,A ;GEM DATA INC B ;INCR BYTETALLER BIT SLUTB,L ;ER DET RAPP.AFSL? JR NZ,CHCH ;JA=>HOP,BYTE=CHSUM ADD A,E ;BEREGN CH.SUM LD E,A ;GEM VARDI BIT BCDBIT,L ;ER DET BCD? JR Z,BINAR ;NEJ=>HOP, DET ER BINAR BCD: LD A,D ;RESTORE DATA RRA ;FLYT M.S.NIPPLE RRA ;TIL L.S.NIPPLE RRA RRA AND 0FH ;MASK 1.BCD CIFFER CP 0AH ;ER DET "A"? JR NZ,CIF ;NEJ=>CIFFER LD A,20H ;KONVERTER TIL SPACE JR GEM ;------------------------------------------------ ERROR: JR ERROR1 ;------------------------------------------------ CIF: ADD A,30H ;KONVERTER TIL ASCII GEM: LD (IY),A ;GFEM I DVAR INC IY ;PEG PA NASTE TOMME BYTE INC (IX) ;INCR. STR.LANG.COUNTER LD A,D ;RESTORE DATA AND 0FH ;MASK 2.BCD CIFFER CP 0AH ;ER DET "A"? JR NZ,CIF2 ;NEJ=>CIFFER LD A,20H ;KONVERTER TIL SPACE JR GEM2 CIF2: ADD A,30H ;KONVERTER TIL ASCII GEM2: LD (IY),A ;GFEM I DVAR INC IY ;PEG PA NASTE TOMME BYTE INC (IX) ;INCR. STR.LANG.COUNTER LD A,B ;HENT MODT.BYTE COUNTER CP C ;VAR DET SIDSTE BYTE? JR Z,START2 ;JA=>HENT NYE KONTROLCHAR. JR FORTS2 ;NEJ=>HENT FLERE BCD CIFRE BINAR: BIT 7,D ;ER FEJLEN AKTIV? JR NZ,BIT7H ;JA=>HOP LD A,30H ;LOAD "0" JR BIT7L BIT7H: LD A,31H ;LOAD "1" BIT7L: LD (IY),A ;GEM I DVAR INC IY ;PEG PA NASTE TOMME BYTE INC (IX) ;INCR. STR.LANG.COUNTER BIT 6,D ;ER FEJLEN AKTIV? JR NZ,BIT6H ;JA=>HOP LD A,30H ;LOAD "0" JR BIT6L BIT6H: LD A,31H ;LOAD "1" BIT6L: LD (IY),A ;GEM I DVAR INC IY ;PEG PA NASTE TOMME BYTE INC (IX) ;INCR. STR.LANG.COUNTER ;------------------------------------------------ JR LAB1 START1: JR START2 FORTS3: JR FORTS2 CHCH: JR CHCH1 ;------------------------------------------------ LAB1: BIT 5,D ;ER FEJLEN AKTIV? JR NZ,BIT5H ;JA=>HOP LD A,30H ;LOAD "0" JR BIT5L BIT5H: LD A,31H ;LOAD "1" BIT5L: LD (IY),A ;GEM I DVAR INC IY ;PEG PA NASTE TOMME BYTE INC (IX) ;INCR. STR.LANG.COUNTER BIT 4,D ;ER FEJLEN AKTIV? JR NZ,BIT4H ;JA=>HOP LD A,30H ;LOAD "0" JR BIT4L BIT4H: LD A,31H ;LOAD "1" BIT4L: LD (IY),A ;GEM I DVAR INC IY ;PEG PA NASTE TOMME BYTE INC (IX) ;INCR. STR.LANG.COUNTER ;------------------------------------------------ JR LAB2 ERROR1: JR ERROR2 ;------------------------------------------------ LAB2: BIT 3,D ;ER FEJLEN AKTIV? JR NZ,BIT3H ;JA=>HOP LD A,30H ;LOAD "0" JR BIT3L BIT3H: LD A,31H ;LOAD "1" BIT3L: LD (IY),A ;GEM I DVAR INC IY ;PEG PA NASTE TOMME BYTE INC (IX) ;INCR. STR.LANG.COUNTER BIT 2,D ;ER FEJLEN AKTIV? JR NZ,BIT2H ;JA=>HOP LD A,30H ;LOAD "0" JR BIT2L BIT2H: LD A,31H ;LOAD "1" BIT2L: LD (IY),A ;GEM I DVAR INC IY ;PEG PA NASTE TOMME BYTE INC (IX) ;INCR. STR.LANG.COUNTER BIT 1,D ;ER FEJLEN AKTIV? JR NZ,BIT1H ;JA=>HOP LD A,30H ;LOAD "0" JR BIT1L BIT1H: LD A,31H ;LOAD "1" BIT1L: LD (IY),A ;GEM I DVAR INC IY ;PEG PA NASTE TOMME BYTE INC (IX) ;INCR. STR.LANG.COUNTER BIT 0,D ;ER FEJLEN AKTIV? JR NZ,BIT0H ;JA=>HOP LD A,30H ;LOAD "0" JR BIT0L BIT0H: LD A,31H ;LOAD "1" BIT0L: LD (IY),A ;GEM I DVAR INC IY ;PEG PA NASTE TOMME BYTE INC (IX) ;INCR. STR.LANG.COUNTER LD A,B ;HENT MODT.BYTE COUNTER CP C ;VAR DERT SIDSTE BYTE JR Z,START1 ;JA=>HENT FLERE KONTROLCHAR JR FORTS3 ;NEJ=>FLERE BIN INFO CHCH1: LD A,D ;RESTORE DATA CP E ;ER CH.SUM OK? JR Z,SLUT ;JA=>OK, FARDIG ERROR2: LD IY,DVAR ;SKRIV "ERROR" I DVAR LD A,05H LD (IY),A INC IY LD A,45H LD (IY),A INC IY LD A,52H LD (IY),A INC IY LD A,52H LD (IY),A INC IY LD A,4FH LD (IY),A INC IY LD A,52H LD (IY),A SLUT: NOP END.«eof»