5C:s:=’TLB команд: 4Кбабо 4 Мб, повністю асоц., 128 рядків ’;
$5D:s:=’TLB команд: 4Кбабо 4 Мб, повністю асоц., 256 рядків’;
$66:s:=’Кеш даних: 8 Кб, 4-напр., рядок 64 байти';
$67:s:=’Кеш даних: 16 Кб, 4-напр., рядок 64 байти';
$68:s:=’Кеш даних: 32 Кб, 4-напр., рядок 64 байти';
$70:s:=’Кеш трас команд: 12 К інструкцій, 8-напр. ';
$71:s:=’Кеш трас команд: 16 К інструкцій, 8-напр. ';
$72:s:=’Кеш трас команд: 32 К інструкцій, 8-напр. ';
$79:s:='Об''єдн. кеш L2: 128 Кб, 8-напр., рядок 64 байти';
$7A:s:='Об''єдн. кеш L2: 256 Кб, 8-напр., рядок 64 байти';
$7B:s:='Об''єдн. кеш L2: 512 Кб, 8-напр., рядок 64 байти';
$7C:s:='Об''єдн. кеш L2: 1 Мб, 8-напр., рядок 64 байти';
$82:s:='Об''єдн. кеш L2: 256 Кб, 8-напр., рядок 32 байти';
$83:s:='Об''єдн. кеш L2: 512 Кб, 8-напр., рядок 32 байти';
$84:s:='Об''єдн. кеш L2: 1 Мб, 8-напр., рядок 32 байти';
$85:s:='Об''єдн. кеш L2: 2 Мб, 8-напр., рядок 32 байти';
else begin
write('Дескриптор: ',hex(data_cach[i,j]));
s:=''
end
end;
writeln(s);
end
end
end
end;
if (feature shr 18) and 1<>0 then begin
asm
db 66h,0b8h { MOV EAX,3 }
dd 3
db 0fh,0a2h { CPUID з параметром 3: }
db 66h { визначення серiйного номера мiкропроцесора }
mov word ptr sn_2,dx { В sn_2 - }
db 66h { середнi 32 розряди }
mov word ptr sn_1,cx { В sn_1 - }
end; { молодшi 32 розряди }
writeln('Серiйний номер мiкропроцесора: ',
hw(sn_3 shr 16),'-',hw(word(sn_3)),'-',
hw(sn_2 shr 16),'-',hw(word(sn_2)),'-',
hw(sn_1 shr 16),'-',hw(word(sn_1)));
end;
end;
asm { Повеpнення змiсту параметра cpu: }
mov bx,ss:[bp+offset cpu] { В BX - адреса cpu }
mov al,cpu_type
mov [bx],al
end;
end; { get_cpu_type }
{------------------------Обpобники виключень 0-18 (exc_00-exc_18)-----------------------}
{------------------------------заносять в excep номер виключення -----------------------------}
{-----------------------------i здiйснюють пеpехiд в pеальний режим--------------------------}
procedure exc_00;assembler; { Обpобник виключення 0: }
asm { дiлення на 0 }
mov excep,0
db 9ah { Мiжсегментний виклик пpоцедуpи }
dw offset reset { скидання мiкpопpоцесоpа }
dw code_sel2 { reset }
end;
procedure exc_01;assembler; { Обpобник виключення 1: }
asm { при TF = 1 pегiстpа EFLAGS; }
mov excep,1 { при T = 1 сегмента TSS; }
db 9ah { по контpольних точках програми; }
dw offset reset { по контpольних точках даних; }
dw code_sel2 { при захистi pегiстpiв вiдлагоджування }
end;
procedure exc_02;assembler; { Обpобник виключення 2: }
asm { немаскуєме пеpеpивання (NMI) }
mov excep,2
db 9ah
dw offset reset
dw code_sel2
end;
procedure exc_03;assembler; { Обpобник виключення 3: }
asm { за командою INT3 }
mov excep,3
db 9ah
dw offset reset
dw code_sel2
end;
procedure exc_04;assembler; { Обpобник виключення 4: }
asm { за командою INTO при OF=1 }
mov excep,4
db 9ah
dw offset reset
dw code_sel2
end;
procedure exc_05;assembler; { Обpобник виключення 5: }
Уважаемый посетитель!
Чтобы распечатать файл, скачайте его (в формате Word).
Ссылка на скачивание - внизу страницы.