| Electronic Components Datasheet Search |
|
UM0438 Datasheet(PDF) 25 Page - STMicroelectronics |
|
|
|||||||||||||||||||||||||||||
UM0438 Datasheet(HTML) 25 Page - STMicroelectronics |
|
25 / 50 page ![]() UM0438 Simplified mnemonics for VLE instructions 25/50 The BO32, BI32, and BO16, BI16 operands correspond to fields in the instruction opcode, as Figure 1 shows for Branch Conditional (e_bc, e_bcl, and se_bc) instructions. Figure 1. Branch conditional (e_bc, se_bc) instruction formats e_bc (e_bcl) se_bc Both the BO32 and BO16 operands allow testing whether a CR bit causes a branch to occur based on a true or false condition. The BO32 operand provides additional capability that allows branch operations that involve decrementing the CTR and testing for a zero or non- zero CTR value. The BI32 and BI16 operands identify a CR bit to test (whether a comparison is less than or greater than, for example). The simplified mnemonics avoid the need to memorize the numerical values for BO32, BI32, and BO16, BI16 operands. For example, e_bc 2,0,target is a conditional branch that, as a BO32 value of 2 (0b10) indicates, decrements the CTR, then branches if the decremented CTR is not zero. The operation specified by BO32 is abbreviated as d (for decrement) and nz (for not zero), which replace the c in the original mnemonic; so the simplified mnemonic for e_bc becomes e_bdnz. The branch does not depend on a condition in the CR, so BI32 can be eliminated, reducing the expression to e_bdnz target. In addition to CTR operations, the BO32 operand provides branch decisions based on true or false conditions. For example, if a branch instruction depends on an equal condition in CR0, the expression is e_bc 1,2,target. To specify a true condition, the BO32 value becomes 1; the CR0 equal field is indicated by a BI32 value of 2. Incorporating the branch- if-true condition a ‘t’ is used to replace the c in the original mnemonic, e_bt. The BI32 value of 2 is replaced by the eq symbol. Using the simplified mnemonic and the eq operand, the expression becomes e_bt eq,target. This example tests CR0[EQ]; however, to test the equal condition in CR3 (CR bit 14), the expression becomes e_bc 1,14,target. The BI32 operand of 14 indicates CR[14] (CR3[2], or Table 13. Branch instructions Instruction name Mnemonic Syntax Branch e_b (e_bl) se_b (se_bl) target_addr target_addr Branch Conditional e_bc (e_bcl) se_bc BO32,BI32,target_addr BO16,BI16,target_addr Branch to Link Register se_blr (se_blrl) — Branch to Count Register se_bctr (se_bctrl) — 0 5 6 9 10 11 12 15 16 30 31 0 1 1 1 1 0 1 0 0 0 BO32 BI32 BD15 LK 04 5 6 7 8 15 1111 0 BO16 BI16 BD8 |
|
Link URL |
| Does ALLDATASHEET help your business so far? [ DONATE ] |
About Alldatasheet | Advertisement | Contact us | Privacy Policy | Link to Datasheet | Link Exchange | Manufacturer List All Rights Reserved©Alldatasheet.com |
| Russian : Alldatasheetru.com | Korean : Alldatasheet.co.kr | Spanish : Alldatasheet.es | French : Alldatasheet.fr | Italian : Alldatasheetit.com Portuguese : Alldatasheetpt.com | Polish : Alldatasheet.pl | Vietnamese : Alldatasheet.vn Indian : Alldatasheet.in | Mexican : Alldatasheet.com.mx | British : Alldatasheet.co.uk | New Zealand : Alldatasheet.co.nz |
|
Family Site : ic2ic.com |
icmetro.com |