Search for question
Question

3.You have been asked to design an Assembly language program for the ARM Cortex M0 using a big endian configuration. Assuming that the value held in register r15 is 0×0000800A

and the following memory locations hold the following values: Write the Assembly language program with the following functions: a) Perform the addition of the values +11.210 and -112.510. b) Store the value -351 10 into the memory location which address is identified by the value 0x00000060. c) Perform the rotate rightwards of -4,09610 by 11 bits. d) Load in a register a half-word from the memory location which address is identified by the value 0x00000060 and make the resulting value in little endian. For each instruction you are required to provide: *the procedure to calculate the initial value(s), if any. *the procedure to calculate the result value after the instruction is executed. *the status of the modified register(s) before and after the execution of the instruction. *the status of the memory, if it changes. You can assume that, at the beginning of the execution of the Assembly language program, initial value(s), if any, are pre-loaded in the register(s) used.

Fig: 1

Fig: 2

Fig: 3

Fig: 4

Fig: 5

Fig: 6

Fig: 7

Fig: 8

Fig: 9

Fig: 10