- Timestamp:
- Jun 15, 2012, 11:39:17 AM (9 years ago)
- Location:
- src/ASM/CPP2012-policy
- Files:
-
- 2 edited
Legend:
- Unmodified
- Added
- Removed
-
src/ASM/CPP2012-policy/algorithm.tex
r2085 r2086 148 148 \item a function $labels$ that associates a label to its pseudo-address; 149 149 \item $old\_sigma$, the $\sigma$ function returned by the previous 150 iteration of the fixed point calcul cation;150 iteration of the fixed point calculation; 151 151 \item $instr$, the instruction currently under consideration; 152 152 \item $ppc$, the pseudo-address of $instr$; -
src/ASM/CPP2012-policy/problem.tex
r2085 r2086 22 22 With this optimisation, however, comes increased complexity and hence 23 23 increased possibility for error. We must make sure that the jumps are encoded 24 correctly, otherwise the assembled program will behave impredictably.24 correctly, otherwise the assembled program will behave unpredictably. 25 25 26 26 \section{The branch displacement optimisation problem} … … 83 83 Generally, in the code that is sent to the assembler as input, the only 84 84 difference made between jump instructions is by semantics, not by span. This 85 means that a distinction is made between the inconditional jump and the several85 means that a distinction is made between the unconditional jump and the several 86 86 kinds of conditional jump, but not between their short, absolute or long 87 87 variants. … … 128 128 longer depends only on the distance between the jump and its target: in order 129 129 for an absolute jump to be possible, they need to be in the same segment (for 130 the MCS-51, this means that the first 5 bytes of their add esses have to be130 the MCS-51, this means that the first 5 bytes of their addresses have to be 131 131 equal). It is therefore entirely possible for two jumps with the same span to 132 132 be encoded in different ways (absolute if the jump and its target are in the
Note: See TracChangeset
for help on using the changeset viewer.