Size: a a a

Ассемблер

2021 August 16

V

Vladimir in Ассемблер
а как ты понял, что дважды hex?
источник

E

Entusiast in Ассемблер
Вроде внимательно
источник

d

disba1ancer in Ассемблер
оба кода эквивалентны, просто cmov будет игнорироваться во втором случае если оба регистра равны
источник

d

disba1ancer in Ассемблер
хотя это уже тянет на перебор с оптимизацией...
источник

E

Entusiast in Ассемблер
Мне глаз трёт этот maxblks
источник

s

s54816 in Ассемблер
Втыкай целиком теперь.
источник

d

disba1ancer in Ассемблер
это алиас на регистр, можешь заменить на ebx
источник

d

disba1ancer in Ассемблер
просто в исходнике я некоторым значимым регистрам давал имена, в целях самодокументирования
источник

E

Entusiast in Ассемблер
А! Понял.
Ну это правильно. Это не перебор, это вообще по-сути правильный код.

Действия не должны повторяться при разных условиях.
источник

d

disba1ancer in Ассемблер
не, для разных значений всё хорошо, просто когда равны, eax будет скопирован в maxblks, для первого случая, а для второго нет
источник

d

disba1ancer in Ассемблер
а теперь немного других вопросов
модуль грузится по адресу 0x10000, куда посоветуете сунуть стек?
источник

E

Entusiast in Ассемблер
Ну я про это и говорю.
В первом случае выполнится ненужное действие, во втором - нет
источник

E

Entusiast in Ассемблер
В 0, главное, чтоб не догнал твой код
источник

d

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

d

disba1ancer in Ассемблер
прямо по линейному адресу 0? страничной адресации как бы ещё нет, голое железо, даже доса нет
источник

d

disba1ancer in Ассемблер
о лишнюю инструкцию нашёл
источник

E

Entusiast in Ассемблер
Думаю, что да
Ну я свои ОС не писал, могу ошибаться
источник

d

disba1ancer in Ассемблер
ну смотри стек идёт в сторону нижних адресов, у виртуалки памяти всего 32 мб, ну и если завернуть адреса в 32ух битном режиме попадём в область адресов биоса, которые не пишутся
источник

E

Entusiast in Ассемблер
Нужно в окошко Ctrl+E вставлять.
Это ты вставляешь просто строку, а не HEX
Вот он тебе эту строку и конвертирует в HEX
источник

d

disba1ancer in Ассемблер
или ты имеешь ввиду под стек выделить 64к нулевого сегмента?
источник