            segment .data
    sample  dq      0x0123456789abcdef
    field   dq      0
            segment .text
            global  main
    main:
            push    rbp
            mov     rbp, rsp
            mov     rax, [sample]      ; move quad-word into rax
            shr     rax, 23            ; shift to align bit 23 at 0
            and     rax, 0x1fffffff    ; select the 29 low bits
            mov     [field], rax       ; save the field
            xor     rax, rax
            leave
            ret