Author: jquelin
Date: Fri Jan 9 02:49:05 2009
New Revision: 35276
Modified:
trunk/languages/befunge/maths.pir
Log:
sub reordering + maths__mul() implemented
Modified: trunk/languages/befunge/maths.pir
==============================================================================
--- trunk/languages/befunge/maths.pir (original)
+++ trunk/languages/befunge/maths.pir Fri Jan 9 02:49:05 2009
@@ -3,20 +3,6 @@
.macro_const RANDMAX 65536.0
#
-# maths__not()
-#
-# logical not.
-# befunge stack:
-# before: ... a
-# after: ... not(a)
-#
-.sub "maths__not"
- $I0 = stack__pop()
- $I0 = not $I0
- stack__push($I0)
-.end
-
-#
# push number on befunge's stack.
# befunge stack:
# before: ...
@@ -48,53 +34,87 @@
#
-# maths__sub()
+# maths__div()
#
-# substraction.
+# division.
# befunge stack:
# before: ... a b
-# after: ... a-b
+# after: ... a/b
#
-.sub "maths__sub"
+.sub "maths__div"
$I1 = stack__pop()
$I0 = stack__pop()
- $I2 = $I0 - $I1
+ $I2 = $I0 / $I1
stack__push($I2)
.end
#
-# maths__div()
+# maths__mod()
#
-# division.
+# modulus.
# befunge stack:
# before: ... a b
-# after: ... a/b
+# after: ... a%b
#
-.sub "maths__div"
+.sub "maths__mod"
$I1 = stack__pop()
$I0 = stack__pop()
- $I2 = $I0 / $I1
+ $I2 = mod $I0, $I1
stack__push($I2)
.end
#
-# maths__mod()
+# maths__mul()
#
-# modulus.
+# multiplication.
# befunge stack:
# before: ... a b
-# after: ... a%b
+# after: ... a*b
+# no return value.
#
-.sub "maths__mod"
+.sub "maths__mul"
$I1 = stack__pop()
$I0 = stack__pop()
- $I2 = mod $I0, $I1
+ $I2 = $I0 * $I1
+ stack__push($I2)
+.end
+
+
+#
+# maths__not()
+#
+# logical not.
+# befunge stack:
+# before: ... a
+# after: ... not(a)
+#
+.sub "maths__not"
+ $I0 = stack__pop()
+ $I0 = not $I0
+ stack__push($I0)
+.end
+
+
+#
+# maths__sub()
+#
+# substraction.
+# befunge stack:
+# before: ... a b
+# after: ... a-b
+#
+.sub "maths__sub"
+ $I1 = stack__pop()
+ $I0 = stack__pop()
+ $I2 = $I0 - $I1
stack__push($I2)
.end
+
+
=pod
# Create a pseudo-random number.