Pobieranie i ustawianie daty oraz godziny

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


Spis treści off-line (Alt+1)
Spis treści on-line (Alt+2)
Ułatwienia dla niepełnosprawnych (Alt+0)