UpTime - Аптайм или время непрерывной работы системы

Kernel architecture questions
  • Проверь.

    Code: Select all

    mov ecx,1
    sub ecx,0xFFFFFFFF
    
    Сделаем мир лучше!
  • Да, все так и есть. Специально накидал пример:
    Spoiler:

    Code: Select all

    ; Сохранить в стеке регистр EFLAGS
    	pushfd
    ; Получить из стека регистр EFLAGS
    	mov	eax,[esp]
    	mov	[cpu_flags_1],eax
    ; Эмитация переполнения
    	mov	ecx,1
    	sub	ecx,0xFFFFFFFF
    	mov	[ecx_value],ecx
    ; Сохранить в стеке регистр EFLAGS
    	pushfd
    ; Получить из стека регистр EFLAGS
    	mov	eax,[esp]
    	mov	[cpu_flags_2],eax
    ; Восстановить из стека регистр EFLAGS
    	popfd
    ; Восстановить из стека регистр EFLAGS
    	popfd
    Получил результат 2 и установку в 1 флага CF (флаг переноса).
    timer_emul.7z (5.13 KiB)
    Downloaded 382 times
    З.Ы. Мне нужно обдумать свою собственную логику, найти, понять и скорректировать противоречие в моих размышлениях.
    Всем чмоки в этом проекте! Засуньте эти 11 лет себе в жопу!
  • 0xFFFFFFFF это -1 в дополнительном коде.
    Получается 1 - (-1) = 2.
  • Не вижу никакой сложности в том, чтобы расширить возвращаемое функцией значение до пары eax+ebx.
  • Ага, но это при условии, что эту функцию никто не использует в своем коде. А если используют, и уверены, что функция портит только eax, а ebx не затирается?
  • SoUrcerer wrote:Ага, но это при условии, что эту функцию никто не использует в своем коде. А если используют, и уверены, что функция портит только eax, а ebx не затирается?
    Насколько я знаю, в шелле есть команда uptime, которая использует эту функцию, может ещё она где-то используется, но переделывать много, таки думаю, не придётся.
  • Aeol wrote:
    SoUrcerer wrote:Ага, но это при условии, что эту функцию никто не использует в своем коде. А если используют, и уверены, что функция портит только eax, а ebx не затирается?
    Насколько я знаю, в шелле есть команда uptime, которая использует эту функцию, может ещё она где-то используется, но переделывать много, таки думаю, не придётся.
    Вот тут ошибочка - функция используется многими программами.
    Всем чмоки в этом проекте! Засуньте эти 11 лет себе в жопу!
  • Who is online

    Users browsing this forum: No registered users and 2 guests