|
|
@@ -14,11 +14,9 @@ section .bss
|
|
|
lt RESB 1
|
|
|
ot RESB 16
|
|
|
;timer struct interval
|
|
|
- isec RESB 4
|
|
|
- insec RESB 4
|
|
|
+ itimer RESB 8
|
|
|
;timer struct init val
|
|
|
- vsec RESB 4
|
|
|
- vnsec RESB 4
|
|
|
+ vtimer RESB 8
|
|
|
|
|
|
|
|
|
section .data
|
|
|
@@ -43,31 +41,16 @@ _start:
|
|
|
mov [tfd], eax
|
|
|
|
|
|
;init timer
|
|
|
- ;mov [tst], dword 0x0
|
|
|
- ;mov [tst], dword 0x01000100
|
|
|
-
|
|
|
- ;nanosec
|
|
|
- mov [tsr], byte 0x1
|
|
|
- mov [tsr+1], byte 0x0
|
|
|
- mov [tsr+2], byte 0x0
|
|
|
- mov [tsr+3], byte 0x0
|
|
|
-
|
|
|
-
|
|
|
- ;sec
|
|
|
- mov [tst], byte 0x2
|
|
|
- mov [tst+1], byte 0x0
|
|
|
- mov [tst+2], byte 0x0
|
|
|
- mov [tst+3], byte 0x0
|
|
|
- mov [tst+4], byte 0x0
|
|
|
- mov [tst+5], byte 0x0
|
|
|
- mov [tst+6], byte 0x0
|
|
|
- mov [tst+7], byte 0x0
|
|
|
+ ;interval
|
|
|
+ mov [itimer], DWORD 0x2000
|
|
|
+ ;value
|
|
|
+ mov [vtimer], DWORD 0
|
|
|
|
|
|
;settime sys_timerfd_settime
|
|
|
mov eax, SYS_TIMERFD_SETTIME
|
|
|
mov ebx, [tfd]
|
|
|
- mov ecx, dword 0x0
|
|
|
- mov edx, tst
|
|
|
+ mov ecx, itimer
|
|
|
+ mov edx, vtimer
|
|
|
int 0x80
|
|
|
|
|
|
;mov eax, 3
|
|
|
@@ -76,7 +59,7 @@ _start:
|
|
|
;mov edx, 1
|
|
|
;int 0x80
|
|
|
|
|
|
- ;jmp exit
|
|
|
+ jmp exit
|
|
|
|
|
|
poll:
|
|
|
;get time
|