Close

Assembly Language Reference

A project log for DM-01: 8-bit 74xx computer

Designing and building my own 8-bit computer from scratch with 74xx (TTL) logic chips

ruud-van-falierRuud van Falier 04/10/2019 at 09:143 Comments

The assembly language for the 74xx Computer has been finalized and documented: https://github.com/DutchMaker/TTL-computer/blob/master/Documentation/74xx-Assembly-Language.md

Everything that is mentioned in the reference is also implemented in the Logisim circuit, the microcode compiler and the assembler.

Discussions

Ruud van Falier wrote 04/10/2019 at 17:13 point

@roelh I've added the LDX and STX instructions for indirect load/store. It couldn't be done with a single microcoded instruction because there are not enough t-states available. The assembler now translates the instruction to a set of multiple instructions that perform the operation.

  Are you sure? yes | no

Ruud van Falier wrote 04/10/2019 at 14:02 point

Hi Roel, you are right, I missed the indirect load/save instructions! This is where you see that I have very little experience with assembly :-)

I will definitely add those!

There is a stack space reserved (FF00 - FFFF) solely for the purpose of storing return addresses. The RET instruction loads the memory address from the stack into the C-D register and then loads that into the Program Counter.

The C-D pair is also used to load the Stack Pointer value and pass that to the MAR. I will use the same principle for the indirect save/load, so it should only be a matter of adding a bit of microcode.

Thanks for pointing this out!!

  Are you sure? yes | no

roelh wrote 04/10/2019 at 13:28 point

Hi Ruud, in your overview I miss instructions for indirect load and save. I thought that the C-D register pair was ment for that. Will you add them ? And the return address for CALL, is it stored in the C-D pair ?

  Are you sure? yes | no