Байты наоборот
От: FPS  
Дата: 16.11.06 13:08
Оценка:
У меня такие вопросы:

1)Почему,когда присваиваю байты в смещении,нужно менять их местами:
[FONT="System"]Код:[/FONT]
mov dword ptr [bx],01 23 ;я хочу присвоить 23 01.
А когда присваиваю регистру байты(mov bx,23 01) или когда обращаюсь сразу к адресу([23 01]),ничего не меняю!

2)mov [bx] и mov ds:[di]-это одно и тоже?

3)Cоm-прога занимает max. 64 кило.А ведь она начинается со смещения
100h,поэтому она никак не может занять 64 кило(0FFFFh-100h)!
Re: Байты наоборот
От: DOOM Россия  
Дата: 16.11.06 13:22
Оценка: +1
Здравствуйте, FPS, Вы писали:

FPS>У меня такие вопросы:


FPS>1)Почему,когда присваиваю байты в смещении,нужно менять их местами:

FPS>[FONT="System"]Код:[/FONT]
FPS>mov dword ptr [bx],01 23 ;я хочу присвоить 23 01.
FPS>А когда присваиваю регистру байты(mov bx,23 01) или когда обращаюсь сразу к адресу([23 01]),ничего не меняю!

FPS>2)mov [bx] и mov ds:[di]-это одно и тоже?


FPS>3)Cоm-прога занимает max. 64 кило.А ведь она начинается со смещения

FPS>100h,поэтому она никак не может занять 64 кило(0FFFFh-100h)!

Вопрос №1 — читаем что такое little-endian и big-endian.

Вопрос №2 Не понял... Видать где-то опечатка.

Вопрос №3. А я еще хуже вещь скажу... У com программы и стек где-то располоагаться должен... Понятно, что в том же самом сегменте... Так что программа размером в 64К просто не будет правильно работать... (ну если только это не какой-то суперполиморф).
Re: Байты наоборот
От: vvotan Россия  
Дата: 16.11.06 18:05
Оценка: :)
Здравствуйте, FPS, Вы писали:

FPS>У меня такие вопросы:


FPS>1)Почему,когда присваиваю байты в смещении,нужно менять их местами:

Потому что кому-то показалось логичным, что старший байт будет лежать по большему адресу.

FPS>2)mov [bx] и mov ds:[di]-это одно и тоже?

С точки зрения ассемблера — абсолютно. и то и другое — синтаксическая ошибка
--
Sergey Chadov

... << RSDN@Home 1.1.4 stable SR1 rev. 568>>
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.