Unterprogramme
für CLDDOS
Teil 3 – von Gerhard Baier
Bei vielen Maschinenprogrammen (z.B.
Frequenzzaehler,Impulszaehler
usw.) treten hexadezimale Werte auf, die dann in dezimaler Form auf dem
Monitor ausgegeben werden sollen. Die dazu notwendige Zahlenumwandlung
fuehrt das folgende Unterprogramm $CNVHD durch. Diese Routine
konvertiert eine mehrstellige HEX-Zahl in eine Dezimalzahl. Die
HEX-Zahl muss im Binaerformat vorliegen und kann aus bis zu 65 Bytes
bestehen. Die resultierende Dezimalzahl wird als ASCII-String im
Speicher abgelegt. Dabei werden fuehrende Nullen als Blanks
wiedergegeben. Mit einer entsprechenden String-Ausgaberoutine kann
diese Dezimalzahl dann auf dem Monitor ausgegeben werden.
$CNVHD VERSION 1.0 01-JUN-81
Diese Subroutine wandelt eine N-stellige Hexzahl im Binaerformat in
eine Dez-Zahl im ASCII-Format um.
Input-Parameter:
– A – Anzahl N der Bytes der Hexzahl
– HL – MS-Digit der Dez-Zahl (Laenge=3*N+1)
– DE – MS-Byte der Hex-Zahl (Laenge=N Bytes)
Output-Parameter:
– A –Anzahl der Dez-Stellen
– HL – Wie oben
– DE – Wie oben
Verwendete Register: –