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 last 3 digits of your Student ID (0 to 255) or last 2 digits of your Student ID (if last 3-digits of Student ID > 255), then the addition of the data in R1, R2 should be performed and after that return and resume application task. (4) If the SVC number is not your Student ID (3 or 2 digits), then return and resume application task. Give suitable screen shots of the KEIL IDE-in debug mode to demonstrate the desired outputs. Ensure that the screenshot captures system time & day.
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 last 3 digits of your Student ID (0 to 255) or last 2 digits of your Student ID (if last 3-digits of Student ID > 255), then the addition of the data in R1, R2 should be performed and after that return and resume application task.
(4) If the SVC number is not your Student ID (3 or 2 digits), then return and resume application task.
Give suitable screen shots of the KEIL IDE-in debug mode to demonstrate the desired outputs. Ensure that the screenshot captures system time & day.
Below Program can be used (basic skeleton)as below to perform the above conditions .
AREA RESET, CODE, READONLY
in DCD 0x20000100,0x8000005D, 0,0,0,0,0,0,0,0,0,SVC_handler+1,0,0,0,0,0,0,0,0,0,0,0
ENTRY
MAIN LDR R1,=0X20000200
MSR PSP,R1
MOV R0,#3
MSR CONTROL,R0
LDR R7,=SRC
LDR R1,[R7],#4
LDR R2,[R7]
LDR R8,=DST
SVC 0x20
STOP B STOP
SVC_handler push {lr}
;Write logic here
pop {pc}
SRC DCD 0X30 ,0X20
AREA RES ,DATA, READWRITE
DST DCD 0,0
END
Please explain code step by step to perform the above questions.
Step by step
Solved in 3 steps