The OpenNET Project / Index page

[ новости /+++ | форум | теги | ]



"Обновление операционной системы MenuetOS 1.50, написанной на ассемблере "
Версия для распечатки Пред. тема | След. тема
Форум Разговоры, обсуждение новостей
Исходное сообщение [ Отслеживать ]
Есть идеи по улучшению форума и сайта ? Пишите.
. "Обновление операционной системы MenuetOS 1.50, написанной на..." +1 +/
Сообщение от n00by (ok), 02-Мрт-24, 15:11 
> Чтобы компилятор си умел писать лучше чем программист на ассемблере, нужно уметь
> его этому научить, то есть знать как правильно писать на ассемблере.

Знаете? Расскажете, что делается ниже?

Сравнительный анализ perf stat до и после модификации:

Performance counter stats for ***:

    25 825 846 646      cycles:u                  # 2259676,844 GHz
    12 440 035 801      instructions:u            #    0,48  insn per cycle
     3 120 008 855      branches:u                # 272990537,667 M/sec
     1 039 998 618      branch-misses:u           #   33,33% of all branches

     9 581 647 564      cycles:u                  # 2254505,309 GHz
    11 600 026 289      instructions:u            #    1,21  insn per cycle
     2 280 005 786      branches:u                # 536471949,647 M/sec
        80 002 443      branch-misses:u           #    3,51% of all branches
...

--- a/interp.asm
+++ b/interp.asm
    mov    eax, [opcode]
    shl    rax, instruction_size_log2
+;    Переход никогда не происходит. *********
+;    ***************************************
+    jc    .stop
    lea    rax, [rax + vm_base + vm_base_lbl - execute_instruction]
    next_opcode
    jmp    rax
-    ud2
+.stop:    ud2




Ответить | Правка | Наверх | Cообщить модератору

Оглавление
Обновление операционной системы MenuetOS 1.50, написанной на ассемблере , opennews, 02-Мрт-24, 12:31  [смотреть все]
Форумы | Темы | Пред. тема | След. тема



Партнёры:
PostgresPro
Inferno Solutions
Hosting by Hoster.ru
Хостинг:

Закладки на сайте
Проследить за страницей
Created 1996-2024 by Maxim Chirkov
Добавить, Поддержать, Вебмастеру