Code:

{ Автор:       Gua, Этот адрес электронной почты защищён от спам-ботов. У вас должен быть включен JavaScript для просмотра.,

***************************************************** }

 

type

TVendor = array[0..11] of char;

 

.........................

 

function GetCPUVendor: TVendor; assembler; register;

asm

PUSH EBX {Save affected register}

PUSH EDI

MOV EDI,EAX {@Result (TVendor)}

MOV EAX,0

DW $A20F {CPUID Command}

MOV EAX,EBX

XCHG EBX,ECX {save ECX result}

MOV ECX,4

@1:

STOSB

SHR EAX,8

LOOP @1

MOV EAX,EDX

MOV ECX,4

@2:

STOSB

SHR EAX,8

LOOP @2

MOV EAX,EBX

MOV ECX,4

@3:

STOSB

SHR EAX,8

LOOP @3

POP EDI {Restore registers}

POP EBX

end;

 

Добавить комментарий

Не использовать не нормативную лексику.

Просьба писать ваши замечания, наблюдения и все остальное,
что поможет улучшить предоставляемую информацию на этом сайте.

ВСЕ КОММЕНТАРИИ МОДЕРИРУЮТСЯ ВРУЧНУЮ, ТАК ЧТО СПАМИТЬ БЕСПОЛЕЗНО!


Защитный код
Обновить