powered by simpleCommunicator - 2.0.61     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / Программирование [игнор отключен] [закрыт для гостей] / Почему JMP на границу параграфа работает (в разы?) быстрее JMP в середину параграфа памяти
4 сообщений из 4, страница 1 из 1
Почему JMP на границу параграфа работает (в разы?) быстрее JMP в середину параграфа памяти
    #36309844
Фотография quaid
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Теоретический вопрос в сабже. Столкнулся с подобным кодом

Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
23.
24.
25.
26.
27.
28.
29.
30.
31.
32.
33.
 procedure  _FillChar( var  Dest; count: Integer; Value: Char);
 asm                     
        CMP   EDX,  32 
        MOV   CH, CL        
        JL    @@Small              // Переход по условию на код, который "выровнен" 
        MOV   [EAX  ], CX  
        MOV   [EAX+ 2 ], CX
        MOV   [EAX+ 4 ], CX
        MOV   [EAX+ 6 ], CX
        SUB   EDX,  16 
        FLD   QWORD PTR [EAX]
        FST   QWORD PTR [EAX+EDX]  
        FST   QWORD PTR [EAX+EDX+ 8 ]
        MOV   ECX, EAX
         AND    ECX,  7    
        SUB   ECX,  8 
        SUB   EAX, ECX
        ADD   EDX, ECX
        ADD   EAX, EDX
        NEG   EDX
@@Loop:
        FST   QWORD PTR [EAX+EDX]   
        FST   QWORD PTR [EAX+EDX+ 8 ]
        ADD   EDX,  16 
        JL    @@Loop
        FFREE ST( 0 )
        FINCSTP
        RET
        NOP  // Зачем? 
        NOP  // Зачем? 
        NOP  // Зачем? 
@@Small:
        //.... 


Какой выигрыш в скорости дает подобный jump и с чем это связано?

Модератор: Тема перенесена из форума "Delphi".
...
Рейтинг: 0 / 0
Почему JMP на границу параграфа работает (в разы?) быстрее JMP в середину параграфа памяти
    #36311326
eee-pc
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
один код в кеше, другой нет
...
Рейтинг: 0 / 0
Почему JMP на границу параграфа работает (в разы?) быстрее JMP в середину параграфа памяти
    #36311327
eee-pc
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
да и вообще борланд это зло
...
Рейтинг: 0 / 0
Почему JMP на границу параграфа работает (в разы?) быстрее JMP в середину параграфа памяти
    #36311359
Фотография mayton
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Похоже на неявную работу директивы ALIGN или EVEN.
...
Рейтинг: 0 / 0
4 сообщений из 4, страница 1 из 1
Форумы / Программирование [игнор отключен] [закрыт для гостей] / Почему JMP на границу параграфа работает (в разы?) быстрее JMP в середину параграфа памяти
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]