Thu Jul 16 11:21:55 CEST 2009
the relative conditional jump
Start with the most difficult instruction: one that uses machine state
and a typed operand (an addressing mode): a relative conditional jump.
Branch if carry flag is set:
bc R 1101 0010 RRRR RRRR
C carry flag
R operand type
PC program counter
PC <- (if C (+ PC (* n 2)) PC)
So, what is "R"? It is some simplified representation of the
semantics "PC <- (if C (+ PC (* n 2)) (+ PC 2))".
This is a very important question to answer. Distinguish:
- code syntax
- symplified semantics (type)
- concrete semantics (simulator)