JNB al, bl ;al里的内容不等于bl时跳转
JBE al, bl ;al里的内容小于或等于bl时跳转
;同理,JGB是大于或等于,JLE是小于或等于
;A(above)大于,B(below)小于,E(equal)等于,用于比较无符号数
;G(great)大于,L(less than)小于, E(equal)等于,用于比较带符号数
PS:cmp指令后用je;test指令后用jz,这样子上下文看着比较顺!
一般是for 语句里会有对应的汇编jge 命令!
eg:C代码:
int main(){for (int i = 0; i<10;i++) {cout<<1<<endl;}}
int main(){004113A0 push ebp 004113A1 mov ebp,esp 004113A3 sub esp,0CCh 004113A9 push ebx 004113AA push esi 004113AB push edi 004113AC lea edi,[ebp-0CCh] 004113B2 mov ecx,33h 004113B7 mov eax,0CCCCCCCCh 004113BC rep stos dword ptr es:[edi] for (int i = 0; i<10;i++) {004113BE mov dword ptr [i],0 004113C5 jmp main+30h (4113D0h) 004113C7 mov eax,dword ptr [i] 004113CA add eax,1 004113CD mov dword ptr [i],eax 004113D0 cmp dword ptr [i],0Ah 004113D4 jge main+66h (411406h)