	$2A GET DATE



	int Tgetdate( void );



Sicher haben Sie bereits einmal mit dem Kontrollfeld experimentiert. 
Neben verschiedenen anderen Funktionen ist im Kontrollfeld eine Uhr 
mit Uhrzeit und Datum enthalten. Fr verschiedene Anwendungen kann es 
recht ntzlich sein, das eingestellte Datum zur Verfgung zu haben. 
Das Datum lt sich problemlos mit der Funktion GET DATE ermitteln. 
Dieser Funktionsaufruf bentigt keine Parameter und stellt nach dem 
Aufruf das Datum im Low-Word des Registers D0 zur Verfgung. 
Allerdings ist es recht aufwendig kodiert, so da das Ergebnis in D0 
noch aufbereitet werden mu, um das richtige Datum zu erhalten.



In den unteren 5 Bits wird der Tag im Bereich von 1 bis 31 codiert. 
Die Bits 5 bis 8 enthalten den Monat im Wertebereich von 1 bis 12, 
und das Jahr ist in den Bits 9 bis 15 enthalten. Der Wertebereich in 
diesen 'Jahresbits' geht von 0 bis 119. Der Wert dieser Bits mu zum 
Wert 1980 addiert werden, um die tatschlich eingestellte Jahreszahl 
zu bekommen. Das Datum 12.12.1992 z.B. ergbe $198C in D0. Binr lt 
sich das als %0001100.1100.01100 darstellen. Der Punkt markiert 
jeweils die Lngen der drei Felder.



----------------------------------------------------------------------
MOVE	#$2A,-(SP)	* wir wollen uns das Datum holen

TRAP	#1

ADDQ.L	#2,SP

MOVE	D0,D1		* Ergebnis in D1 zwischenspeichern

AND	#%11111,D0	* die Tagesbits ausmaskieren

MOVE	D0,TAG		* und abspeichern

LSR	#5,D1		* die 5 Tagesbits rausschieben

MOVE	D1,D0

AND	#%1111,D0	* und die Monatsbits maskieren

MOVE	D0,MONAT	* die Monatsnummer speichern

LSR	#4,D1		* und nochmal schieben

MOVE	D1,JAHR 	* das Jahr steht jetzt in D1

...

TAG:	DS.W	1

MONAT:	DS.W	1

JAHR:	DS.W	1

----------------------------------------------------------------------
