;	UHR.MAC
; schreibt die momentane Uhrzeit auf den Bildschirm.
; Inhalt von Adresse FEFB = Minuten
; Inhalt von Adresse FEFC = Stunden
;
	ENTRY UHR
	.Z80
ZEIT	EQU 0FEFBH
;
UHR:	DI
	LD HL,(ZEIT)
	EI
	LD DE,0
	LD E,H
	LD H,0
	CALL DIV10	; Dividiere HL durch 10
	LD A,30H	; Quotient in L, Rest in H
	ADD A,L
	LD L,A
	LD A,30H
	ADD A,H
	LD H,A
	LD (STM),HL
	EX DE,HL
	CALL DIV10
	LD A,30H
	ADD A,L
	LD L,A
	LD A,30H
	ADD A,H
	LD H,A
	LD (STH),HL
	LD C,09H
	LD DE,STRING
	CALL 0005
	RET
;
STRING:	DB 0DH,0AH
	DB 'Uhrzeit '
STH:	DB 0
	DB 0
	DB ':'
STM:	DB 0
	DB 0
	DB 0DH,0AH
	DB '$'
;
;	DIV10
; dividiert HL durch 10.
; Das Ergebnis steht wieder in H (Rest) und L (Quotient).
; (nach L.A.Leventhal  Z80 Assembly Language Programming  p8-15)
;
DIV10:	LD A,10
	LD C,A
	LD B,8
DIV:	ADD HL,HL
	LD A,H
	SUB C
	JR C,CNT
	LD H,A
	INC L
CNT:	DJNZ DIV
	RET
;
	END
