From 6b9c4576b86b93137543c9c4b67b850096999423 Mon Sep 17 00:00:00 2001 From: Dominik Meyer Date: Tue, 7 Jan 2014 21:35:13 +0100 Subject: [PATCH] ADD: added assembler program for printing Geraffel Processor --- asm/geraffel.s | 45 +++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 45 insertions(+) create mode 100644 asm/geraffel.s diff --git a/asm/geraffel.s b/asm/geraffel.s new file mode 100644 index 0000000..d255a51 --- /dev/null +++ b/asm/geraffel.s @@ -0,0 +1,45 @@ +loa $1, 200 +jmc print +loa $1, 201 +jmc print +loa $1, 202 +jmc print +loa $1, 203 +jmc print +loa $1, 204 +jmc print +lui $1, 512 +jmc printAscii +hlt +print: +add $20, $1, $0 +printLoop: +sto $20, 65521 +shr $20, $20, $0 +shr $20, $20, $0 +shr $20, $20, $0 +shr $20, $20, $0 +shr $20, $20, $0 +shr $20, $20, $0 +shr $20, $20, $0 +shr $20, $20, $0 +jpz endPrint +jmp printLoop +endPrint: +ret +printAscii: +add $20, $1, $0 +asciloop: +and $21, $20, 15 +or $21, $21, 48 +sub $22, $21, 10 +jpc smaller +add $21, $21, 7 +smaller: +sto $21, 65521 +shr $20, $20, $0 +shr $20, $20, $0 +shr $20, $20, $0 +shr $20, $20, $0 +jpz asciloop: +ret