Initial Exercise ---------------- Below is an exercise to get you going. This will not be formally marked. Please note, however, that it has been chosen in such a way that developed code will come in handy for completing your assembly language project. Below is the program shown on one of the lecture slides (it prints "Hello world!"). Copy and paste it into a separate file, such as "ex.x68" (note that the program must have extension x68). Start the Easy68k software, and load the file. Under the "project" tab, choose "Assemble Source". If everything was fine, click "Execute" on the popup window. Click the "run" button in the simulator window to run the program, and observe the output that should have appeared. Now make the following changes: First, change the program so that it uses a subroutine for writing a character (refer to lecture slide "Simple subroutines" to see how this is done). Then change the loop for writing the characters into a subroutine called "print". Note that subroutines are located after the main program (which terminates with move.b #9,d0 and trap #15) but before the data statements (the line with dc.b). You should now have two subroutines called "print" and "output", and "output" is called from within "print". Assemble and run the program, and check that it works. Start org $1000 lea str,a0 * points to string loop move.b (a0)+,d1 * next char - start of loop beq next move.b #6,d0 * output it trap #15 bra loop * and continue next * end of loop move.b #9,d0 * exit the main program trap #15 str dc.b 13,10,'Hello world!',0 end Start You will be able to use the developed code for the first assignment.