Releases: philiprbrenan/com.AppaApps.Silicon
Rasken
Fast Kogge Stone
adder from Håkon Hægland drops time to execute one RiscV instruction in Ban.java
. Rasken means fast in Norwegian.
Subroutine definitions and trace back from Phil in RiscV.java
with shadow call stack to check return address is correct on subroutine return during emulation.
Loop Head
We now have the capability to stop()
the execution of the program, write to a simulated stdout using out()
, and structured programming statements such as if
and for
in the assembler implemented in RiscV.java
.
Using these capabilities I have successfully implemented a version of Insertion Sort
in RiscV.java
which also runs under the register transfer level implementation of RiscV
in Ban.java
.
Following the convention of using west Ireland place names for releases, welcome to release Loop Head
in County Clare.
Sligo
Bubble Sort in the Ban.java
implementation of RiscV.java
works!
First I wrote BubbleSort
in RiscV
assembler in RiscV.java
then assembled it to get the corresponding machine code. I put the resulting machine code in Ban.java
and used the Gate level implementation of RiscV.java
held in Ban.java
to run Bubble Sort
.
Donald Knuth
calls Bubble Sort
the most useless sorting algorithm but I disagree: when I saw the numbers come out sorted into order I was convinced that everything was working as expected which was jolly useful.
The release naming convention is one of Irish west coast place names: ChatGPT
tells me that Sligo, Ireland
means Place of Shells
which would be a better name for an implementation of Shell Sort
, not Bubble Sort
- but there again, perhaps that is the next test to write as soon as the assembler has some structured programming facilities in it such as for loops and if statements.
Donegol
Mjaf - Btree deletion