Size: a a a

Ассемблер

2021 March 31

A

Aiwan ╭∩╮ (òÓ,) ╭∩╮b... in Ассемблер
я что то не то сказал?
источник

A

Aleksandr in Ассемблер
𝐦𝐚𝐤𝐟𝐥𝐨𝐲
Винда перестанет быть 😁
Уже двадцать пять лет как слышно это, а винда все укрепляет позиции
источник

A

Aleksandr in Ассемблер
𝐦𝐚𝐤𝐟𝐥𝐨𝐲
В форточки ядро линухов воткнут. Пока, в 10ке, оно как отдельный модуль идёт. Но винда вымрет как рудимент, думаю
Уже втыкали, еще на порах самых первых релизов NT. И успешно выпилили
источник

A

Aleksandr in Ассемблер
Ибо сказки про волшебные преимущества линукса так и остаются сказками
источник

EK

Eugene Krasnikov (ᴊɪ... in Ассемблер
Котеечко Пухнастиньке
доброе утро всем.
что за мнемоника?
BTS проверяет указанный бит (сохраняет его в CF) и одновременно с этим устанавливает его.
LOCK блокирует доступ к указанной ячейке памяти из других потоков на время выполнения инструкции. Т.е. делает операцию атомарной.

В данном случае это попытка входа в критическую секцию (блок кода, который должен выполняться только одним потоком). Если она (секция) уже занята, идёт прыжок JB (он же JC). Тут либо опять на BTS идёт прыжок (что маловероятно, т.к. так обычно не делают, а либо разбавляют код инструкцией PAUSE, либо вообще уходят в ожидание event'а через несколько циклов, чтоб излишне не загружать ядро циклом). Либо идёт пропуск этого блока кода, типа:

if (TryEnterCriticalSection(my_section)) {
 // тут происходит доступ к защищённой памяти
 LeaveCriticalSection(my_section);
}
источник

EK

Eugene Krasnikov (ᴊɪ... in Ассемблер
Многопоточное приложение это.
источник

EK

Eugene Krasnikov (ᴊɪ... in Ассемблер
А, ну да, там же слева метки. Очевидно, что не на BTS идёт прыжок.
источник

EK

Eugene Krasnikov (ᴊɪ... in Ассемблер
Короче, младший бит по адресу EAX - это флаг занятости КС. При попытке входа в КС этот бит проверяется и одновременно устанавливается. Если КС занята, то там как была 1, так и осталось, но мы получили инфу о её занятости CF=1. Если свободна, то мы установили 1, получив инфу о том, что она свободна (CF=0).

Освободить секцию можно простым MOV, т.к. он и так атомарен (если не пересекает границу памяти... не помню, то ли размер машинного слова, то ли линии кэша).

Кроме BTS используется также XADD и XCHG (без префикса, т.к. префикс LOCK в этой инструкции срабатывает по умолчанию). Для разных целей используют CMPXCHG (в т.ч. 8B, 16B) и логические/арифметические инструкции (чтобы атомарно выполнить какую-то операцию над переменной из нескольких потоков, не входя в критическую секцию - обычно этот вход нужен, когда нужно сделать блок каких-то операций). В плюсах для этого используется шаблон atomic.
источник

A

Aiwan ╭∩╮ (òÓ,) ╭∩╮b... in Ассемблер
Eugene Krasnikov (ᴊɪɴ x)
Короче, младший бит по адресу EAX - это флаг занятости КС. При попытке входа в КС этот бит проверяется и одновременно устанавливается. Если КС занята, то там как была 1, так и осталось, но мы получили инфу о её занятости CF=1. Если свободна, то мы установили 1, получив инфу о том, что она свободна (CF=0).

Освободить секцию можно простым MOV, т.к. он и так атомарен (если не пересекает границу памяти... не помню, то ли размер машинного слова, то ли линии кэша).

Кроме BTS используется также XADD и XCHG (без префикса, т.к. префикс LOCK в этой инструкции срабатывает по умолчанию). Для разных целей используют CMPXCHG (в т.ч. 8B, 16B) и логические/арифметические инструкции (чтобы атомарно выполнить какую-то операцию над переменной из нескольких потоков, не входя в критическую секцию - обычно этот вход нужен, когда нужно сделать блок каких-то операций). В плюсах для этого используется шаблон atomic.
ты его щас напугаешь - он в питон уйдет
источник

EK

Eugene Krasnikov (ᴊɪ... in Ассемблер
Aiwan ╭∩╮ (òÓ,) ╭∩╮bot
ты его щас напугаешь - он в питон уйдет
Судьба, значит такая :)
источник

С

Сергей in Ассемблер
𝐦𝐚𝐤𝐟𝐥𝐨𝐲
Будут очередные иксы над ядром
Экономическая модель останется виндовая от и до. Бабло не победишь. Не важно какое будет название, один фиг люди будут с радостью отдавать деньги.
В своё время билли же понял, что стрич надо домохозяек и эта стратегия идёт до сих пор
источник

𝐦

𝐦𝐚𝐤𝐟𝐥𝐨𝐲... in Ассемблер
Сергей
Экономическая модель останется виндовая от и до. Бабло не победишь. Не важно какое будет название, один фиг люди будут с радостью отдавать деньги.
В своё время билли же понял, что стрич надо домохозяек и эта стратегия идёт до сих пор
Хех. Что есть то есть
источник

a

asm in Ассемблер
Добро пожаловать Евгения. Не ответив на вопрос, будешь удалён из чата
источник

A

Aiwan ╭∩╮ (òÓ,) ╭∩╮b... in Ассемблер
источник

A

Aiwan ╭∩╮ (òÓ,) ╭∩╮b... in Ассемблер
работа не нужна, рекламма запрещена, на скриптах не пишем
источник

L

Lee in Ассемблер
Ребят объясните, в каком смысле непосредственное 8битное значение? Не понял сути
источник

L

Lee in Ассемблер
типо float?
источник

A

Aiwan ╭∩╮ (òÓ,) ╭∩╮b... in Ассемблер
0..255, -128..127
источник

A

Aiwan ╭∩╮ (òÓ,) ╭∩╮b... in Ассемблер
голое число в любой поддерживаемой сист счисления
источник

L

Lee in Ассемблер
Понял, спасибо
источник