#include <stdio.h>
#include <stdbool.h>
int main(void) {
bool tenki = true;
if(tenki == true)
printf("晴です\n");
else
printf("雨です\n");
return 0;
}
|main| PROC
|$LN5|
stp fp,lr,[sp,#-0x20]!
mov fp,sp
mov w8,#1
strb w8,[sp,#0x10]
ldrb w8,[sp,#0x10]
mov w8,w8
cmp w8,#1
bne |$LN2@main|
adrp x8,|$SG4984|
add x0,x8,|$SG4984|
bl printf
b |$LN3@main|
|$LN2@main|
adrp x8,|$SG4985|
add x0,x8,|$SG4985|
bl printf
|$LN3@main|
mov w0,#0
ldp fp,lr,[sp],#0x20
ret
cmp : レジスタからレジスタ、またはレジスタから定数の減算を行って、演算結果に対応した条件フラグを設定
-> compareか?
bne: bはジャンプなので、neで異なる場合は$LN2@mainにjumpとなっていることがわかりますね。
条件分岐でelseの場合はニーモニックにlabelをつけて、そこへjumpするように出力していることがわかります。