3 b target_addr (AA=0 LK=0)
5 ba target_addr (AA=1 LK=0)
7 bl target_addr (AA=0 LK=1)
9 bla target_addr (AA=1 LK=1)
11 if AA then NIA <-iea EXTS(LI || 0b00)
12 else NIA <-iea CIA + EXTS(LI || 0b00)
13 if LK then LR <-iea CIA + 4
17 bc BO,BI,target_addr (AA=0 LK=0)
19 bca BO,BI,target_addr (AA=1 LK=0)
21 bcl BO,BI,target_addr (AA=0 LK=1)
23 bcla BO,BI,target_addr (AA=1 LK=1)
28 if ¬BO[2] then CTR <- CTR - 1
29 ctr_ok <- BO[2] | ((CTR[M:63] != 0) ^ BO[3])
30 cond_ok <- BO[0] | (CRBI+32 => BO[1])
31 if ctr_ok & cond_ok then
32 if AA then NIA <-iea EXTS(BD || 0b00)
33 else NIA <-iea CIA + EXTS(BD || 0b00)
34 if LK then LR <-iea CIA + 4
36 # Branch Conditional to Link Register
45 if ¬BO[2] then CTR <- CTR - 1
46 ctr_ok <- BO[2] | ((CTR[M:63] != 0) ^ BO[3]
47 cond_ok <- BO[0] | (CR[BI+32] => BO[1])
48 if ctr_ok & cond_ok then NIA <- iea LR[0:61] || 0b00
49 if LK then LR <-iea CIA + 4
51 # Branch Conditional to Count Register
55 bcctrl BO,BI,BH (LK=1)
57 cond_ok <- BO[0] | (CR[BI+32] => BO[1])
58 if cond_ok then NIA <-iea CTR[0:61] || 0b00
59 if LK then LR <- iea CIA + 4
62 # Branch Conditional to Branch Target Address Register
66 bctarl BO,BI,BH (LK=1)
71 if ¬BO[2] then CTR <- CTR - 1
72 ctr_ok <- BO[2] | ((CTR[M:63] != 0) ^ BO[3]
73 cond_ok <- BO[0] | (CR[BI+32] => BO[1])
74 if ctr_ok & cond_ok then NIA <-iea TAR[0:61] || 0b00
75 if LK then LR <-iea CIA + 4