Форум: "Потрепаться";
Текущий архив: 2005.02.27;
Скачать: [xml.tar.bz2];
Внизметоды адрессации машинных команд Найти похожие ветки
← →
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;
Скачать: [xml.tar.bz2];
Память: 0.48 MB
Время: 0.057 c