FOU3/11ASM ; ORG 3000H NOP DEFW 7F7FH DEFM 'TEST' DEFB 1 PUSH AF LD A,L LD (KKB),A LD A,E LD (107EH),A LD A,C LD (107FH),A CALL FOU3 POP AF RET NOP ;--------------------------------------- ;ARBEITSZELLEN ;------------- ADR DEFW 1000H ;ANFANGSADRESSE ;DATENBEREICH ADR1 DEFW 0 ;ADRESSZWISCHEN- ;SPEICHER XP0 DEFW 0 ;ANFANGSPKT. FUER YP0 DEFB 0 ;ZEITINTERVALL XP1 DEFW 0 ;KOORDINATENZWI- YP1 DEFB 0 ;SCHENSPEICHER KKB DEFB 0 ;KONFIGURATIONS- ;KENNBYTE ; BIT : 0 : 1 ;--------------------------------------- ; 0 : : ; 1 : : ; 2 : : ; 3 : : ; 4 : : ; 5 : : ; 6 : : ; 7 : KC 85/3 - BWS : KC 85/4 - BWS ;--------------------------------------- ;FOURIERANALYSE + 3D-DIAGRAMM ;---------------------------- FOU3 PUSH AF PUSH HL PUSH DE PUSH BC PUSH IY LD HL,0 ;FENSTER EINSTELLEN LD (0B79CH),HL LD HL,2028H LD (0B79EH),HL LD HL,8000H ;CLS LD DE,8001H LD BC,36FFH LD M,0 LDIR LD HL,0A800H LD DE,0A801H LD BC,9FFH LD M,39H LDIR LD BC,7640H ;KOORDINATEN- LD HL,82F6H ;SYSTEM KS0 PUSH HL ;SCHRAEGE ACHSE 1 LD A,(KKB) ;KC 85/3 ? BIT 7,A CALL Z,UMWA LD M,C POP HL LD A,0FH AND B CP 8 JR NZ,KS1 PUSH HL LD A,(KKB) ;KC 85/3 ? BIT 7,A CALL Z,UMWA LD M,3 POP HL INC H PUSH HL LD A,(KKB) ;KC 85/3 ? BIT 7,A CALL Z,UMWA LD M,80H POP HL DEC H KS1 RRC C JR NC,KS2 INC H KS2 DEC L DJNZ KS0 LD BC,7680H LD HL,99F6H KS3 PUSH HL ;SCHRAEGE ACHSE 2 LD A,(KKB) ;KC 85/3 ? BIT 7,A CALL Z,UMWA LD M,C LD A,0FH AND B CP 8 JR NZ,KS4 LD M,7 KS4 POP HL RRC C JR NC,KS5 INC H KS5 DEC L DJNZ KS3 LD BC,8340H ;SENKR. ACHSE LD HL,8275H KS6 PUSH HL LD A,(KKB) ;KC 85/3 ? BIT 7,A CALL Z,UMWA LD A,M OR C LD M,A LD A,1FH AND B CP 2 JR NZ,KS7 LD M,0E0H KS7 POP HL INC L DJNZ KS6 LD BC,17FFH ;WAAGER. ACHSE LD HL,82F6H KS8 PUSH HL LD A,(KKB) ;KC 85/3 ? BIT 7,A CALL Z,UMWA LD M,C POP HL INC H DJNZ KS8 LD BC,840H LD HL,82F5H KS9 PUSH HL LD A,(KKB) ;KC 85/3 ? BIT 7,A CALL Z,UMWA LD M,C POP HL INC L INC L PUSH HL LD A,(KKB) ;KC 85/3 ? BIT 7,A CALL Z,UMWA LD M,C POP HL DEC L DEC L INC H INC H INC H DJNZ KS9 ;BESCHRIFTUNG LD HL,100H ;KONSTANTER TEXT LD (0B7A0H),HL CALL 0F003H DEFB 23H DEFM 'Einheit' DEFW 0D0AH DEFB 0AH DEFM 'Kanal' DEFW 0D0AH DEFW 0A0AH DEFW 0A0AH DEFW 0A0AH DEFW 0A0AH DEFW 0A0AH DEFM '%' DEFW 0D0AH DEFW 0A0AH DEFB 0AH DEFM '75' DEFW 0D0AH DEFW 0A0AH DEFB 0AH DEFM '50' DEFW 0D0AH DEFW 0A0AH DEFB 0AH DEFM '25' DEFW 0D0AH DEFW 0A0AH DEFB 0AH DEFM '00' DEFB 0 LD HL,(ADR) ;ADRESSRECHNUNG ;ZEICHENKETTEN LD IY,0B7A0H LD (IY),8 LD (IY+1),1 LD DE,80H ADD HL,DE LD B,6 ;EINHEIT TXT1 CALL TXOUT DJNZ TXT1 LD B,6 LD (IY),8 INC (IY+1) TXT2 CALL TXOUT DJNZ TXT2 LD B,3 ;KANAL LD (IY),8 INC (IY+1) TXT3 CALL TXOUT DJNZ TXT3 LD B,3 LD (IY),8 INC (IY+1) TXT4 CALL TXOUT DJNZ TXT4 LD B,0BH ;KOMMENTAR LD (IY),0 INC (IY+1) TXT5 CALL TXOUT DJNZ TXT5 LD B,0AH LD (IY),0 INC (IY+1) TXT6 CALL TXOUT DJNZ TXT6 LD B,9 LD (IY),0 INC (IY+1) TXT7 CALL TXOUT DJNZ TXT7 LD B,50H;ACHSENBESCHRIFTUNG LD (IY),2 LD (IY+1),1 ;NH TXT8 CALL TXOUT DJNZ TXT8 ;FOURIERANALYSE + DIAGRAMMDARSTELLUNG LD HL,9104H ;ANFANGSPUNKT LD (XP0),HL LD A,7FH LD (YP0),A LD HL,(ADR) LD BC,1E81H ADD HL,BC ;STARTADR. ANALYSE LD B,3BH ;59 ZEITINTERVALLE LD (ADR1),HL RFA0 LD HL,(ADR) LD DE,07FH ADD HL,DE BIT 0,M JR NZ,RFA47 BIT 0,B JP Z,RFA48 RFA47 PUSH BC LD C,1EH ;30 FREQUENZEN DI PUSH IX RFA1 LD A,80H LD B,A ;ANZAHL MESSWERTE LD E,A LD D,0 LD HL,(ADR1) LD IX,0 ;ANFANGSWERTE SUMME LD IY,0 RFA2 LD A,M CP 80H JP Z,RFA37;BEREICHSUEBERSCH PUSH BC LD A,E SUB B LD B,A ;B=MESSWERTNR. LD A,1FH ;8 MAL FREQUENZ SUB C RLCA RLCA RLCA LD C,0E0H OUT (C),A ;FAKTORENEINGABE PUSH DE LD C,0E8H IN B,(C) ;SIN INC C IN E,(C) ;COS LD C,0E1H LD A,M OUT (C),A ;MESSW. MAL SIN LD A,E INC C IN D,(C) INC C INC C IN E,(C) SLA D RL E LD D,0 BIT 7,E JR Z,RFA45 DEC D RFA45 ADD IX,DE ;ADDIEREN LD B,A LD C,0E1H LD A,M OUT (C),A INC C IN D,(C) INC C INC C IN E,(C) SLA D RL E LD D,0 BIT 7,E JR Z,RFA46 DEC D RFA46 ADD IY,DE ;ADDIEREN INC HL INC HL POP DE POP BC DJNZ RFA2 PUSH BC PUSH IX ;WERTUEBERSCHREITUNG? POP AF AND 0C0H CP 80H JP Z,RFA42 CP 40H JP Z,RFA42 PUSH IY POP AF AND 0C0H CP 80H JP Z,RFA42 CP 40H JP Z,RFA42 PUSH HL PUSH DE LD HL,(ADR) LD DE,7EH ADD HL,DE LD A,M POP DE POP HL CP 0 ;FAK2 BERUECKSICHTIGEN JR Z,RFA6 LD B,A RFA7 ADD IX,IX PUSH IX ;WERTUEBERSCHREITUNG? POP AF AND 0C0H CP 80H JP Z,RFA42 CP 40H JP Z,RFA42 ADD IY,IY PUSH IY ;WERTUEBERSCHREITUNG? POP AF AND 0C0H CP 80H JP Z,RFA42 CP 40H JP Z,RFA42 DJNZ RFA7 RFA6 PUSH IX ; 2 MAL ABS(IX) POP BC BIT 7,B JR Z,RFA4 LD HL,0 XOR A SBC HL,BC LD B,H LD C,L RFA4 SLA C RL B LD C,0E0H ;QUADRAT OUT (C),B INC C INC C IN L,(C) INC C INC C IN H,(C) BIT 7,H JP NZ,RFA42 PUSH HL ;A^2 PUSH IY ;2 MAL ABS(IY) POP BC BIT 7,B JR Z,RFA5 LD HL,0 XOR A SBC HL,BC LD B,H LD C,L RFA5 SLA C RL B LD C,0E0H ;QUADRAT OUT (C),B INC C INC C IN E,(C) INC C INC C IN D,(C) ;B^2 BIT 7,D JP NZ,RFA13 POP HL ADD HL,DE ;A^2 + B^2 BIT 7,H JP NZ,RFA42 BIT 6,H JP NZ,RFA42 XOR A ;WURZEL CP H JR NZ,RFA8 LD B,L ;WERT < 256 LD C,0E0H INC A OUT (C),A LD C,0EAH JR RFA11 RFA8 SRL H RR L SRL H RR L SRL H RR L SRL H RR L XOR A CP H JR NZ,RFA9 LD B,L ;WERT < 4096 LD C,0E0H INC A JR RFA10 RFA9 SRL H RR L SRL H RR L LD B,L ;WERT < 16384 LD C,0E0H LD A,4 RFA10 OUT (C),A LD C,0EBH RFA11 IN E,(C) ;WURZEL IN E RFA12 POP BC LD A,1EH ;ERSTE FREQUENZ ? CP C PUSH BC JP Z,RFA14 ;KEINE LINIEN- LD HL,(XP1) ;DARSTELLUNG LD A,(YP1) LD D,A CP 80H JP Z,RFA15 ;LINIENANFANG LD A,E ;AUSSER BEREICH LD (YP1),A CP 80H JP Z,RFA16 ;LINIENENDE LD B,7 ;AUSSER BEREICH SUB D JR C,RFA17 ;LINIE FALLEND CALL MUL87 LD E,A LD A,7 AND E SRL E SRL E SRL E RFA18 LD C,D INC B BIT 3,B JR NZ,RFA23 CALL LIRES ;X IN HL, Y IN C RFA23 DEC B RFA31 LD C,E RFA19 CALL PSET ;X IN HL, Y IN D INC C DEC C JR Z,RFA40 INC D DEC C JR NZ,RFA19 RFA40 CP 0 LD (XP1),HL JR Z,RFA20 CALL PSET INC D DEC A RFA20 RRC L ;NAECHSTE SPALTE JR NC,RFA21 INC H RFA21 DJNZ RFA18 JP RFA24 RFA17 NEG ;FALLENDE LINIE CALL MUL87 LD E,A LD A,7 AND E SRL E SRL E SRL E RFA25 LD C,E RFA26 CALL PSET INC C DEC C JR Z,RFA41 DEC D DEC C JR NZ,RFA26 RFA41 CP 0 LD (XP1),HL JR Z,RFA27 CALL PSET DEC D DEC A RFA27 LD C,D INC B BIT 3,B JR NZ,RFA28 CALL LIRES RFA28 DEC B RRC L ;NAECHSTE SPALTE JR NC,RFA29 INC H RFA29 DJNZ RFA25 JR RFA24 RFA16 LD A,7FH ;LINIENENE AUSSER SUB D ;BEREICH LD E,A LD A,3 AND E SRL E SRL E LD B,4 LD C,D BIT 2,B JP NZ,RFA31 CALL LIRES JP RFA31 RFA15 LD A,E ;ANF. AUSSER BEREICH LD (YP1),A LD B,6 RFA33 RRC L JR NC,RFA34 INC H RFA34 DJNZ RFA33 LD (XP1),HL CP 80H JR Z,RFA24;END AUSSER BER.? SUB D NEG LD E,A LD A,3 AND E SRL E SRL E LD B,4 JP RFA25 RFA14 LD HL,(XP0) ;KURVENANFANG LD A,E LD (YP1),A CP 80H JR NZ,RFA32 LD B,3 RFA35 RLC L JR NC,RFA36 DEC H RFA36 DJNZ RFA35 RFA32 LD (XP1),HL RFA24 POP BC DEC C JP NZ,RFA1 RFA37 POP IX EI POP BC RFA48 PUSH BC XOR A ;NAECHST ZEITINTERVALL LD HL,(ADR1) LD BC,80H SBC HL,BC LD (ADR1),HL LD HL,(XP0) ;NEUE ANFANGS- LD B,2 ;KOORDINATEN RFA38 RLC L JR NC,RFA39 DEC H RFA39 DJNZ RFA38 LD (XP0),HL LD A,(YP0) DEC A DEC A LD (YP0),A POP BC DEC B JP NZ,RFA0 POP IY POP BC POP DE POP HL POP AF RET RFA13 POP HL RFA42 LD E,80H JP RFA12 ;UNTERPROGRAMME UND TABELLEN MUL87 PUSH BC ;MULT. MIT 8/7 LD BC,92E0H SLA A OUT (C),A IN A,(0E4H) POP BC RET TXOUT LD A,M ;UP TEXTAUSGABE CALL 0F003H DEFB 0 INC HL RET LIRES INC C DEC C RET Z PUSH HL;UP SENKR LINIE LOESCH PUSH BC PUSH AF LD A,(YP0) NEG SUB C LD B,C LD C,L LD L,A LD A,C CPL LD C,A LIR1 PUSH HL LD A,(KKB) ;KC 85/3 ? BIT 7,A CALL Z,UMWA LD A,M AND C LD M,A POP HL INC L DJNZ LIR1 POP AF POP BC POP HL RET PSET PUSH HL ;UP PUNKT SETZEN PUSH DE PUSH AF LD A,(YP0) CPL SUB D LD E,L LD L,A PUSH HL LD A,(KKB) ;KC 85/3 ? BIT 7,A CALL Z,UMWA LD A,M OR E LD M,A POP HL POP AF POP DE POP HL RET UMWA PUSH AF ;UMWANDLUNG BWS-ADR. PUSH DE ;KC85/4 --> KC85/3 PUSH BC LD A,3FH AND H BIT 5,A JR Z,UMWA1 AND 07H UMWA1 LD C,A LD A,20H AND H LD B,A LD A,L AND 0F0H RRA RRA RRA ADD B LD E,A LD A,0FH AND L RLA LD D,0 LD HL,TAB2 ADD HL,DE LD E,A LD A,M ADD C LD C,A INC HL LD B,M LD HL,TAB1 ADD HL,DE LD E,M INC HL LD D,M EX DE,HL ADD HL,BC POP BC POP DE POP AF RET ;TABELLEN FUER UMWA TAB1 DEFW 0 DEFW 80H DEFW 100H DEFW 180H DEFW 20H DEFW 0A0H DEFW 120H DEFW 1A0H DEFW 40H DEFW 0C0H DEFW 140H DEFW 1C0H DEFW 60H DEFW 0E0H DEFW 160H DEFW 1E0H TAB2 DEFW 8000H DEFW 8200H DEFW 8400H DEFW 8600H DEFW 8800H DEFW 8A00H DEFW 8C00H DEFW 8E00H DEFW 9000H DEFW 9200H DEFW 9400H DEFW 9600H DEFW 9800H DEFW 9A00H DEFW 9C00H DEFW 9E00H DEFW 0A000H DEFW 0A008H DEFW 0A010H DEFW 0A018H DEFW 0A200H DEFW 0A208H DEFW 0A210H DEFW 0A218H DEFW 0A400H DEFW 0A408H DEFW 0A410H DEFW 0A418H DEFW 0A600H DEFW 0A608H DEFW 0A610H DEFW 0A618H Y>