Question: I asked below question earlier got response from team, but while excuting below instruction getting error65, i.e memory not accessible, Please provide other logic to

I asked below question earlier got response from team, but while excuting below instruction getting error65, i.e memory not accessible, Please provide other logic to check SVC number and use CMP instead TST.

; Check SVC number LDR R0, [LR, #-4] TST R0, #0xFF

Write an ALP program for ARM Cortex M3/4 to perform the following (1) SVC is to be called from an application task running at Thread unprivileged mode. (2) Two parameters are passed to the handler via R1, R2. (3) If the SVC number is 0x20, then the addition of the data in R1,R2 should be performed (4) Return and resume application task

; Start of program AREA MyCode, CODE, READONLY

; Define the SVC handler function SVC_Handler ; Save context of the interrupted task PUSH {LR}

; Check SVC number LDR R0, [LR, #-4] TST R0, #0xFF BEQ perform_addition

; SVC not handled B .

perform_addition ; Get parameters from R1 and R2 LDR R1, [R1] LDR R2, [R2]

; Perform addition ADD R0, R1, R2

; Return result MOV R1, R0

; Restore context and return from interrupt POP {PC}

; Define the main function MAIN ; Call SVC with number 0x20 and parameters in R1 and R2 MOV R0, #0x20 MOV R1, #10 MOV R2, #20 SVC #0

; End of program

END

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!