как использовать gettimeofday (), чтобы получить текущую дату - PullRequest
2 голосов
/ 28 ноября 2010

Я пытаюсь получить текущую дату, используя ассемблер (x86) в Linux. Я написал следующую программу:

[BITS   32]

%assign SYS_GETTIMEOFDAY        78

[SECTION        .text]
[GLOBAL _start]
_start:
        ;get the system date
        mov     dword eax, SYS_GETTIMEOFDAY
        int     byte 0x80
        test    eax, eax
        js      error
done:
        convert
error:
        whatever

Я ожидал бы получить структурный адрес телевидения на ebx, чтобы я мог получить доступ к секундам в 0 (% ebx) и микросексам в 4 (% ebx), но после отладки кода я получаю $ ebx = 0x0. Почему?

1 Ответ

3 голосов
/ 28 ноября 2010

Ты получил это задом наперед. Вместо того, чтобы ожидать, что ядро ​​выдаст вам struct timeval * через ebx, вы должны передать ядру ядро, и оно изменит его.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...