cws/cw04.tex
changeset 992 c3dd3a98f919
parent 986 68b1a84efce6
equal deleted inserted replaced
991:5d01eccc2036 992:c3dd3a98f919
    30 \subsection*{Disclaimer\alert}
    30 \subsection*{Disclaimer\alert}
    31 
    31 
    32 It should be understood that the work you submit represents
    32 It should be understood that the work you submit represents
    33 your own effort. You have not copied from anyone else. An
    33 your own effort. You have not copied from anyone else. An
    34 exception is the Scala code I showed during the lectures,
    34 exception is the Scala code I showed during the lectures,
    35 which you can use. You can also use your own code from the
    35 which you can use. You can also use your own code from 
    36 CW~1, CW~2 and CW~3. But do not
    36 CW~1, CW~2 and CW~3. 
    37 be tempted to ask Github Copilot for help or do any other
    37 %But do not
    38 shenanigans like this!
    38 %be tempted to ask Github Copilot for help or do any other
       
    39 %shenanigans like this!
    39 
    40 
    40 
    41 
    41 \subsection*{Jasmin Assembler}
    42 \subsection*{Jasmin Assembler}
    42 
    43 
    43 For this coursework you will need an assembler. 
    44 For this coursework you will need an assembler. 
    46 \begin{center}
    47 \begin{center}
    47 \url{http://jasmin.sourceforge.net}
    48 \url{http://jasmin.sourceforge.net}
    48 \end{center}
    49 \end{center}
    49 
    50 
    50 \noindent
    51 \noindent
    51 This is a jar-file you can run on the commandline.
    52 This jar-file is also included in your template files for CW 4.
       
    53 You can run it on the command line with \texttt{java -jar jasmin}.
    52 There is a user guide for Jasmin
    54 There is a user guide for Jasmin
    53 
    55 
    54 \begin{center}
    56 \begin{center}
    55 \url{http://jasmin.sourceforge.net/guide.html}
    57 \url{http://jasmin.sourceforge.net/guide.html}
    56 \end{center}
    58 \end{center}
    67 
    69 
    68 \begin{center}
    70 \begin{center}
    69 \texttt{java -jar jasmin.jar loops.j}
    71 \texttt{java -jar jasmin.jar loops.j}
    70 \end{center}
    72 \end{center}
    71 
    73 
    72 \noindent in order to translate it into Java Byte Code. If needed, you
    74 \noindent in order to translate it into Java Byte Code. If relevant, you
    73 need to give the path to the Jasmin jar-file.  The resulting class
    75 need to give the path to the Jasmin jar-file.  The resulting class
    74 file can be run with
    76 file can be run with
    75 
    77 
    76 \begin{center}
    78 \begin{center}
    77 \texttt{java loops}
    79 \texttt{java loops}
    92 \end{center}
    94 \end{center}
    93 
    95 
    94 \noindent and
    96 \noindent and
    95 
    97 
    96 \begin{center}
    98 \begin{center}
    97   \small\url{http://www.csc.villanova.edu/~tway/courses/csc4181/s2022/labs/finalproject/JVM.pdf}
    99   \small\url{https://urbanchr.github.io/cfl/JVM.pdf}
    98 \end{center}
   100 \end{center}
    99 
   101 
   100 \noindent
   102 \noindent
       
   103 The latter is courtesy of Tom Way. 
   101 If possible use Jasmin for the coursework. The Krakatau assembler
   104 If possible use Jasmin for the coursework. The Krakatau assembler
   102 below has a slightly different syntax.
   105 below has a slightly different syntax.
   103 
   106 
   104 
   107 
   105 \subsection*{Krakatau Assembler (Version 1 \& 2)}
   108 \subsection*{Krakatau Assembler (Version 1 \& 2)}