summaryrefslogtreecommitdiff
path: root/assembly/fizzbuzz/fizzbuzz.S
diff options
context:
space:
mode:
authorcheapie <cheapiephp@gmail.com>2026-11-06 14:38:59 -0600
committercheapie <cheapiephp@gmail.com>2026-11-06 14:38:59 -0600
commit155623f85f728b0a5042063b4d43c0255e4748fa (patch)
treeff9d41118e2819bba15fcd694750d4a69447665c /assembly/fizzbuzz/fizzbuzz.S
parentf1fe00423df3fda0ace4222d9d5e3d1976db3964 (diff)
downloadrvcontroller-155623f85f728b0a5042063b4d43c0255e4748fa.tar
rvcontroller-155623f85f728b0a5042063b4d43c0255e4748fa.tar.gz
rvcontroller-155623f85f728b0a5042063b4d43c0255e4748fa.tar.bz2
rvcontroller-155623f85f728b0a5042063b4d43c0255e4748fa.tar.xz
rvcontroller-155623f85f728b0a5042063b4d43c0255e4748fa.zip
Add fizzbuzz sample
Diffstat (limited to 'assembly/fizzbuzz/fizzbuzz.S')
-rw-r--r--assembly/fizzbuzz/fizzbuzz.S43
1 files changed, 43 insertions, 0 deletions
diff --git a/assembly/fizzbuzz/fizzbuzz.S b/assembly/fizzbuzz/fizzbuzz.S
new file mode 100644
index 0000000..9960776
--- /dev/null
+++ b/assembly/fizzbuzz/fizzbuzz.S
@@ -0,0 +1,43 @@
+li s0,0
+li s1,15
+li s2,5
+li s3,3
+li s4,100
+mainloop:
+li a0,'\n'
+li a7,11
+ecall
+bge s0,s4,end
+addi s0,s0,1
+remu t0,s0,s1
+bnez t0,1f
+la a0,fizz
+li a7,4
+ecall
+la a0,buzz
+li a7,4
+ecall
+j mainloop
+1: remu t0,s0,s2
+bnez t0,1f
+la a0,buzz
+li a7,4
+ecall
+j mainloop
+1: remu t0,s0,s3
+bnez t0,1f
+la a0,fizz
+li a7,4
+ecall
+j mainloop
+1: mv a0,s0
+li a7,1
+ecall
+j mainloop
+
+end:
+li a7,10
+ecall
+
+fizz: .asciz "Fizz"
+buzz: .asciz "Buzz"