Объясните так, чтобы было понятно новичку. Читал гугл: директива ORG служит для резервирования 100 (шест.) байт от начального адреса под PSP, устанавливает счетчик адреса в нужное абсолютное значение. Все это мне мало о чем говорит. Жду объяснений либо ссылки на полезные ресурсы.
В мс дос при запуске com файла первые 100H байт перед запущенным кодом резервируется под разного рода управляющие структуры. Потому вся адресация внутри кода должна начинаться с смещением 100H байт.
Директива org 100H как раз и говорит компилятору что всю адресацию внутри кода нужно сместить именно на эти 100H байт.
т.е. например у тебя в коде есть область где ты собираешься что то хранить которую ты обьявляешь например
data1 DB 30h
которую внутри кода ты адресуешь как
mov ax,OFFSET Data1
при компиляции структура OFFSET Data1 преобразовывается в конкретный адрес к которому прибавиться значение из org
@Koi_jp для того, чтобы в вашем коде были правильные адреса. Код будет загружен и запущен с cs:0x100, если не написать org все обращения к памяти по абсолютным адресам будут на 0x100 байт мимо.
Хотел, бы еще уточнить. Это не команда процессору, то есть он её не выполняет и ресурсов (тактов) не тратит. Это лишь указание транслятору (ассемблеру), вы как бы говорите: "весь ниже лежащий код помести в памяти начиная с адреса 100H".