Курсовая работа: Робота в захищеному режимі мікропроцесора
port[$a0]:=$11; { 2-й ПКП: ICW1 }
port[$a1]:=k2; { 2-й ПКП: ICW2 }
port[$a1]:=2; { 2-й ПКП: ICW3 }
port[$a1]:=1; { 2-й ПКП: ICW4 }
end;{pic}
{----------Сохранение значений сегментных регистров-----------}
procedure save_sreg;
begin
memw[0:4*$60]:=Dseg; { DS, }
real_ss:=Sseg; { SS и }
asm mov real_es,es end { ES }
end;{save_sreg}
{-------------Возврат в реальный режим по команде-------------}
{--------контроллера клавиатуры, выполняющей сброс МП---------}
procedure reset;assembler;
asm
mov res,1 { Установка признака сброса МП }
mov al,0feh { Команда сброса }
out 64h,al { микропроцессора }
@wait_res: { Ожидание во время сброса МП }
hlt
jmp @wait_res
db 0cbh { Межсегментный возврат }
end; {reset}
{---Проверка сохранения запрета записи в сегмент кода после---}
{------возврата МП из защищенного режима по команде MOV:------}
{-----если запрет сохранен - вырабатывается прерывание 13,----}
{-----обработчик которого (процедура reset) сбрасывает МП-----}
procedure test_wr;