В переводе с английского “offset” - это смещение. Допустим, у нас есть такая программка: Когда ассемблер доходит до строки 06, он заменяет offset Hello на адрес (смещение) строки, с которой связано имя Hello. В итоге в регистре DX будет нечто вроде этого: В нашем примере смещение от начала программы равно 0108h. Это число и будет записано в DX. Если бы мы забыли использовать оператор offset и сделали так: MOV DX, WORD PTR Hello то в регистре DX оказался бы не адрес строки, а первые её два байта, то есть буквы He. Таким образом в регистре DX у нас число 6548h - коды первых двух букв слова Hello. Почему байты поменялись местами (ведь код английской буквы H - 48h, а буквы е - 65h), надеюсь, вы знаете. Ну а если не знаете, то кратко - у процессоров Интел байты в слове имеют обратный порядок. То есть младший байт (который справа) является как бы первым, а старший - вторым. Поэтому, хотя в памяти, где записана строка, последовательность байтов правильная, при записи слова из памяти в регист