progs/fib.j
changeset 373 b018234c9126
parent 323 4ce07c4abdb4
child 471 9476086849ad
--- a/progs/fib.j	Tue Nov 17 01:58:50 2015 +0000
+++ b/progs/fib.j	Tue Nov 17 04:02:08 2015 +0000
@@ -9,50 +9,48 @@
 .end method
 
 .method public static write(I)V 
-    .limit locals 5 
-    .limit stack 5 
-    iload 0 
+    .limit locals 1 
+    .limit stack 2 
     getstatic java/lang/System/out Ljava/io/PrintStream; 
-    swap 
+    iload 0
     invokevirtual java/io/PrintStream/println(I)V 
     return 
 .end method
 
 .method public static read()I 
-      .limit locals 10 
-      .limit stack 10
+    .limit locals 10 
+    .limit stack 10
 
-      ldc 0 
-      istore 1  ; this will hold our final integer 
+    ldc 0 
+    istore 1  ; this will hold our final integer 
 Label1: 
-      getstatic java/lang/System/in Ljava/io/InputStream; 
-      invokevirtual java/io/InputStream/read()I 
-      istore 2 
-      iload 2 
-      ldc 10   ; the newline delimiter 
-      isub 
-      ifeq Label2 
-      iload 2 
-      ldc 32   ; the space delimiter 
-      isub 
-      ifeq Label2
+    getstatic java/lang/System/in Ljava/io/InputStream; 
+    invokevirtual java/io/InputStream/read()I 
+    istore 2 
+    iload 2 
+    ldc 10   ; the newline delimiter 
+    isub 
+    ifeq Label2 
+    iload 2 
+    ldc 32   ; the space delimiter 
+    isub 
+    ifeq Label2
 
-      iload 2 
-      ldc 48   ; we have our digit in ASCII, have to subtract it from 48 
-      isub 
-      ldc 10 
-      iload 1 
-      imul 
-      iadd 
-      istore 1 
-      goto Label1 
+    iload 2 
+    ldc 48   ; we have our digit in ASCII, have to subtract it from 48 
+    isub 
+    ldc 10 
+    iload 1 
+    imul 
+    iadd 
+    istore 1 
+    goto Label1 
 Label2: 
-      ;when we come here we have our integer computed in Local Variable 1 
-      iload 1 
-      ireturn 
+    ;when we come here we have our integer computed in local variable 1 
+    iload 1 
+    ireturn 
 .end method
 
-
 .method public static main([Ljava/lang/String;)V
    .limit locals 200
    .limit stack 200
@@ -87,7 +85,7 @@
 
 Loop_end_1:
 
-iload 2
+iload 1
 invokestatic fib/fib/write(I)V