2010-11-28 2 views
2

Linuxでアセンブリ(x86)を使用して現在の日付を取得しようとしています。私は、次のプログラムを書いた:gettimeofday()を使用して現在の日付を取得する方法

[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 

私は、コードをデバッグした後、私は4(%のEBX)に0(%のEBX)とマイクロ秒で秒にアクセスすることができますEBXのテレビ構造体のアドレスを取得することを期待します私は$ ebx = 0x0を得る。どうして?

答えて

3

あなたはそれを後方に持っています。カーネルがebxを通してあなたにstruct timeval *を与えることを期待するのではなく、カーネルに与えて、それを修正する必要があります。

関連する問題