Answered step by step
Verified Expert Solution
Question
1 Approved Answer
CAN YOU PLEASE ANSWER AND ONE OR TWO OF THESE NOT ALL OF THEM PLEASE Write ARM7 assembly programs to solve 5 of the problems
CAN YOU PLEASE ANSWER AND ONE OR TWO OF THESE NOT ALL OF THEM PLEASE
Write ARM7 assembly programs to solve 5 of the problems listed below - use the VisUAL ARM Emulator as discussed in class and use the program shell from Find8.s as a starting point for each program 1. Write a program called SUB64 to subtract the 64-bit integer in memory locations 0x0150 from the 64- bit integer in 0x0160. Store the result in memory location 0x0170 2. Write a program called COMBINE that combines the low-order nibbles ofthe four bytes in memory locations 0x0150, 0x0154, 0x0158, and 0x015C into a single 16-bit word. The nibbles should be ordered low-to-high in the result beginning with the data from location 0x0150. Store the result as 16-bits in memory location 0x0160 4. Write a program called LSHIFT to shift logically the 32-bit contents of memory location 0x0150 left according to the 8-bit shift count stored in memory location 0x0154 and store the results at memory address 0x0158 5. Write a program called FIND32 to find the largest unsigned 32-bit word in a list. The list begins at address 0x0160. The length of the list is stored in an 8-bit variable at address 0x0150. Store the largest entry in memory location 0x0154 6. Write a program called SCAN to scan a list of unsigned bytes and find the smallest and largest entries in the list. The length of the list is stored in a 16-bit variable at address 0x0158. The list begins at address 0x0160. Store the smallest byte at address 0x0150 and the largest byte at address 0x0154 7. Write a program called COUNT to count the number of characters in a null-terminated ASCII string that are equal to a KEY. The KEY is stored in memory location 0x0150. The string is stored in memory beginning at address 0x0160. Store the 8-bit count in memory location 0x0154 8. Write a program called ONES to determine the number of bits equal to one in a 32-bit variable. The 32- bit variable is in memory location 0x0154. Store the 8-bit counter in memory location 0x0150.] 9. Write a program called UNPACK to convert the 16-bit BCD variable in memory locations 0x0150 and 0x0151 to four ASCII characters with the high-order digit first, beginning in memory location 0x0154 NOTE: for 10 write a short program which will load the required data into registers and then branch with link to the subroutine, then after calling the subroutine then branch to END 10. Write a subroutine called REPLACE that processes a null-terminated string of decimal characters and replaces leading zeros with spaces. Pass the 32-bit address of the beginning of the string to the subroutine in register R0Step by Step Solution
There are 3 Steps involved in it
Step: 1
Get Instant Access to Expert-Tailored Solutions
See step-by-step solutions with expert insights and AI powered tools for academic success
Step: 2
Step: 3
Ace Your Homework with AI
Get the answers you need in no time with our AI-driven, step-by-step assistance
Get Started