It seems the toughest part of the second programming assignment is to take Bits [15:8] and get them into Bits [7:0} and then sign extend that value. I have seen a number of "different" algorithms in the last couple of days that are really cumbersome. No matter; as long as it works. I will leave it to 312 to teach you programming methodology. I thought I would give you a couple of hints relative to this "toughest" part, one for each of two ways to solve the problem. Hint for way #1: If the value is in R3[15:8], and you execute the instruction ADD R4,R3,#0, are you then able to tell me the value of any of the eight bits in R3[15:8]? Second, how can you exploit that information to get the value in R2[7:0], for example. Hint for way #2: You want to move R3[15:8] into R2[7:0]. What should the value of bit R2[3:3] be, a 0 or a 1? How can you figure that out? Enough. Feel free to use one of these hints or not, as you wish. Good luck. Yale Patt