string
This commit is contained in:
30
example/pseudo/t.ssa
Normal file
30
example/pseudo/t.ssa
Normal file
@@ -0,0 +1,30 @@
|
||||
function l $zerop (l %n) {
|
||||
@start
|
||||
jnz %n, @b1, @b2
|
||||
@b1
|
||||
ret 0
|
||||
@b2
|
||||
ret 1
|
||||
}
|
||||
|
||||
function l $factorial (l %n) {
|
||||
@start
|
||||
%r1 =l call $zerop (l %n)
|
||||
jnz %r1, @b1, @b2
|
||||
@b1
|
||||
ret 1
|
||||
@b2
|
||||
%r2 =l sub %n, 1
|
||||
%r3 =l call $factorial (l %r2)
|
||||
%r4 =l mul %n, %r3
|
||||
ret %r4
|
||||
}
|
||||
|
||||
data $fstr = { b "fac 3 = %d\n", b 0 }
|
||||
|
||||
export function w $main () {
|
||||
@start
|
||||
%r =l call $factorial (l 3)
|
||||
call $printf (l $fstr, ..., l %r)
|
||||
ret 0
|
||||
}
|
||||
Reference in New Issue
Block a user