Difference between revisions of "CSC270 Homework 7 2012"
(→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. | |
− | |||
− | |||
− | |||
− | * | ||
− | |||
− | |||
− | |||
<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.