# Changeset 2086 for src/ASM

Ignore:
Timestamp:
Jun 15, 2012, 11:39:17 AM (9 years ago)
Message:
• spell-check
Location:
src/ASM/CPP2012-policy
Files:
2 edited

Unmodified
Removed
• ## src/ASM/CPP2012-policy/algorithm.tex

 r2085 \item a function $labels$ that associates a label to its pseudo-address; \item $old\_sigma$, the $\sigma$ function returned by the previous iteration of the fixed point calculcation; iteration of the fixed point calculation; \item $instr$, the instruction currently under consideration; \item $ppc$, the pseudo-address of $instr$;
• ## src/ASM/CPP2012-policy/problem.tex

 r2085 With this optimisation, however, comes increased complexity and hence increased possibility for error. We must make sure that the jumps are encoded correctly, otherwise the assembled program will behave impredictably. correctly, otherwise the assembled program will behave unpredictably. \section{The branch displacement optimisation problem} Generally, in the code that is sent to the assembler as input, the only difference made between jump instructions is by semantics, not by span. This means that a distinction is made between the inconditional jump and the several means that a distinction is made between the unconditional jump and the several kinds of conditional jump, but not between their short, absolute or long variants. longer depends only on the distance between the jump and its target: in order for an absolute jump to be possible, they need to be in the same segment (for the MCS-51, this means that the first 5 bytes of their addesses have to be the MCS-51, this means that the first 5 bytes of their addresses have to be equal). It is therefore entirely possible for two jumps with the same span to 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.