Question: Need help with coding assignment in uVision using ARM Assembly: Have a read - only array of eight bytes named Unpacked and a read /

Need help with coding assignment in uVision using ARM Assembly:
Have a read-only array of eight bytes named Unpacked and a read/write integer named Packed. We'll be condensing the Unpacked array into a single integer called Packed where the four most significant bits (bits 31,30,29,28) represent the first
value in Unpacked, the next four bits (bits 27,26,25,24) represent the second value in Unpacked, etc., down to the four least significant bits (3,2,1,0) representing the
final/eighth value in the Unpacked array.
You'll achieve this by looping through the Unpacked array and placing the lower four bits of each of the byte values into register three (r3) based upon the following
criteria:
If the byte value is between decimal zero and nine, inclusive, just use the
lowest four bits
If the byte value is anything else, use 0xF (2_1111) to represent it in r3
Each time through the loop, you'll need to shift r3 to make room for the "new" four
bits you'll be adding.
Once the looping is completed, store r3 as the Packed integer value.
Below are some example Unpacked arrays and their corresponding Packed integers.
Unpacked dcb 9,8,7,6,5,4,3,2
; Packed will be 0x98765432
Unpacked dcb 3,2,1,0,12,5,6,9
; Packed will be 0x3210F569
Unpacked dcb 4,13,7,8,10,2,9,-3
; Packed will be 0x4F78F29F
 Need help with coding assignment in uVision using ARM Assembly: Have

Step by Step Solution

There are 3 Steps involved in it

1 Expert Approved Answer
Step: 1 Unlock blur-text-image
Question Has Been Solved by an Expert!

Get step-by-step solutions from verified subject matter experts

Step: 2 Unlock
Step: 3 Unlock

Students Have Also Explored These Related Databases Questions!