Рет қаралды 564
Yet another version of the 3D 10 PRINT program in assembler - this time in an open instruction set architecture processor, the RISC-V.
This is done on a BBC Master using the Indigo release of the PiTubeDirect software, which implements a new RISC-V co processor as number 23. The latest release at the time this video was made was alpha 4 - the current release is here:
github.com/hog...
RISC-V BASIC, a port of Richard Russell's BBC BASIC for SDL by David Banks provides the assembler integrated into BASIC. The latest version is here:
github.com/hog...
A handy quick reference card for RISC-V is available here:
www.cs.sfu.ca/...
The lab exercise with the LFSR algorithm is here:
inst.eecs.berk...
The GitHub repository with the code from this series is here:
github.com/min...
This is my first program in RISC-V and I'm aware of some mistakes and optimisations, so go easy! In particular, you CAN load an address into a register directly, so "LA T0,(rndbuf):LW S4,(T0)" could be replaced by "LA S4,(rndbuf)" but this is a pseudo instruction and does actually load the address into S4 as an intermediate step. I didn't use this instruction, though, as it wasn't available in the earlier versions of RISC-V BASIC's assembler.