diff --git a/04-addr-methods/task2.asm b/04-addr-methods/task2.asm index ea4ff9d..73270ad 100644 --- a/04-addr-methods/task2.asm +++ b/04-addr-methods/task2.asm @@ -67,6 +67,10 @@ section .text ; считаем наносекунды mov rax, [finish + 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 pop rax %endmacro @@ -82,18 +86,6 @@ section .text %endmacro 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 ; поскольку приходим сюда из компилятора, лучше обнулить TIME_1_000_000 nop