 AS V1.42 Beta [Bld 86] - Quelle z1013.asm - Seite 1 - 10.3.2013 23:34:24


       1/       0 :                     	page	0
       2/       0 :                     	CPU	z80
       3/       0 :                     
       4/       0 :                     ;Z1013-MONITOR 2.02, A.2
       5/       0 :                     
       6/       0 :                     ; Makros
       7/       0 :                     hi              function x, (x>>8) & 0ffh	; High-Byte
       8/       0 :                     lo              function x, x & 0ffh		; Low-Byte
       9/       0 :                     
      10/       0 :                     ;-------------------------------------------------------------------------------
      11/       0 :                     ; Marken
      12/       0 :                     ;-------------------------------------------------------------------------------
      13/       0 : =EC00H              	BILD0:	EQU 	0EC00H
      14/       0 : =EC20H              	BILD1:	EQU 	0EC20H
      15/       0 : =EC2AH              	BILD2:	EQU	0EC2AH
      16/       0 : =EC40H              	BILD3:	EQU	0EC40H
      17/       0 : =EFBFH              	STACK:	EQU	0EFBFH
      18/       0 : =0H                 	AADR:	EQU	0000H		;RAM-Anfangsadresse (0000)
      19/       0 : =4000H              	LANG:	EQU	4000H		;Länge der ersten 16KBytes
      20/       0 :                     ;
      21/       0 :                     ;
      22/       0 :                     ;-------------------------------------------------------------------------------
      23/       0 :                     ; Start
      24/       0 :                     ;-------------------------------------------------------------------------------
      25/       0 :                     START:
      26/    F000 :                     	ORG	0F000H
      27/    F000 :                     
      28/    F000 : F3                  	DI
      29/    F001 : 3E 20               	LD	A,20H		;Leerzeichen
      30/    F003 : 21 00 EC            	LD	HL,0EC00H	;Anfang Bildspeicher
      31/    F006 : 11 01 EC            	LD	DE,0EC01H
      32/    F009 : 01 FF 03            	LD	BC,03FFH	;Größe des BWS
      33/    F00C : 77                  	LD	(HL),A
      34/    F00D : ED B0               	LDIR			;Bildschirm löschen
      35/    F00F :                     
      36/    F00F : 31 FF EF            	LD	SP,0EFFFH	;Stack ab Bildspeicherende nach unten
      37/    F012 :                     
      38/    F012 : 21 00 EC            	LD	HL,BILD0	;BWS 1. Zeile, 1. Spalte
      39/    F015 : 11 03 F1            	LD	DE,MSG		;Startmeldung
      40/    F018 : CD F5 F0            	CALL	PRNST		;Ausgabe auf den Bildschirm
      41/    F01B :                     
      42/    F01B : 21 20 EC            	LD	HL,BILD1	;BWS 2. Zeile, 1. Spalte
      43/    F01E : 11 1D F1            	LD	DE,MSG0		;Startmeldung
      44/    F021 : CD F5 F0            	CALL	PRNST		;Ausgabe auf den Bildschirm
      45/    F024 :                     
      46/    F024 : 16 00               	LD	D,00H		;00 
      47/    F026 : CD 37 F0            	CALL	WRIT		;in den Speicher schreiben
      48/    F029 : CD 47 F0            	CALL	READ		;Speicherinhalt prüfen
      49/    F02C : 16 FF               	LD	D,0FFH		;FF
      50/    F02E : CD 37 F0            	CALL	WRIT		;in den Speicher schreiben
      51/    F031 : CD 47 F0            	CALL	READ		;Speicherinhalt prüfen
      52/    F034 : C3 EB F0            	JP	END
      53/    F037 :                     ;----------------------
      54/    F037 :                     ;UNTERPROGAMM SCHREIBEN
      55/    F037 :                     ;----------------------
      56/    F037 :                     WRIT:
      57/    F037 : 21 00 00            	LD	HL,AADR
      58/    F03A : 01 00 40            	LD	BC,LANG
      59/    F03D :                     WRIT1:
      60/    F03D : 72                  	LD	(HL),D		;Byte schreiben
      61/    F03E : 23                  	INC	HL		;nächste Adresse
      62/    F03F : 0D                  	DEC	C		;Länge -1
      63/    F040 : 79                  	LD	A,C
      64/    F041 : B7                  	OR	A		;schon 0?
      65/    F042 : 20 F9               	JR	NZ,WRIT1	;100H x nächste Adresse
      66/    F044 : 10 F7               	DJNZ	WRIT1		;40H x nächste 100H Adressen
      67/    F046 : C9                  	RET
      68/    F047 :                     ;------------------
      69/    F047 :                     ;UNTERPROGAMM LESEN
      70/    F047 :                     ;------------------
      71/    F047 :                     READ:
      72/    F047 : 21 00 00            	LD	HL,AADR
      73/    F04A : 01 00 40            	LD	BC,LANG
      74/    F04D :                     READ1:
      75/    F04D : 7E                  	LD	A,(HL)		;gelesenes Byte (IST)
      76/    F04E : 5F                  	LD	E,A		;nach E retten
      77/    F04F : CD 68 F0            	CALL	DISP		;Ausgabe des geschriebenen Bytes (HEX) 
      78/    F052 :                     				;Ausgabe des gelesenen Bytes (HEX) 
      79/    F052 :                     				;Ausgabe des gelesenen Bytes (BIN)
      80/    F052 : BA                  	CP	D		;Vergleich mit dem geschriebenen (SOLL)
      81/    F053 : 20 09               	JR	NZ, FEHL	;Fehler und raus!!!
      82/    F055 : 23                  	INC	HL		;nächste Adresse
      83/    F056 : 0D                  	DEC	C		;Länge -1
      84/    F057 : 79                  	LD	A,C
      85/    F058 : B7                  	OR	A		;=0?
      86/    F059 : 20 F2               	JR	NZ, READ1		;100H x nächste Adresse
      87/    F05B : 10 F0               	DJNZ	READ1		;40H x nächste 100H Adressen
      88/    F05D : C9                  	RET
      89/    F05E :                     ;-------------------
      90/    F05E :                     ;UNTERPROGAMM FEHLER
      91/    F05E :                     ;-------------------
      92/    F05E :                     FEHL:
      93/    F05E : 21 40 EC            	LD	HL,BILD3	;BWS 1. Zeile, 31.Spalte
      94/    F061 : 11 2C F1            	LD	DE,MSG2		;Fehlermeldung
      95/    F064 : CD F5 F0            	CALL	PRNST		;Ausgabe auf den Bildschirm
      96/    F067 : 76                  	HALT
      97/    F068 :                     ;--------------------
      98/    F068 :                     ;UNTERPROGAMM ANZEIGE
      99/    F068 :                     ;--------------------
     100/    F068 :                     DISP:
     101/    F068 : C5                  	PUSH	BC
     102/    F069 : F5                  	PUSH	AF
     103/    F06A : 7C                  	LD	A,H		;1. Byte der Adresse
     104/    F06B : E5                  	PUSH	HL		;1. Byte sichern
     105/    F06C : 21 2A EC            	LD	HL,BILD2	;BWS 1. Zeile, 10.Spalte
     106/    F06F :                     DISP0:
     107/    F06F : F5                  	PUSH 	AF
     108/    F070 : CB 3F               	SRL	A
     109/    F072 : CB 3F               	SRL	A
     110/    F074 : CB 3F               	SRL	A
     111/    F076 : CB 3F               	SRL	A
     112/    F078 : FE 0A               	CP	0AH		;>9?
     113/    F07A : 38 02               	JR	C, DISP3		;nein
     114/    F07C : C6 07               	ADD	A, 07H		;dann Buchstabe
     115/    F07E :                     DISP3:
     116/    F07E : C6 30               	ADD	A, 30H
     117/    F080 : CD FD F0            	CALL	OUTA		;1. bzw. 3. Zeichen ausgeben
     118/    F083 : F1                  	POP	AF		;1. Byte der Adresse
     119/    F084 : E6 0F               	AND	0FH
     120/    F086 : FE 0A               	CP	0AH		;>9?
     121/    F088 : 38 02               	JR	C, DISP4		;nein; dann Ziffer
     122/    F08A : C6 07               	ADD	A, 07H		;Buchstabe
     123/    F08C :                     DISP4:
     124/    F08C : C6 30               	ADD	A, 30H
     125/    F08E : CD FD F0            	CALL	OUTA		;2. bzw.4. Zeichen ausgeben
     126/    F091 : 7D                  	LD	A,L
     127/    F092 : FE 0E               	CP	0EH		;auf EC0DH liegt das 4. Zeichen
     128/    F094 :                     				;nach dem 4. Zeichen steht in HL = EC0E
     129/    F094 : 28 08               	JR	Z, DISP5		;4.Zeichen erreicht --> BIN ausgeben 
     130/    F096 : E1                  	POP	HL		;wiedereinladen der aktuellen Adresse
     131/    F097 : E5                  	PUSH	HL
     132/    F098 : 7D                  	LD	A,L		;2. Byte der Adresse
     133/    F099 : 21 2C EC            	LD	HL,BILD2+2	;BWS 1. Zeile, 12.Spalte
     134/    F09C : 18 D1               	JR	DISP0		;bearbeiten
     135/    F09E :                     DISP5:
     136/    F09E : 23                  	INC	HL
     137/    F09F : 7A                  	LD	A,D		;geschriebenes Zeichen
     138/    F0A0 : B7                  	OR	A		;=00?
     139/    F0A1 : 20 0A               	JR	NZ, DISP2		;=FF
     140/    F0A3 : C6 30               	ADD	A, 30H
     141/    F0A5 :                     DISP1:
     142/    F0A5 : CD FD F0            	CALL	OUTA
     143/    F0A8 : CD FD F0            	CALL	OUTA
     144/    F0AB : 18 04               	JR	IST0
     145/    F0AD :                     DISP2:
     146/    F0AD : 3E 46               	LD	A,46H		;FF
     147/    F0AF : 18 F4               	JR	DISP1
     148/    F0B1 : 23                  	IST0:	INC	HL
     149/    F0B2 : 7B                  	LD	A,E		;gelesenes Zeichen
     150/    F0B3 : CB 3F               	SRL	A		;4x nach rechts schieben
     151/    F0B5 : CB 3F               	SRL	A
     152/    F0B7 : CB 3F               	SRL	A
     153/    F0B9 : CB 3F               	SRL	A
     154/    F0BB : FE 0A               	CP	0AH		;<9?
     155/    F0BD : 38 02               	JR	C, LBYT1		;nein, dann Ziffer
     156/    F0BF : C6 07               	ADD	A, 07H		;Buchstabe
     157/    F0C1 :                     LBYT1:
     158/    F0C1 : C6 30               	ADD	A, 30H
     159/    F0C3 : CD FD F0            	CALL	OUTA		;1. Zeichen ausgeben
     160/    F0C6 : 7B                  	LD	A,E
     161/    F0C7 : E6 0F               	AND	0FH
     162/    F0C9 : FE 0A               	CP	0AH		;>9?
     163/    F0CB : 38 02               	JR	C, LBYT2		;nein
     164/    F0CD : C6 07               	ADD	A, 07H		;dann Buchstabe
     165/    F0CF :                     LBYT2:
     166/    F0CF : C6 30               	ADD	A, 30H
     167/    F0D1 : CD FD F0            	CALL	OUTA		;2. Zeichen ausgeben
     168/    F0D4 : 23                  	INC	HL		;BWS: eine Spalte weiter
     169/    F0D5 : 7B                  	LD	A,E		;gelesenes Zeichen wieder herstellen
     170/    F0D6 : 06 08               	LD	B,8		;Anzahl der Bits
     171/    F0D8 :                     IST1:
     172/    F0D8 : CB 27               	SLA	A
     173/    F0DA : 38 0B               	JR	C, IST2		;Bit ist 1
     174/    F0DC : 0E 30               	LD	C,30H		;Bit ist 0
     175/    F0DE :                     IST3:
     176/    F0DE : CD 00 F1            	CALL	OUTC		;Bit 0/1 ausgeben
     177/    F0E1 : 10 F5               	DJNZ	IST1
     178/    F0E3 : E1                  	POP	HL
     179/    F0E4 : F1                  	POP	AF
     180/    F0E5 : C1                  	POP	BC
     181/    F0E6 : C9                  	RET
     182/    F0E7 :                     IST2:
     183/    F0E7 : 0E 31               	LD	C,31H		;Bit ist 1
     184/    F0E9 : 18 F3               	JR	IST3
     185/    F0EB :                     ;-------------------------
     186/    F0EB :                     ; MSG-AUSGABE Test ende
     187/    F0EB :                     ;-------------------------
     188/    F0EB :                     END:
     189/    F0EB : 21 40 EC            	LD	HL,BILD3	;BWS 1. Zeile, 12.Spalte 
     190/    F0EE : 11 25 F1            	LD	DE,MSG1		;Endemeldung
     191/    F0F1 : CD F5 F0            	CALL	PRNST		;Ausgabe auf den Bildschirm
     192/    F0F4 : 76                  	HALT
     193/    F0F5 :                     ;-------------------------
     194/    F0F5 :                     ;UNTERPROGAMME MSG-AUSGABE
     195/    F0F5 :                     ;-------------------------
     196/    F0F5 :                     PRNST:
     197/    F0F5 : 1A                  	LD	A,(DE)		;Zeichenkettenausgabe über-
     198/    F0F6 : B7                  	OR	A		;nommen vom Z9001-System-ROM
     199/    F0F7 : C8                  	RET	Z
     200/    F0F8 : 77                  	LD	(HL),A
     201/    F0F9 : 23                  	INC	HL
     202/    F0FA : 13                  	INC	DE
     203/    F0FB : 18 F8               	JR	PRNST
     204/    F0FD :                     OUTA:
     205/    F0FD : 77                  	LD	(HL),A
     206/    F0FE : 23                  	INC	HL
     207/    F0FF : C9                  	RET
     208/    F100 :                     OUTC:
     209/    F100 : 71                  	LD	(HL),C
     210/    F101 : 23                  	INC	HL
     211/    F102 : C9                  	RET
     212/    F103 :                     MSG:
     213/    F103 : 52 41 4D 54 45 53   	DB	"RAMTEST 1.0 (c)PIC18F2550"	;Startmeldung
                    54 20 31 2E 30 20 
                    28 63 29 50 49 43 
                    31 38 46 32 35 35 
                    30 
     214/    F11C : 00                  	DB	0
     215/    F11D :                     MSG0:
     216/    F11D : 52 41 4D 54 45 53   	DB	"RAMTEST"	;Startmeldung
                    54 
     217/    F124 : 00                  	DB	0
     218/    F125 :                     MSG1:
     219/    F125 : 52 41 4D 20 4F 4B   	DB	"RAM OK"	;Endemeldung
     220/    F12B : 00                  	DB	0
     221/    F12C :                     MSG2:
     222/    F12C : 46 45 48 4C 45 52   	DB	"FEHLER"	;Fehlermeldung
     223/    F132 : 00                  	DB	0
     224/    F133 :                     	END
 AS V1.42 Beta [Bld 86] - Quelle z1013.asm - Seite 2 - 10.3.2013 23:34:24


  Symboltabelle (*=unbenutzt):
  ----------------------------

 AADR :                           0 - | *ARCHITECTURE :    k8-unknown-linux - |
*BIGENDIAN :                      0 - |  BILD0 :                       EC00 - |
 BILD1 :                       EC20 - |  BILD2 :                       EC2A - |
 BILD3 :                       EC40 - | *BRANCHEXT :                      0 - |
*CASESENSITIVE :                  0 - | *CONSTPI :        3.141592653589793 - |
*DATE :                   10.3.2013 - |  DISP :                        F068 C |
 DISP0 :                       F06F C |  DISP1 :                       F0A5 C |
 DISP2 :                       F0AD C |  DISP3 :                       F07E C |
 DISP4 :                       F08C C |  DISP5 :                       F09E C |
 END :                         F0EB C | *FALSE :                          0 - |
 FEHL :                        F05E C | *FULLPMMU :                       1 - |
*HAS64 :                          1 - | *HASDSP :                         0 - |
*HASFPU :                         0 - | *HASPMMU :                        0 - |
*INEXTMODE :                      0 - | *INLWORDMODE :                    0 - |
*INMAXMODE :                      0 - | *INSRCMODE :                      0 - |
*INSUPMODE :                      0 - |  IST0 :                        F0B1 C |
 IST1 :                        F0D8 C |  IST2 :                        F0E7 C |
 IST3 :                        F0DE C |  LANG :                        4000 - |
 LBYT1 :                       F0C1 C |  LBYT2 :                       F0CF C |
*LISTON :                         1 - | *MACEXP :                         1 - |
*MOMCPU :                        80 - | *MOMCPUNAME :                   Z80 - |
 MSG :                         F103 C |  MSG0 :                        F11D C |
 MSG1 :                        F125 C |  MSG2 :                        F12C C |
*NESTMAX :                      100 - |  OUTA :                        F0FD C |
 OUTC :                        F100 C | *PACKING :                        0 - |
*PADDING :                        1 - |  PRNST :                       F0F5 C |
 READ :                        F047 C |  READ1 :                       F04D C |
*RELAXED :                        0 - | *STACK :                       EFBF - |
*START :                          0 C | *TIME :                    23:34:24 - |
*TRUE :                           1 - | *VERSION :                     142F - |
 WRIT :                        F037 C |  WRIT1 :                       F03D C |

     62 Symbole
     30 unbenutzte Symbole

 AS V1.42 Beta [Bld 86] - Quelle z1013.asm - Seite 3 - 10.3.2013 23:34:24


  definierte Funktionen:
  ----------------------

LO                                    | HI                                   

 AS V1.42 Beta [Bld 86] - Quelle z1013.asm - Seite 4 - 10.3.2013 23:34:24


  Zeichentabellen:
  ----------------

STANDARD (0 veränderte Zeichen)


0.01 Sekunden Assemblierzeit

    225 Zeilen Quelltext
      2 Durchläufe
      0 Fehler
      0 Warnungen
