Take-Home Preparation for the
CST222 Final Exam

ARC instructions

Write ARC assembly language instructions that will cause the following sequence of events to occur:
  1. Set the lowest-numbered programmable register to contain ASCII string "NoTe".
    [Note that the N and the T are UPPER-CASE, but the vowels are lower-case.]
  2. Store the value into memory at location 0x800.
  3. Now, set the same register to contain a string of four blanks.
  4. Add the value 0x10101 to the value in memory at location 0x800.
  5. Fetch the (modified) value at memory location 0x800 into the highest-numbered programmable register.
  6. Perform an exclusive OR between these two registers, with the result going into register 7 (seven), and then store this result into memory location 0x400.
NOTE:

ALSO:

EXAMPLE:

!(This is an example of the STYLE to be used; the instructions are incorrect.)

    A:
        sethi    66666666,  %r0    ! register r32 is set to 0x12345678
        mov      ax, ds            ! 0x9999 is stored in [0x444]
    B:  ld       %sp, %r3          ! 0x8888 is stored in register 3
    C:
        ...


TAKE-HOME PREPARATION FOR THE FINAL EXAM

Prior to the final exam (in class, on Tuesday 5/19), be sure to UPLOAD this code to your folder at http://suffolk.li/ with the file name "final-xyz.asm" (where "xyz" are YOUR initials!)

For the in-class final, you will be asked to modify these instructions, and re-upload the result.
There will also be further questions about how the processor actually decodes and executes these instructions, using the "microarchitecture" (as described in chapter 5 of the textbook), as well as some questions on other topics.

You MAY use the ARC simulator for this take-home preparation.
(No simulator on Tuesday, but the in-class exam will be open-book & open-notes.)