nasm - CPUID


    ;; (C) David Vajda
    ;; Sat Dec 28 2024
    ;; Assembler, nasm, x86/i386/amd64/i586, CPUID

    global _start
    section .data
    cpuidoutputstr: db 0, 0, 0, 0,  0, 0, 0, 0,  0, 0, 0, 0, 10, 13
    section .text
    _start:

    mov eax, 0x00
    cpuid

    mov esi, cpuidoutputstr
    mov [esi], ebx
    inc esi
    inc esi
    inc esi
    inc esi
    mov [esi], edx
    inc esi
    inc esi
    inc esi
    inc esi
    mov [esi], ecx
    inc esi
    inc esi
    inc esi
    inc esi

    mov eax, 0x04
    mov ebx, 0x01
    mov ecx, cpuidoutputstr
    mov edx, 14
    int 0x80

    mov eax, 0x01
    mov ebx, 0x00
    int 0x80


david@work:~/nasm20241228$ ./nasm20241228cpuid
GenuineIntel
david@work:~/nasm20241228$