cvsuser 05/03/21 12:22:45
Modified: examples/assembly mandel.imc
Log:
mandel.imc is now more human readable.
Thanks to Will Coleda.
Revision Changes Path
1.2 +41 -42 parrot/examples/assembly/mandel.imc
Index: mandel.imc
===================================================================
RCS file: /cvs/public/parrot/examples/assembly/mandel.imc,v
retrieving revision 1.1
retrieving revision 1.2
diff -u -r1.1 -r1.2
--- mandel.imc 21 Mar 2005 19:22:28 -0000 1.1
+++ mandel.imc 21 Mar 2005 20:22:45 -0000 1.2
@@ -1,5 +1,5 @@
# Copyright (C) 2005 The Perl Foundation. All rights reserved.
-# $Id: mandel.imc,v 1.1 2005/03/21 19:22:28 bernhard Exp $
+# $Id: mandel.imc,v 1.2 2005/03/21 20:22:45 bernhard Exp $
=head1 NAME
@@ -38,62 +38,61 @@
.local string b
.local int x, y, k
- .local num r, i, z, Z, t, c, C, temp1, temp2
+ .local num r, i, z, Z, t, c, C
- b = " .:,;!/>)|&IH%*#"
- set y, 30
+ b = " .:,;!/>)|&IH%*#"
+ y = 30
YREDO: # C = y*0.1 - 1.5
- mul C, y, 0.1
- sub C, C, 1.5
+ C = y * 0.1
+ C -= 1.5
- set x, 0
+ x = 0
XREDO: # c = x*0.04 - 2
- mul c, x, 0.04
- sub c, c, 2.0
- set z, 0
- set Z, 0
+ c = x * 0.04
+ c -= 2
+ z = 0
+ Z = 0
- set r, c
- set i, C
+ r = c
+ i = C
- set k, 0
+ k = 0
KREDO: # t = z*z - Z*Z + r
- mul temp1, z, z
- mul temp2, Z, Z
- sub t, temp1, temp2
- add t, t, r
+ $N1 = z * z
+ $N2 = Z * Z
+ t = $N1 - $N2
+ t += r
# Z = 2*z*Z + i
- add Z, Z, Z
- mul Z, Z, z
- add Z, Z, i
+ Z = 2 * Z
+ Z = z * Z
+ Z += i
# z = t
- set z, t
+ z = t
# if (z*z + Z*Z > 10) break;
- mul temp1, z, z
- mul temp2, Z, Z
- add temp1, temp1, temp2
- gt temp1, 10.0, PRINT
-
- inc k
- lt k, 112, KREDO
-
-PRINT: mod I4, k, 16
- substr S2, b, I4, 1
- print S2
-
- inc x
- lt x, 75, XREDO
-
- print "\n"
- dec y
- gt y, 0, YREDO
-
-END:
+ $N1 = z * z
+ $N2 = Z * Z
+ $N1 += $N2
+ if $N1 > 10 goto PRINT
+
+ inc k
+ if k < 112 goto KREDO
+
+PRINT: $I1 = k % 16
+ $S1 = substr b, $I1, 1
+ print $S1
+
+ inc x
+ if x < 75 goto XREDO
+
+ print "\n"
+ dec y
+ if y > 0 goto YREDO
+END:
.end