diff -r 13a6eb21706b -r f766d3486c9d cws/cw04.tex --- a/cws/cw04.tex Sat Dec 04 00:13:20 2021 +0000 +++ b/cws/cw04.tex Sat Dec 04 00:41:31 2021 +0000 @@ -292,12 +292,12 @@ \begin{minipage}{12cm} \begin{lstlisting}[language=JVMIS, numbers=none] .method public static write(I)V - .limit locals 1 - .limit stack 2 - getstatic java/lang/System/out Ljava/io/PrintStream; - iload 0 - invokevirtual java/io/PrintStream/println(I)V - return + .limit locals 1 + .limit stack 2 + getstatic java/lang/System/out Ljava/io/PrintStream; + iload 0 + invokevirtual java/io/PrintStream/println(I)V + return .end method \end{lstlisting} \end{minipage} @@ -380,36 +380,37 @@ \begin{figure}[t]\small \begin{lstlisting}[language=JVMIS,numbers=left] .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 for Unix (Windows 13) - 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 + getstatic java/lang/System/in Ljava/io/InputStream; + invokevirtual java/io/InputStream/read()I + istore 2 + iload 2 + ldc 10 ; the newline delimiter for Unix (Windows 13) + 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 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 \end{lstlisting}\normalsize \caption{Assembler code for reading an integer from the console.\label{read}}