Вниз
Скачать: 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 вся ветка

Скачать: CL | DM;



Память: 0.48 MB
Время: 0.022 c
1-1108324327
mr-jack
2005-02-13 22:52
2005.02.27
события и всё такое


4-1104927780
Sphinx
2005-01-05 15:23
2005.02.27
Макет TAppAPI


4-1105897188
msn777
2005-01-16 20:39
2005.02.27
Как бороться с “thread creation error: Недостаточно памяти для...


11-1092037023
Рома
2004-08-09 11:37
2005.02.27
Перерисовка окна


4-1105297063
vic_vm
2005-01-09 21:57
2005.02.27
Возможно ли перечислить все ловушки (hook) в системе....




   Наверх