Difference between revisions of "CSC270 Homework 7 2016"

From dftwiki3
Jump to: navigation, search
Line 2: Line 2:
 
----
 
----
  
<center>
+
 
<font size="+2">Page under construction!</font>
 
</center>
 
<P>
 
[[File:UnderConstruction.jpg|center|300px]]
 
 
<br />
 
<br />
 
<bluebox>
 
<bluebox>

Revision as of 13:13, 22 March 2016

--D. Thiebaut (talk) 07:10, 22 March 2016 (EDT)




This homework is due on 3/31, at 11:55 p.m. You can work on this assignment in pairs. Submit your answers as a pdf on Moodle, in the Homework 7 section.




Problem 1: Reverse Engineering


  • Reconstruct the 6800 program for which we have listed the hexadecimal code below. Each group of 2 digits represents a byte of memory. The first four bytes are stored starting at Address 0000. The next 24 bytes start at Address 0006. The ? character indicate an unknown value.
0000 03 04 ?? ??
0006 96 01 91 02 2F 09 97 03 D6 02 D7 04 7E 00 1B 97 04 D6 02 D7 03 7E 00 06
  • Write the original assembly language program that was assembled to generate these bytes. Document each instruction or group of logical instructions.
  • Indicate in the header of the program what the program computes. In other words, what ends up in the variables that are not initialized when the program starts?
  • Assuming that the clock of the 6811 is 1 MHz, i.e. that 1 cycle lasts 1 uS, how long does a loop last?
  • How many loops will this 1 MHz 6811 execute in 1 second.
  • Sketch the same program in Pentium assembly language. Assuming that the Pentium runs at 3 GHz, and executes 1 instruction per cycle (because the pipelining in the pentium overlaps the multiple cycles taken by each instruction), how many similar loops would the Pentium execute in 1 second?