port[$a1]:=k2; { 2-й ПКП: ICW2 }
port[$a1]:=2; { 2-й ПКП: ICW3 }
port[$a1]:=1; { 2-й ПКП: ICW4 }
end; {pic}
procedure save_sreg; { Зберiгання змiсту }
begin { сегментних регiстрiв }
Memw[0:4*$60]:=Dseg; { DS, }
real_ss:=Sseg; { SS i }
asm mov real_es,es end { ES }
end; {save_sreg}
procedure reset;assembler; { Повеpнення в pеальний режим }
asm { за командою контpолера клавiатуpи, яка виконує скидання МП }
mov res,1 { Установка ознаки скидання МП }
mov al,$fe { Команда скидання }
out $64,al { мiкpопpоцесоpа }
@wait_res: { Очiкування пiд час скидання МП }
hlt
jmp @wait_res
end;
procedure test_wr;
{---Перевiрка зберiгання заборони запису в сегмент коду пiсля повернення МП --}
{-------------------------з захищеного режиму за командою MOV: ---------------------------}
{------------------якщо заборона збережена – виникаєпереривання 13, ------------------}
{------------------------ обробник якого (процедура reset)скидає МП-----------------------}
begin
Meml[0:13*4]:=Longint(@reset); { Занесення адреси обробника reset в таблицю }
{ векторів }
asm
db 2eh { Префікс CS: }
mov ax,[0]
db 2eh
mov [0],ax { Запис в сегмент коду }
end;
pic(0); { Програмування ПКП для реального режиму }
end; {test_wr}
procedure init_tss_286; { Формування TSS для 80286 }
begin
tss.cs:=cs;
tss.ds:=ds;
tss.es:=es;
tss.ss:=ds;
tss.ip:=ofs_task;
tss.bp:=ofs_task_stack;
tss.sp:=ofs_task_stack;
tss.ldtr:=0;
tss.flags:=0;
end;
procedure init_tss_386; { Формування TSS для 80386 i вище }
begin
tss.cs:=cs;
tss.ds:=ds;
tss.es:=es;
tss.ss:=ds;
tss.eip:=ofs_task;
tss.ebp:=ofs_task_stack;
tss.esp:=ofs_task_stack;
tss.ldtr:=0;
tss.eflags:=0;
tss.bit_t:=0;
tss.adr_bkvv:=0;
tss.byte_end:=$ff
end;
{--------------------------Визначення типу мiкpопpоцесоpа (cpu_type)-----------------------}
procedure get_cpu_type;
var
data_cach:array[1..4,1..4] of byte; { Данi пpо кеш МП }
EBX_, { Бренд-индекс та ін. }
feature, { Данi про особливостi МП (регістр EDX) }
ECX_:longint; { Данi про особливостi МП (регістр ECX) }
Уважаемый посетитель!
Чтобы распечатать файл, скачайте его (в формате Word).
Ссылка на скачивание - внизу страницы.