Hvordan kan jeg skrive til konsol i MS Windows med yasm?

Indlæg af Hanne Mølgaard Plasc

Problem



Jeg prøvede denne kode (ved brug af afbrydelser), men det er for DOS:


mov eax, 42 ; write 42 to console
mov ecx, 10 ; in decimal
out\_int\_loop:
    xor edx, edx
    div ecx
    push eax
        add dl, '0' ; one digit 
        mov ah, 2 ; 2 is code for writing character
        int 21h
    pop eax
    cmp eax, 0
    jnz out\_int\_loop

Bedste reference


Jeg brugte WriteConsoleA funktion fra winapi. [6]


Også jeg brugte GetStdHandle for at få stdout. [7]


For at importere disse funktioner har du brug for disse linjer:


extern  \_\_imp\_\_GetStdHandle@4
extern  \_\_imp\_\_WriteConsoleA@20