As far as I can tell the Manchester Baby was an experimental machine and therefore the assembly language that it used was not fixed and was expanded as the developers extended the abilities of the machine.
Nevertheless a useful set of opcodes can be found in the "Manchester Baby Simulator User Guide" (
sharp2001guide.pdf).
These include the following:
- JMP - Copy content of the specified line into the CI
- JRP - Add the content of the specified line into the CI
- LDN - Copy the content of the specified line, negated, into the accumulator
- STO - Copy the content of the accumulator to the specified store line
- SUB - Subtract the content of the specified line from the accumulator
- CMP - If the accumlator is less than 0 increment the CI
- STP - Halt the Baby and light the "stop lamp"
It is the lack of variety of opcodes, and also the limitations of the hardware, that makes the Baby an interesting, and hopefully fun, machine to simulate and play with. To write a program of any complexity requires a good understanding of not just the capabilities but also the limitations of the hardware.
You should also notice an interesting gotcha with the Baby is the place of the CI increment in the fetch-decode-execute cycle. Because the CI is incremented before the first line of code is fetched it effectively means that the "program" starts in line 1 of the store rather than line 0.