Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > Низкоуровневое программирование > Assembler - Ассемблер (FASM, MASM, WASM, NASM, GoASM, Gas, RosAsm, HLA) и не рекомендуем TASM
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 25.01.2011, 20:50   #1
unlike777
Новичок
Джуниор
 
Регистрация: 25.01.2011
Сообщений: 4
По умолчанию Векторы в ассемблере

Объясните тупому доступно на пальцах, что такое векторы в ассемблере =)
unlike777 вне форума Ответить с цитированием
Старый 25.01.2011, 21:21   #2
Vovan91
Пользователь
 
Регистрация: 20.01.2011
Сообщений: 14
По умолчанию

Вектор это скорее матаматическо простарансвеное понятие, про вектора можно прочиать хоть в википедии, в ассемблере такого вроде нету
Vovan91 вне форума Ответить с цитированием
Старый 25.01.2011, 21:30   #3
unlike777
Новичок
Джуниор
 
Регистрация: 25.01.2011
Сообщений: 4
По умолчанию

Есть иначе я бы не спрашивал =)
В резидентных программах (например клавиатурные шпионы) перехватываются или заменяются вектора прерываний, я не могу вкурить что за векторы...
unlike777 вне форума Ответить с цитированием
Старый 25.01.2011, 23:29   #4
unlike777
Новичок
Джуниор
 
Регистрация: 25.01.2011
Сообщений: 4
По умолчанию

Сам спросил сам ответил...
Цитата:
В реальном режиме работы система прерываний использует понятие вектора прерывания. Термин «вектор прерываний» используется потому, что для указания адреса используется не одно значение, а два, то есть мы имеем дело не со скалярной величиной, а с «векторной».Каждый вектор прерываний состоит из 4 байтов или 2 слов: первые два содержат новое значение для регистра IP, а следующие два — новое значение регистра CS. Таблица векторов прерываний занимает 1024 байта. Таким образом, в ней может быть задано 256 векторов прерываний. В процессоре i8086 эта таблица располагается на адресах 00000h—003FFh. Расположение этой таблицы в процессорах i80286 и старше определяется значением регистра IDTR — Interrupt Descriptor Table Register. При включении или сбросе процессора i80x86 этот регистр обнуляется. Однако при необходимости можно в регистре IDTR указать смещение и, т.о., перейти на новую таблицу векторов прерываний.Таблица векторов прерываний заполняется (инициализируется) при запуске системы, но в принципе может быть изменена или перемещена.Каждый вектор прерывания имеет свой номер, называемый номером прерывания, который указывает его место в таблице. Этот номер, помноженный на четыре (сдвиг на два разряда влево и заполнение освободившихся битов нулями), и сложенный с содержимым регистра IDTR, дает абсолютный адрес первого байта вектора в оперативной памяти.
Прерывание заставляет микропроцессор сохранить в стеке информацию для последующего возврата, а затем перейти к группе команд, адрес которых определяется вектором прерывания. Таким образом, прерывание вызывает косвенный переход к своей подпрограмме обработки за счет получения ее адреса из вектора прерывания.
unlike777 вне форума Ответить с цитированием
Старый 26.01.2011, 13:29   #5
Serge_Bliznykov
Старожил
 
Регистрация: 09.01.2008
Сообщений: 26,229
По умолчанию

Цитата:
Сам спросил сам ответил...


А вот если бы сразу спросили про вектора прерываний - тогда скорее получили бы ответ...
Serge_Bliznykov вне форума Ответить с цитированием
Старый 26.01.2011, 14:03   #6
Пепел Феникса
Старожил
 
Аватар для Пепел Феникса
 
Регистрация: 28.01.2009
Сообщений: 21,000
По умолчанию

у вас написано только про вектора прерываний в реальном режиме, но не в защищенном
Хорошо поставленный вопрос это уже половина ответа. | Каков вопрос, таков ответ.
Программа делает то что написал программист, а не то что он хотел.
Функции/утилиты ждут в параметрах то что им надо, а не то что вы хотите.
Пепел Феникса вне форума Ответить с цитированием
Старый 26.01.2011, 18:41   #7
unlike777
Новичок
Джуниор
 
Регистрация: 25.01.2011
Сообщений: 4
По умолчанию

О да =)
Но хачу сообщить экзамен сдал и все забыл... =)
unlike777 вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
векторы и строки С\С++ Айдар Помощь студентам 6 16.09.2010 22:12
Векторы в С++ Many man Помощь студентам 5 26.04.2009 12:35
Паскаль. Векторы. koston Помощь студентам 10 09.04.2008 20:44