From 9a6959b2700ec54392fb2ffb145bacae66fc2269 Mon Sep 17 00:00:00 2001 From: Jacob McDonnell Date: Wed, 18 Aug 2021 17:31:19 -0400 Subject: initial commit --- FibFinder/obj/fib.c.src | 202 ++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 202 insertions(+) create mode 100644 FibFinder/obj/fib.c.src (limited to 'FibFinder/obj/fib.c.src') diff --git a/FibFinder/obj/fib.c.src b/FibFinder/obj/fib.c.src new file mode 100644 index 0000000..8823860 --- /dev/null +++ b/FibFinder/obj/fib.c.src @@ -0,0 +1,202 @@ + section .text,"ax",@progbits + assume adl = 1 + section .text,"ax",@progbits + public _main +_main: + ld hl, -60 + call __frameset + lea hl, ix + -50 + ld (ix + -60), hl +BB0_1: + ld iy, -3145600 + call _os_ClrLCD + call _os_HomeUp + call _os_DrawStatusBar + ld hl, L_.str + push hl + call _printf_ + pop hl + ld.sis hl, 0 + ld (ix + -57), l + ld (ix + -56), h +BB0_2: + call _os_GetKey + ld c, l + ld b, h + ld.sis de, 5 + or a, a + sbc.sis hl, de + ld (ix + -55), c + ld (ix + -54), b + jq z, BB0_5 + ld l, c + ld h, b + ld.sis de, 9 + or a, a + sbc.sis hl, de + jq z, BB0_7 + ld l, (ix + -55) + ld h, (ix + -54) + ld a, l + add a, -94 + ld c, (ix + -57) + ld b, (ix + -56) + ld e, b + ld l, e + ld iyl, e + rlc l + sbc hl, hl + push hl + pop de + ld d, iyl + ld e, c + ld hl, (ix + -60) + add hl, de + ld (hl), a + inc.sis bc + ld (ix + -57), c + ld (ix + -56), b + ld l, a + rlc l + sbc hl, hl + ld l, a + push hl + ld hl, L_.str.1 + push hl + call _printf_ + pop hl + pop hl + jq BB0_2 +BB0_5: + ld hl, 10 + push hl + pea ix + -53 + ld hl, (ix + -60) + push hl + call _strtol + pop bc + pop bc + pop bc + push de + push hl + call _fib + pop de + pop de + push hl + ld hl, L_.str.2 + push hl + call _printf_ + pop hl + pop hl +BB0_6: + call _os_GetCSC + or a, a + jq z, BB0_6 +BB0_7: + ld l, (ix + -55) + ld h, (ix + -54) + ld.sis de, 5 + or a, a + sbc.sis hl, de + jq z, BB0_1 + or a, a + sbc hl, hl + ld sp, ix + pop ix + ret + section .text,"ax",@progbits + + section .text,"ax",@progbits + public _fib +_fib: + ld hl, -10 + call __frameset + ld hl, (ix + 6) + ld a, (ix + 9) + ld (ix + -1), a + ld de, 1 + ld (ix + -4), de + xor a, a + ld bc, 0 +BB1_1: + push hl + pop iy + ld d, (ix + -1) + ld e, d + call __lcmpzero + jq z, BB1_6 + ld (ix + -7), bc + lea hl, iy + 0 + ld e, d + ld bc, 1 + call __lcmpu + jq z, BB1_4 + ld (ix + -10), iy + lea hl, iy + 0 + ld e, d + ld bc, -1 + ld a, -1 + call __ladd + ld (ix + -1), d + push de + push hl + call _fib + push hl + pop iy + pop hl + pop hl + ld hl, (ix + -10) + ld e, (ix + -1) + ld bc, -2 + ld a, -1 + call __ladd + ld (ix + -1), e + ld de, (ix + -7) + add iy, de + xor a, a + lea bc, iy + 0 + jq BB1_1 +BB1_6: + or a, a + sbc hl, hl + ld (ix + -4), hl + jq BB1_5 +BB1_4: + ld bc, (ix + -7) +BB1_5: + ld hl, (ix + -4) + add hl, bc + ld sp, ix + pop ix + ret + section .text,"ax",@progbits + + section .rodata,"a",@progbits + private L_.str +L_.str: + db "FibFinder",012o,"Press Clear to exit",012o,"Input: ",000o + + section .rodata,"a",@progbits + private L_.str.1 +L_.str.1: + db "%c",000o + + section .rodata,"a",@progbits + private L_.str.2 +L_.str.2: + db "",012o,"Output: %d",000o + + ident "clang version 12.0.0 (https://github.com/jacobly0/llvm-project 170be88120e3aa88c20eea5615ba76b8f1d6c647)" + extern __Unwind_SjLj_Register + extern __Unwind_SjLj_Unregister + extern __frameset + extern __lcmpzero + extern _printf_ + extern _strtol + extern _os_GetCSC + extern _os_ClrLCD + extern __lcmpu + extern _os_DrawStatusBar + extern _os_HomeUp + extern _os_GetKey + extern __ladd -- cgit v1.2.3