Home

root/vga.s

/* [<][>][^][v][top][bottom][index][help] */
    .global Disable_Cursor
    .global Enable_Cursor
    .global Position_Cursor

Disable_Cursor:
    movw $0x3D4, %dx
    movb $0xA, %al
    out  %al, %dx
    movw $0x3D5, %dx
    movb $0x20, %al
    out  %al, %dx
    ret

Enable_Cursor:
    movw $0x3D4, %dx
    movb $0xA, %al
    out  %al, %dx
    movw $0x3D5, %dx
    movb $0x0, %al
    out  %al, %dx
    ret

Position_Cursor: # %rdi = row, %rsi = column
    mov  %rdi, %rbx
    imul $80, %rbx
    add  %rsi, %rbx
    movw $0x3D4, %dx
    movb $0x0F, %al
    out  %al, %dx
    movw $0x3D5, %dx
    mov  %bl, %al
    out  %al, %dx
    movw $0x3D4, %dx
    movb $0x0E, %al
    out  %al, %dx
    movw $0x3D5, %dx
    mov  %bh, %al
    out  %al, %dx
    ret



/* [<][>][^][v][top][bottom][index][help] */
Home