Курсовая работа: Робота в захищеному режимі мікропроцесора
xor ax,ax { Параметр для CPUID: EAX=0 }
db 0fh,0a2h { Команда CPUID }
db 66h
mov ss:[bp+offset vend],bx { Из регистров EBX, }
db 66h { EDX }
mov ss:[bp+offset vend+4],dx { и ECX }
db 66h { в переменную vend }
mov ss:[bp+offset vend+8],cx { заносится имя фирмы }
cmp al,1 { В AL - наибольшее значение параметра CPUID }
jl @end_cpuid
mov par,al
db 66h
xor ax,ax
db 66h
inc ax { Установка параметра CPUID =1 }
db 0fh,0a2h { Команда CPUID: в AL - сигнатура МП }
db 66h { В sn_3 - старшие 32 разряда }
mov word ptr sn_3,ax { серийного номера МП }
mov word ptr EBX_,bx { В EBX_- Brand ID и др. }
db 66h
mov word ptr ECX_,cx { В EСX_- особенности МП }
db 66h
mov word ptr feature,dx { В EDX_- особенности МП }
mov cx,ax
and ax,0f0h
db 0c1h,0e8h,4 { Сдвиг в AX на 4 разряда вправо }
mov model, al { В AL - модель МП }
mov ax,cx
and ax,0f00h