fix: исправлен недочет при расчете времени
This commit is contained in:
@ -67,6 +67,10 @@ section .text
|
|||||||
; считаем наносекунды
|
; считаем наносекунды
|
||||||
mov rax, [finish + timespec.tv_nsec]
|
mov rax, [finish + timespec.tv_nsec]
|
||||||
sub rax, [start + timespec.tv_nsec]
|
sub rax, [start + timespec.tv_nsec]
|
||||||
|
jns %%save_result
|
||||||
|
dec qword [deltatime + timespec.tv_sec] ; занимаем миллиард наносекунд
|
||||||
|
add rax, 1000000000 ; прибавляем занятый разряд
|
||||||
|
%%save_result:
|
||||||
mov [deltatime + timespec.tv_nsec], rax
|
mov [deltatime + timespec.tv_nsec], rax
|
||||||
pop rax
|
pop rax
|
||||||
%endmacro
|
%endmacro
|
||||||
@ -82,18 +86,6 @@ section .text
|
|||||||
%endmacro
|
%endmacro
|
||||||
|
|
||||||
main:
|
main:
|
||||||
; В качестве базы возьму inc
|
|
||||||
; регистровая
|
|
||||||
;inc ecx
|
|
||||||
;mov rax, example
|
|
||||||
;xor rbx, rbx
|
|
||||||
;; косвенно-регистровая
|
|
||||||
;inc byte [rax]
|
|
||||||
;; "Индексно-базовая", хотя у меня почти все может быть базой
|
|
||||||
;inc byte [rax + rbx]
|
|
||||||
;; "Индексно-базовая" со смещением
|
|
||||||
;inc byte [rax + rbx + 122]
|
|
||||||
|
|
||||||
xor rax, rax ; поскольку приходим сюда из компилятора, лучше обнулить
|
xor rax, rax ; поскольку приходим сюда из компилятора, лучше обнулить
|
||||||
TIME_1_000_000
|
TIME_1_000_000
|
||||||
nop
|
nop
|
||||||
|
|||||||
Reference in New Issue
Block a user