Курсовая работа: Робота в захищеному режимі мікропроцесора
end
end;
if (feature shr 18) and 1<>0 then begin
asm
db 66h,0b8h { MOV EAX,3 }
dd 3 { CPUID с параметром 3: определение }
db 0fh,0a2h { серийного номера микропроцессора }
db 66h { В sn_2 - средние 32 разряда }
mov word ptr sn_2,dx { серийного номера МП }
db 66h { В sn_1 - младшие 32 разряда }
mov word ptr sn_1,cx { серийного номера МП }
end;
writeln('Серийный номер микропроцессора: ',
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
end;
asm { Возврат значения параметра cpu: }
mov bx,ss:[bp+offset cpu] { В BX - адрес cpu }
mov al,cpu_type
mov [bx],al
end;
end; {get_cpu_type}
{--------Обработчики исключений 0-18 (exc_00-exc_18)----------}
{------------выводят на экран номер исключения----------------}
{--------и осуществляют переход в реальный режим:-------------}
procedure exc_00;assembler; { Обработчик исключения 0: }