Return Styles: Pseud0ch, Terminal, Valhalla, NES, Geocities, Blue Moon. Entire thread

Post some [code]

Name: Anonymous 2009-02-23 23:23

hey /prog/, what interesting code have you written lately?

(BBCode doesn't count.)

Name: Anonymous 2009-02-23 23:38

guess_what:
    push rbx
    xor r10, r10
    mov rbx, [base]
    mov rsi, [current]
.loopy:
    cmp rsi, [max]
    jae .fail

    mov rax, [rbx + rsi]
    btr rax, 63
    jnc .found
    add rsi, rax
    add rsi, 8

    jmp .loopy
align 10h
.found:
    ; TODO: Collapse multiple.

    cmp rax, rdi
    je  .win_eq
    ja  .win_a
    add rsi, rax
    add rsi, 8
    jmp .loopy
align 10h
.win_eq:
    add rsi, rax
    add rsi, 8
    mov [current], rsi
    bts rax, 63
    mov [rbx + rsi], rax
    lea rax, [rbx + rsi+8]
    pop rbx
    ret
align 10h
.win_a:
    bts rdi, 63
    mov [rbx + rsi], rdi
    btr rdi, 63
    sub rax, rdi
    add rsi, rdi
    add rsi, 8
   
    mov [rbx + rsi], rax
    mov [current], rsi
    sub rsi, rdi
    sub rsi, 8
    lea rax, [rbx + rsi+8]
    pop rbx
    ret
.fail:
    or r10, r10
    jnz .realfail
    inc r10
    mov rsi, 0
    jmp .loopy
.realfail:
    mov rax, -1
    pop rbx
    ret

Newer Posts
Don't change these.
Name: Email:
Entire Thread Thread List