Как я могу получить доступ к системному времени с помощью NASM?

Лучше определить его как неподписанный символ. Infact БАЙТ типа Win32 определяется как неподписанный символ. Нет никакого различия между C & C++ между этим.

6
задан user176121 23 September 2009 в 13:22
поделиться

2 ответа

%define RTCaddress  0x70
%define RTCdata     0x71

;Get time and date from RTC

.l1:    mov al,10           ;Get RTC register A
    out RTCaddress,al
    in al,RTCdata
    test al,0x80            ;Is update in progress?
    jne .l1             ; yes, wait

    mov al,0            ;Get seconds (00 to 59)
    out RTCaddress,al
    in al,RTCdata
    mov [RTCtimeSecond],al

    mov al,0x02         ;Get minutes (00 to 59)
    out RTCaddress,al
    in al,RTCdata
    mov [RTCtimeMinute],al

    mov al,0x04         ;Get hours (see notes)
    out RTCaddress,al
    in al,RTCdata
    mov [RTCtimeHour],al

    mov al,0x07         ;Get day of month (01 to 31)
    out RTCaddress,al
    in al,RTCdata
    mov [RTCtimeDay],al

    mov al,0x08         ;Get month (01 to 12)
    out RTCaddress,al
    in al,RTCdata
    mov [RTCtimeMonth],al

    mov al,0x09         ;Get year (00 to 99)
    out RTCaddress,al
    in al,RTCdata
    mov [RTCtimeYear],al

    ret

Здесь используется NASM, он взят из здесь .

5
ответ дан 9 December 2019 в 20:46
поделиться

Я бы сказал, в зависимости от того, на какой платформе вы работаете, вам придется использовать функцию ОС.

В Windows попробуйте GetSystemTime . В linux попробуйте gettimeofday - см. Соответствующий вопрос здесь .

1
ответ дан 9 December 2019 в 20:46
поделиться
Другие вопросы по тегам:

Похожие вопросы: