Close

2026-09-21 The first code to run on the A5

A project log for A5 minimal Mini-computer Kit

24-bit data bus and a 24-bit address bus, 6MB of battery backed memory and elegant, complete and simple RISC instruction set

tomdehavastomdehavas • 2 hours ago•1 Comment

This is the code with comments removed. It is explained in detail here https://a5computer.com/code/firstever.html
but briefly 

016 04000020 :ADDRESS 16#100010 017 04000020 018 04000020 .START 019 04000020 ;Experiment to move an immediate value in and out of A3 020 04000020 000000 000 0 11 100 000 010 011 MOV (PC++) DAR 021 04000021 001 100 110 011 001 100 110 011 :WORD 16#333333 022 04000022 000000 000 0 00 011 111 000 000 MOV DAR A3 023 04000023 000000 000 0 00 111 011 000 000 MOV A3 ADR 024 04000024 000000 000 0 00 000 000 000 000 NOP 025 04000025 026 04000025 ;Jump back to START 027 04000025 000000 000 0 11 100 000 010 011 MOV (PC++) DAR 028 04000026 000 100 000 000 000 000 010 000 :WORD .START 029 04000027 000000 000 0 00 011 100 000 000 MOV DAR PC

  • The three digit number on the extreme left is the line number in decimal.
  • The number following it is the memory address of the instruction in octal.
  • The binary numbers where they appear are the instruction stored at the address or the constant :WORD value. 
  • They are broken into blocks of binary digits because each block is a part of the instruction and has a particular meaning;
  • Then follows the mnemonic and the parameters. (PC++) means the contents of the memory location pointed to by PC and then increment PC again after this instruction.
  • The PC is the Program Counter
  • A3 is an address register connected to the address bus
  • DAR the Data bus to Address bus Register
  • ADR the Address bus to Data bus Register
  • Discussions

    tomdehavas wrote 2 hours ago • point

    This was the first ever code to be assembled initially by hand and then by the cross assembler I wrote. 

    The code proves the operation of the instruction decoder, the address register operations including post increment, the effectiveness of immediate addressing mode, jump instructions and the fetch/execute instruction cycle. 

    Now I am ready to build the ALU and test that.

      Are you sure? yes | no