diff options
Diffstat (limited to 'deps/lightning/check/bp.tst')
-rw-r--r-- | deps/lightning/check/bp.tst | 46 |
1 files changed, 46 insertions, 0 deletions
diff --git a/deps/lightning/check/bp.tst b/deps/lightning/check/bp.tst new file mode 100644 index 0000000..9e6798d --- /dev/null +++ b/deps/lightning/check/bp.tst @@ -0,0 +1,46 @@ +.data 32 +fmt: +.c "nfibs(%d) = %d\n" + +.code + jmpi main + + name rfibs +rfibs: + prolog + arg $in + getarg %r0 $in /* R0 = N */ + beqi out %r0 0 + movr %v0 %r0 /* V0 = R0 */ + movi %r0 1 + blei_u out %v0 2 + subi %v1 %v0 1 /* V1 = N-1 */ + subi %v2 %v0 2 /* V1 = N-2 */ + prepare + pushargr %v1 + finishi rfibs + retval %v1 /* V1 = rfibs(N-1) */ + prepare + pushargr %v2 + finishi rfibs + retval %r0 /* R0 = rfibs(N-2) */ + addr %r0 %r0 %v1 +out: + retr %r0 + epilog + + name main +main: + prolog + prepare + pushargi 32 + finishi rfibs + retval %v0 + prepare + pushargi fmt + ellipsis + pushargi 32 + pushargr %v0 + finishi @printf + ret + epilog |