为什么number ++使用EAX而number--使用ECX?

ker*_*ern 2 c assembly cpu-registers

;disas for number++
mov eax, [number]
add eax,1
mov [number],eax
;disas for number--
mov ecx, [number]
sub ecx,1
mov [number],ecx
Run Code Online (Sandbox Code Playgroud)

为什么number++使用EAX同时number--使用ECX

调度寄存器的惯例是什么?

Jer*_*fin 9

寄存器分配取决于编译器.通常,它主要取决于周围的代码,而不取决于您执行的操作.