我有以下 C 代码段:
int main() {
int tablica [100];
bool visited [100];
int counter;
int i;
for(i=0;i<=99;i++) {
if (visited[i]==0) {
counter=counter+1;
}
}
}
Run Code Online (Sandbox Code Playgroud)
我将其转换为汇编程序。我收到以下输出:
; ...
mov eax, DWORD PTR [rbp-8]
cdqe
movzx eax, BYTE PTR [rbp-528+rax]
xor eax, 1
test al, al
je .L3
; ...
Run Code Online (Sandbox Code Playgroud)
任何人都可以向我解释这段代码中CDQE
和MOVZX
指令的含义和目的是什么?我也不明白XOR
指令的用途是什么。