W DOSie do pobierania bieżącej daty służy bezargumentowa funkcja numer 2Ah przerwania 21h. Po jej wywołaniu, w rejestrze CX dostajemy bieżący rok, w DH - miesiąc, a w DL - dzień miesiąca. Ponadto, w AL dostajemy numer dnia tygodnia (0 oznacza niedzielę)
Datę ustawia się, podając te same dane (z wyjątkiem dnia tygodnia) w tych samych rejestrach i wywołując funkcję 2Bh przerwania 21h.
Czas pobiera się bezargumentową funkcją 2Ch przerwania 21h. Po jej wywołaniu, w rejestrze CH dostajemy bieżącą godzinę, w CL - minutę, a w DH - sekundę. Aby zmienić bieżący czas systemowy, te same argumenty w tych samych rejestrach podajemy funkcji 2Dh przerwania 21h.
Oto krótki program dla NASMa, ilustrujący omówione funkcje:
; Program pobierający bieżącą datę i godzinę. Program NIC NIE WYŚWIETLA. ; ; Autor: Bogdan D., bogdandr (at) op.pl ; ; kompilacja: ; nasm -f bin -o dataczas.com dataczas.asm org 100h mov ah, 2ah ; 2B = ustaw int 21h mov [rok], cx mov [mies], dh mov [dzien], dl mov [dzient], al mov ah, 2ch ; 2D = ustaw int 21h mov [godz], ch mov [min], cl mov [sek], dh mov ax, 4c00h int 21h rok dw 0 mies db 0 dzien db 0 dzient db 0 godz db 0 min db 0 sek db 0