Курсовая работа: Робота в захищеному режимі мікропроцесора
procedure init_idtr_r;
begin
idtr_r.lim:=$3ff; { размер таблицы векторов, }
idtr_r.base:=0; { базовый адрес таблицы векторов }
end;{init_idtr_r}
{-------------Формирование данных для возврата----------------}
{-------------в реальлный режим после сброса МП---------------}
procedure save_ret_real;
begin
{-------------Сохранение значений регистров маски-------------}
{-------------1-го и 2-го контроллеров прерываний-------------}
rm1:=port[$21];
rm2:=port[$a1];
{---------Занесение в ячейки 40h:67h и 40h:69h адреса---------}
{------(смещение и сегмент) точки возврата в реальный режим---}
{-------------------после сброса МП---------------------------}
memw[$40:$67]:=ofs;
memw[$40:$69]:=seg;
{--------Занесение в ячейку КМОП памяти с адресом 0Fh---------}
{-----------байта состояния отключения (byte_shut).-----------}
{-------Значение Ah этого байта обеспечивает при сбросе МП----}
{---------переход по адресу в ячейках 40h:67h и 40h:69h;------}
{----код 5 помимо этого осуществляет также инициализацию------}
{----------------контроллеров прерываний----------------------}
port[$70]:=$0f;
port[$71]:=byte_shut;
end;{save_ret_real}
{----------------Запрет аппаратных прерываний-----------------}
procedure not_int;