Есть ли разница между [se] два?
Чтобы понять разницу между этими двумя, вы должны понимать модель segment:offset
сборки 8086:
В РЕАЛЬНОМ режиме значение сегмента обозначаетзначение 16 (dec) = 10 (hex) умноженное на значение смещения.
Таким образом, значение сегмента 0000
и смещения 0x7c00
обозначает ту же позицию в памяти, что и сегмент 07C0
и смещение0000
= 07C0h * 10h = 7C00h.См. здесь, в OSDev: RealMode для подробного объяснения.
Таким образом, в целом 0000:7C00
совпадает с 07C0:0000
.
С директивой ORG
, которую вы делаетеустановить начало раздела (памяти).
Есть ли разница между ними?
Да.Разница между этими двумя заключается в настройке регистров сегмента и регистров адреса.Если вы устанавливаете регистры сегментов определенным образом, вам придется устанавливать регистры адреса / смещения соответствующим образом.
И если они есть, то какой выбор лучше, и что именночем отличаются?
«лучшего» выбора нет.Это всего лишь проектное решение, которое имеет значение, пока вы не войдете в Защищенный режим и не настроите GDT .