Question: 5. (20) Write an ARM assembly language code segment that will input a four-bit binary variable x. Use port B for your input port. This

 5. (20) Write an ARM assembly language code segment that will

5. (20) Write an ARM assembly language code segment that will input a four-bit binary variable x. Use port B for your input port. This variable is associated with the first four bits of the port (low nibble, bits 0-3); whereas the other four (high nibble, bits 4-7) are unaccounted for and will therefore be allowed to float. You must account for this in your code. Once the port is read and masked appropriately it will then pass this value into a function that multiplies this variable, x by 10 (decimal) using shifts and adds or subtracts (and not the MUL or UMULL instructions.) Following the computation it will output the binary result to the 8-bit port C. The program will continuously monitor (poll) the input port and update the output port accordingly. Write a flow chart and assembly language program using indiredt addressing mode instructions (pointers) for input and output, and available arithmetic instructions to solve the problem. You do not need to set up the ports (DDR, Clock, etc.); simply use them as you can assume that they have been taken care of beforehand using a device driver routine. You should refer to the 8-bit ports as PORTB and PORTC in your program

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!