Вниз
Скачать: 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.027 c
4-1104927780
Sphinx
2005-01-05 15:23
2005.02.27
Макет TAppAPI


11-1092130053
nester
2004-08-10 13:27
2005.02.27
2Kladov. Можно ли в следующей версии KOL добавить valseparator?


1-1108026418
Style
2005-02-10 12:06
2005.02.27
Как узнать реальную ширину наклонного текста?


14-1107932513
Vlad Oshin
2005-02-09 10:01
2005.02.27
а ля Задорнов. Просто...потому что достало...


4-1105714458
Aleksandr.
2005-01-14 17:54
2005.02.27
Какой LCID надо указать в GetLocaleFormatSettings для Евро?




   Наверх