Difference between revisions of "CSC270 Homework 7 2012"

From dftwiki3
Jump to: navigation, search
(Problem #3)
(Problem #3)
Line 26: Line 26:
 
         Y =  3 * ( a + b ) - ( c - 2 )
 
         Y =  3 * ( a + b ) - ( c - 2 )
  
 +
 +
 +
:where ''Y'', ''a'', ''b'', and ''c'' are byte variables.
 +
 +
* Assemble your code by hand.
 +
* Write the listing of your code in a format similar to the example below:
  
 
<source lang="asm">
 
<source lang="asm">
Line 42: Line 48:
 
</source>
 
</source>
  
 
+
* Make sure you include the opcodes on the left of the program, including the address for each instruction.
 
 
:where ''Y'', ''a'', ''b'', and ''c'' are byte variables.
 
 
 
* Assemble your code by hand.
 
* Write the listing of your code in a format similar to the example below:
 
 
 
 
 
 
<br />
 
<br />
 
<br /><br /><br /><br /><br /><br /><br /><br /><br /><br />
 
<br /><br /><br /><br /><br /><br /><br /><br /><br /><br />
 
<br /><br /><br /><br /><br /><br /><br /><br /><br /><br />
 
<br /><br /><br /><br /><br /><br /><br /><br /><br /><br />
 
[[Category:CSC270]][[Category:6811]][[Category:Homework]]
 
[[Category:CSC270]][[Category:6811]][[Category:Homework]]

Revision as of 12:54, 28 March 2012

--D. Thiebaut 13:43, 28 March 2012 (EDT)



This homework assignment is due on 4/4/12, at 1:00 p.m. You may work on this lab in teams of at most 2 people.


Problem #1

Disassemble the code you used to display your message. This requires looking up the op-codes and figuring out what instructions they correspond to, and write the whole program using mnemonics.

The reverse table found here will help you do the reverse engineering.

Problem #2

Using the same idea as the "Hacking" problem in the last lab (putting your name into the display of the kit), pick a message that you want to display, and hack the code you used in the lab to make it display your code.

Take a picture (or several pictures) of the display showing your message and include it/them with your answer

Problem #3

  • Write a program in 6800 Assembly Language that computes the quantity
        Y =  3 * ( a + b ) - ( c - 2 )


where Y, a, b, and c are byte variables.
  • Assemble your code by hand.
  • Write the listing of your code in a format similar to the example below:
       ORG   0000    ; specifies starting address 0000
 
       LDAA  a       ; get Mem[0000] in ACCA (direct addressing) 
       LDAB  b       ; get Mem[0001] in ACCB
       ABA           ; ACCA <- ACCA + ACCB
       STAA  c       ; Mem[0002] <- ACCA

       ORG  0010    ; specifies starting address 0

a      DB    2       ; 2 is stored at 0010
b      DB    3       ; 3 is stored at 0011
c      DB    ?       ;
  • Make sure you include the opcodes on the left of the program, including the address for each instruction.