Assembly Asm英特尔64设置前为什么要减量

Assembly Asm英特尔64设置前为什么要减量,assembly,intel,Assembly,Intel,我想知道为什么我在将其设置为null之前减少rax的值 section .text global _ft_bzero _ft_bzero: cmp rdi , 0 je end mov rbx , rdi mov rax , rsi looop: cmp rax , 0 je end dec rax mov byte [rbx

我想知道为什么我在将其设置为null之前减少rax的值

section     .text
    global  _ft_bzero

_ft_bzero:
    cmp     rdi ,   0
    je      end
    mov     rbx ,   rdi
    mov     rax ,   rsi

looop:
    cmp     rax ,   0
    je      end
    dec     rax
    mov     byte [rbx + rax]  , 0
    jmp     looop

end:
    ret

您没有将
RAX
设置为null,但位置
[rbx+RAX]
处的内存(从后向前连续)。@rkhb:这是一个答案,不是注释,因此属于答案。@dave:作为答案的注释不符合我的要求(综合信息、解释、示例)。问题本身就是……啊。。。不太好。如果没有投票表决,也没有得到答复,它将在一年左右被删除。没关系。