Size: a a a

Ассемблер

2021 June 09

d

disba1ancer in Ассемблер
Дефендер в этом плане просто замечателен
источник

d

disba1ancer in Ассемблер
Почему не написал чья это цитата?
источник

P

Prudya in Ассемблер
Это принципиально?
источник

d

disba1ancer in Ассемблер
Конечно!
источник

АШ

Алексей Шведов... in Ассемблер
Где можно найти алгоритм выделения памяти на ассемблере?
На ум приходит только запись в память пред. значений до смещения, куда нужно выделять, потом заполнить нулями кол-во, после чего записать оставшиеся байты.
источник

DF

Dollar Føølish in Ассемблер
не париться и заюзать человеческий аллокатор
источник

DF

Dollar Føølish in Ассемблер
будь то юзерспейс или ядро
источник

АШ

Алексей Шведов... in Ассемблер
Всмысле - API системы?
Ну и зачем, если мне нужно это использовать в своей памяти, и можно обойтись без лишних вызовов API, которые портят скорость выполнения
источник

DF

Dollar Føølish in Ассемблер
а как ты физ страницу выделишь без апи системы
источник

DF

Dollar Føølish in Ассемблер
память выдает ядро по пейдж фолту
источник

DF

Dollar Føølish in Ассемблер
больше никак
источник

АШ

Алексей Шведов... in Ассемблер
Можно найти выделенный код кейв в памяти. Я его уже нашёл, теперь нужно найти быстрый алгоритм выделения места внутри байтов
источник

DF

Dollar Føølish in Ассемблер
тогда помсмотри как аллокаторы работают на нелюбимых тобой яву
источник

DF

Dollar Føølish in Ассемблер
это очень богатая тема
источник

АШ

Алексей Шведов... in Ассемблер
Что ещё за "яву"?
источник

DF

Dollar Føølish in Ассемблер
в самом простом случае бамп аллокатор
источник

DF

Dollar Føølish in Ассемблер
который освобождает посмертно
источник

DF

Dollar Føølish in Ассемблер
язык высокого уровня
источник

АШ

Алексей Шведов... in Ассемблер
Я думаю сделать что-то типа такого:
EAX = 0x00300: ; Цель
b8 01 00 00 00
bb 02 00 00 00
ba 03 00 00 00

EBX = 0x00300 + 0x15: ; Результат
Выделение после 0x5 на 5 байт:
b8 01 00 00 00 ; Запись до смещения
00 00 00 00 00 ; Выделение
bb 02 00 00 00 ; Запись оставшихся
ba 03 00 00 00

Наверное, тут нечего оптимизировать
источник

s

s54816 in Ассемблер
А потом оказывается, что кто-то ссылался на инструкцию по $+5, а она переехала пятью байтами ниже. И всё сломается.
источник