1
; Building
;
; Below code assumes that this contents saved to file rpl_bug.nasm. Feel free to choose 
; another name you like but keep in mind to change file names in below commands accordingly 
; nasm -f elf64 rpl_bug.nasm
; gcc -m64 -o rpl_bug rpl_bug.o
;
; Running
;
; taskset -c #core_number_starting_from_zero ./rpl_bug
; Command will output 11AA when there is all ok(no bug)
;
extern printf
section .data
_bits:
        dq   0

buff:
        db 0aah
        db 0cch

table:
        times 4096 db 0

dest:
        times 4096 db 0
fmtstr:
        db "%hX", 10, 0

section .text

global main

main:
        push    rbp
        call    decode_five
        mov     rdi, fmtstr
        movzx   esi, word [buff]
        xor     rax, rax
        call    printf
        pop     rbp
        xor     rax, rax
        ret

decode_five:
        push    rcx
        push    rsi
        push    rdi
        mov     ecx, 11ffh
        mov     rsi, buff
        xor     rdi, rdi
        mov     byte [rsi+rdi+1], ch
        pop     rdi
        pop     rsi
        pop     rcx
        ret


For immediate assistance, please email our customer support: [email protected]

Download RAW File