Гость
Целевая тема:
Создать новую тему:
Автор:
Форумы / Delphi [игнор отключен] [закрыт для гостей] / InterlockedIncrement64 с задаваемым инкрементом / 4 сообщений из 4, страница 1 из 1
25.06.2018, 13:45
    #39665323
Mikhail Tchervonenko
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
InterlockedIncrement64 с задаваемым инкрементом
Доброе время суток всем,

помогите модифицировать из InterlockedIncrement64(var V: Int64) в
InterlockedIncrement64(var V: Int64; const Increment: Int64)
Другими словами величина инкремента должна быть не 1 а Int64 значение.
Код: pascal
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
function InterlockedIncrement64(var V: Int64): Int64;
asm
        PUSH    EBP
        PUSH    EBX
        MOV     EBP,EAX
        MOV     EDX,[EBP+4]
        MOV     EAX,[EBP]
@@Spin:
        MOV     EBX,EAX
        MOV     ECX,EDX
        ADD     EBX,1
        ADC     ECX,0
   LOCK CMPXCHG8B       [EBP]
        JNZ     @@Spin

        MOV     EAX,EBX
        MOV     EDX,ECX

        POP     EBX
        POP     EBP
end;



спасибо
...
Рейтинг: 0 / 0
25.06.2018, 13:51
    #39665331
Mikhail Tchervonenko
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
InterlockedIncrement64 с задаваемым инкрементом
кажется нашел,

InterlockedExchangeAdd64
...
Рейтинг: 0 / 0
25.06.2018, 13:57
    #39665335
Mikhail Tchervonenko
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
InterlockedIncrement64 с задаваемым инкрементом
...
Рейтинг: 0 / 0
26.06.2018, 17:40
    #39666160
kealon(Ruslan)
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
InterlockedIncrement64 с задаваемым инкрементом
Mikhail Tchervonenko,
Код: pascal
1.
2.
unit System.SyncObjs;
class function TInterlocked.Add(var Target: Int64; Increment: Int64): Int64;
...
Рейтинг: 0 / 0
Форумы / Delphi [игнор отключен] [закрыт для гостей] / InterlockedIncrement64 с задаваемым инкрементом / 4 сообщений из 4, страница 1 из 1
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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