Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2005.02.27;
Скачать: CL | DM;

Вниз

методы адрессации машинных команд   Найти похожие ветки 

 
sten   (2005-02-07 19:24) [0]

что это такое ? Такой вопрос на програботку дали знакомому по гос. экзамену (ассемблер)


 
Kerk ©   (2005-02-07 19:36) [1]

ну винапи здесь вообще в тему...

а по сабжу.. RTFM GOOGLE YANDEX


 
Poirot ©   (2005-02-07 20:11) [2]

Абсолютная и относительная IMHO!


 
Kerk ©   (2005-02-07 20:33) [3]

Poirot ©   (07.02.05 20:11) [2]
Абсолютная и относительная IMHO!


согласен :)
ну... можно сказать, что вопрос мы проработали :)))


 
begin...end ©   (2005-02-07 20:45) [4]

> sten   (07.02.05 19:24)

> методы адрессации машинных команд
> что это такое ?

Адресация машинных команд или операндов команд?

Если первое, то мне вопрос неясен. А если второе, то адресация может быть прямой (когда адрес операнда содержится в самой команде) и косвенной. В свою очередь, прямая адресация делится на относительную и абсолютную, а косвенная - на базовую, индексную, и базовую и индексную со смещением.


 
Poirot ©   (2005-02-07 20:46) [5]

>> ну... можно сказать, что вопрос мы проработали :)))
Начнём с малого:))) :))
Но begin...end предмет явно знает на 5+ :)
Красный диплом:))


 
Fay ©   (2005-02-07 21:00) [6]

2 Poirot ©   (07.02.05 20:46) [5]
>> Красный диплом:))
И малиновые штаны 8)


 
Digitman ©   (2005-02-08 09:37) [7]


> sten



> методы адрессации машинных команд


если воспринимать вопрос "в лоб", то для ЦП i80x86 метод всего один, и сводится он к вычислению адреса очередной маш.инструкции с использованием тек.значений пары регистров cs:[e]ip

cs - регистр селектора сегмента кода (code segment)
[e]ip - регистр смещения в сегменте кода (([extended] instruction pointer))

механизм расчета процессором эффективного исполнительного адреса очередной маш.инструкции различен и находится в прямой зависимости от текущего установленного режима работы процессора - RM (VM86), PM

самый простой механизм - для RM (реальный режим, Real Mode)
в этом режиме адрес очер.маш.инструкции расчитывается процессором так :

addr = cs * 4 + ip


 
Чапаев ©   (2005-02-08 09:48) [8]

не забываем ещё непосредственную адресацию... mov ax,1234


 
Alex Konshin ©   (2005-02-08 09:56) [9]

Хм... А кто вам сказал, что речь идет про x86? Из вопроса это не очевидно. И что этот вопрос делает в разделе "WinAPI" уж тем более  не ясно...


 
Просто Джо ©   (2005-02-08 10:08) [10]


>  [8] Чапаев ©   (08.02.05 09:48)
> не забываем ещё непосредственную адресацию... mov ax,1234


А где здесь адресация?


 
Kerk ©   (2005-02-08 10:09) [11]

Просто Джо ©   (08.02.05 10:08) [10]
видимо

> mov ax,1234


 
Digitman ©   (2005-02-08 10:18) [12]


> Alex Konshin ©   (08.02.05 09:56) [9]


> кто вам сказал, что речь идет про x86?


WinXP же указана ..

ДАЖЕ если она эмулируется, все равно  ..


 
begin...end ©   (2005-02-08 12:48) [13]

> [10] Просто Джо ©   (08.02.05 10:08)

>> mov ax,1234
> А где здесь адресация?

Здесь явно указывается значение, которое нужно поместить в регистр AX. Т.е. операнд 1234 будет содержаться в самОй машинной команде. А о прямой или косвенной адресации операндов, насколько я понимаю, может идти речь тогда, когда эти самые операнды находятся НЕ в команде.

Но всё это относится к адресации операндов. А вот адресация машинных команд - это просто правила, по которым формируется, например, адрес следующей для выполнения машинной команды. Понятно, что команды эти находятся в сегменте кода. Следовательно, для получения адреса очередной команды адрес начала сегмента кода извлекается из регистра CS, каким-то образом преобразуется и складывается со смещением команды.

> [7] Digitman ©   (08.02.05 09:37)

> addr = cs * 4 + ip

Т.е. происходит сдвиг содержимого, извлекаемого из CS, только на 2 разряда?


 
Digitman ©   (2005-02-08 12:54) [14]


> begin...end ©   (08.02.05 12:48) [13]



> Т.е. происходит сдвиг содержимого, извлекаемого из CS, только
> на 2 разряда?


пардон ..

имелось ввиду cs shl 4 .. или cs * 16



Страницы: 1 вся ветка

Текущий архив: 2005.02.27;
Скачать: CL | DM;

Наверх




Память: 0.5 MB
Время: 0.034 c
9-1101991043
TButton
2004-12-02 15:37
2005.02.27
Гексагональная сетка


1-1107942735
gen
2005-02-09 12:52
2005.02.27
Вывод PDF-документа.


6-1103648512
banderas
2004-12-21 20:01
2005.02.27
Сетевое подключение


14-1107837578
Duddits
2005-02-08 07:39
2005.02.27
Кто кого сильнее: Мелкософт или Гугль?


4-1103190765
Atomic2004
2004-12-16 12:52
2005.02.27
сообщения Net send