MHTEST2 ASM
;TESTPROGRAMME
;ZUR MODULVERWALTUNG
;9 MODULE:
;F4 16K-MODUL
;F5 256K-MODUL
;F6 64K-MODUL
;78 128K
;79 256K
;7A 512K
;7B 1M
;F1 16K CMOS
;F2 32K CMOS
;Anfordern indirekt ss06
;Anfordern direkt 1D hhhh
;Freigeben (direkt) 9D hhhh
;Zaehlen ss42
;Abfragen (Kette) ss2B
;Auslisten ss??
;GROESZENBYTE
RLTAB
DW 40F4H,8F2H,8F6H
DW 2078H,2079H,207AH,107BH
DW 8F5H,40F1H
RL
;BESTIMME RAM-LAENGE
;PE: B=MODULSCHACHT
;PA: C=LAENGE
; B=ADDIEROFFSET
; A=Strukturbit
;CY=BIT7 KENNBYTE
;Z:EXTRAWURST F5-MODUL
LD A,B
SUB 3
JR Z,RLR8
DEC A
JR Z,RLR4
LD C,80H
IN A,(C)
CP 0FFH ;KEIN MODUL?
JR Z,RL1
PUSH HL
LD HL,RLTAB
LD B,9
RL2
RLC C
CP M
INC HL
JR Z,RL3
INC HL
DJNZ RL2
POP HL
RL1
LD BC,0
SCF
RET
RL3
LD B,M
POP HL
CP 0F5H ;Z:256-EIGEN
RLCA ;CY:OFFSET
RLR1 LD A,B
LD B,4
RET NC
CCF
LD B,40H
RET NZ
LD C,16 ;EXTRAWURST
LD B,14H
RET
RLR4
LD BC,302H
JR RLR1 ;CY=0
RLR8
LD A,(0B7F0H)
BIT 0,A
LD BC,402H
JR Z,RLR1
LD C,0EH
JR RLR1
;HAUPTPGM:
MHX
LD BC,0
BIT 2,L
JR NZ,LOOPA
BIT 6,L ;ZAEHLEN?
CALL NZ,LA2 ;DE:=0
JR NZ,LOOPA
LD DE,8303H
SCF
RET
LOOPA
LD A,E
CP B
JR NZ,$+4
RES 0,L
PUSH BC
CALL RL
JP C,NOMOD
BIT 0,L
JP NZ,LA1
BIT 1,L ;Strukturtest?
JR Z,LA3
AND H
JP Z,LA1
LA3
LD A,83H
LOOPI
BIT 3,L
JR Z,LI3
CP D
JR NZ,LI13
RES 3,L
LI3
;EXTRAWURST FUER RAM4??HIER
EX DE,HL
EX (SP),HL
PUSH AF
PUSH HL
BIT 1,E
JR Z,XR1
LD A,H
CP 4
JR NZ,XR1
LD A,D
RRA
BIT 0,L
JR NZ,XR2
RRA
XR2
JR NC,LI8 ;UEBERGEHEN
XR1
CALL LHLA
BIT 2,E
JR NZ,LI7
AND M
JR Z,LI8
SET 7,E
JR LI8
LI7 ;SETZEN/RUECKSETZEN
PUSH BC
LD B,A
AND M
ADD 0FFH
LD A,B
POP BC
BIT 7,E
JR NZ,LI9
JR C,XORS
BIT 1,E
JR NZ,LI8
END2 POP HL
POP AF
EX DE,HL
END1 SCF
POP BC
RET
LI9 JR C,END2
XORS XOR M
LD M,A
SET 4,E ;Abbruch
LI8
POP HL
POP AF
EX (SP),HL
EX DE,HL
LI4
BIT 6,L
JR NZ,LI14
EX (SP),HL
LD E,H
EX (SP),HL
LD D,A
JR LI6
LI14
BIT 7,L
JR Z,LI13
RES 7,L
INC DE ;ZAEHLEN
;JR LI13
LI6
BIT 4,L ;Rausschmi~?
JR NZ,RAUS
BIT 5,L
JR Z,$+4
SET 4,L
LI13
EX (SP),HL
INC L ;BITNR
EX (SP),HL
JR Z,END1 ;MIT POP
ADD B
BIT 4,B
JR Z,LI5
BIT 2,A
JR NZ,LI5
BIT 3,A
JR NZ,LI5
SUB 10H
LI5
DEC C
JP NZ,LOOPI
NOMOD
POP BC
JR LA4
LA1 ;JUMP OVER
LD A,C
POP BC
ADD C
JR C,ENDE
LD C,A
LA4 INC B
JP NZ,LOOPA
ENDE
SCF
BIT 2,L
RET NZ
OR A
BIT 6,L
RET NZ
LA2 LD DE,0 ;Ende:NIL
RET
RAUS
POP BC
OR A
RET
;L IN HL UND A UMRECHNEN
LHLA
LD A,(0B7F1H)
LD H,A
LD A,L
SRL L
SRL L
SCF
RR L ;80..9F
PUSH HL
LD H,0FDH
OR 0F8H
LD L,A
LD A,M
POP HL
RET
OS EQU 0F003H
DB 7FH,7FH,'EMS',1
CALL MHX
PUSH AF
CALL OS
DB 1BH
PUSH BC
POP HL
CALL OS
DB 1AH
POP AF
RET NC
CALL OS
DB 19H
RET
IOO
PUSH AF
IN A,88H
XOR 4
OUT 88H,A
POP AF
RET
DB 7FH,7FH,'256K',1
CALL IOO
PUSH HL
DI
LD H,80H
LD A,(IX+1)
LD L,A
AND 0FH
OUT 84H
LD C,M
LD M,A
XOR H ;80H
OUT 84H
LD B,M
LD M,A
XOR H
OUT 84H
CP M ;Z-Flag!
LD M,C
SET 7,A
OUT 84H
LD M,B
LD A,L
OUT 84H
EI
POP HL
CALL IOO
;
RET NZ
CALL OS
DB 23H,'256K BESTUECKT',0
RET
X
IOO:ð
OS:(
LHLA:%
RAUS:!
LA2:
ENDE:
LA4:
LA1:
NOMOD:
LI5:ô
L NZ
CALL OS
DB 23H,'256K BESTUECKT',0
RET
X
IOO:ð
OS:(
LHLA:%
RAUS:!
LA2:
ENDE:
LA4:
LA1:
NOMOD:
LI5:ô
L
Detected encoding: ANSI (CP1252) | 4
|
|