Задать вопрос

Каково назначение команды ORG в Assembler?

Объясните так, чтобы было понятно новичку. Читал гугл: директива ORG служит для резервирования 100 (шест.) байт от начального адреса под PSP, устанавливает счетчик адреса в нужное абсолютное значение. Все это мне мало о чем говорит. Жду объяснений либо ссылки на полезные ресурсы.
  • Вопрос задан
  • 37459 просмотров
Подписаться 3 Оценить 1 комментарий
Решения вопроса 1
demimurych
@demimurych
В мс дос при запуске com файла первые 100H байт перед запущенным кодом резервируется под разного рода управляющие структуры. Потому вся адресация внутри кода должна начинаться с смещением 100H байт.
Директива org 100H как раз и говорит компилятору что всю адресацию внутри кода нужно сместить именно на эти 100H байт.

т.е. например у тебя в коде есть область где ты собираешься что то хранить которую ты обьявляешь например
data1 DB 30h

которую внутри кода ты адресуешь как
mov ax,OFFSET Data1

при компиляции структура OFFSET Data1 преобразовывается в конкретный адрес к которому прибавиться значение из org
Ответ написан
Пригласить эксперта
Ответы на вопрос 1
@RokkerRuslan
Хотел, бы еще уточнить. Это не команда процессору, то есть он её не выполняет и ресурсов (тактов) не тратит. Это лишь указание транслятору (ассемблеру), вы как бы говорите: "весь ниже лежащий код помести в памяти начиная с адреса 100H".
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы