(Не знаю как правильно называется)
Пример:
mov eax, ds:offset
jmp cs:offset
это сегменты по умолчаю, они используются везде где не указан конкретный сегмент
никак от формата не зависит, это набор инструкций x86 такой
Просто если компилировать в бинарник (без формата, просто бинарник) то он не использует смещение по ds, cs
использует конечно
Я декомпилировал и нечего нет, просто адреса
Открой интелевский мануал, Vol 3 вроде, там все про это написано
Ага, а адреса относительно чего
Абсолютные адреса в памяти
ты не понял, эти сегментные регистры используются всегда не явно, это в процессор заложено
Если для современных процов сложно, открой спеку на 8086, там ничего не поменялось с тех пор в кодировке инструкций
А как он понимает когда использовать ds или cs смещение?
Открой интелевскую доку, Vol 3 вроде, там написано
cs для переходов, ds для всего остального
это зашито в логике команд
И вообще, сегментацию нужно же включать?)))
Ее нужно выключать
А то я ещё не интересовался
А по умолчанию она есть?
8086 стартует в 16 битном реальном режиме, догадайся
она у тебя включена всегда
Хорошо, понял, спасибо
Спасибо для пидоров
Ди наху
Обсуждают сегодня