Alles in BCD:
0000 .. 0999 : 0..999 * 0,01 s
1000 .. 1999 : 0..999 * 0,1 s
2000 .. 2999 : 0..999 * 1 s
3000 .. 3999 : 0..999 * 10 s
In welcher Einheit wird die zu codierende Zeit angeliefert? Sekunden?
Dann
- prüfen, ob < 0, ggfs FehlerMeldung bzw. auf Minimum begrenzen, d.h. Ergebnis = 0
- prüfen, ob > 9990, ggfs FehlerMeldung bzw. auf Maximum begrenzen, d.h. Ergebnis = W#16#3999
- prüfen, ob > 999, ggfs durch 10 dividieren, in BCD wandeln und W#16#3000 dazuODERn
- sonst in BCD wandeln und w#16#2000 dazuODERn