Problem: On an ARM processor using big endian format, given the following memory map and [R1] = 0xA10E0C2D, [R2] = 0x00000060, [R3] = 0x00000002, [R4] = 0x0000000C, predict [R1] and [R2] and draw the updated memory map after an ARM data transfer instruction is executed in EACH case. (hint: (1) in this map, each memory location is a word long and occupies 4 bytes; also you only need to draw the section of the memory including the changed word and its address; (2) these instructions are NOT executed one after the other one; instead, each instruction starts with the initial conditions given in the statement.)
0x6C [0x78092A7B]
0x68 [0x56AB8CEF]
0x64 [0x3490AB02]
0x60 [0x902E8C9A]
Instruction:
STR R1, [R2, R3, LSL #2]
Given that [R1] = 0xA10E0C2D, [R2] = 0x00000060, [R3] = 0x00000002, [R4] = 0x0000000C
Given that the processor executes in Big Endian format (MSB is
stored in the lowest address location), Therefore the address
location along with the value is given as follows
0x60 = 0x90
0x61 = 0x2E
0x62 = 0x8C
0x63 = 0x9A
0x64 = 0x34
0x65 = 0x90
0x66 = 0xAB
0x67 = 0x02
0x68 = 0x56
0x69 = 0xAB
0x6A = 0x8C
0x6B = 0xEF
0x6C = 0x78
0x6D = 0x09
0x6E = 0x2A
0x6F = 0x7B
STR R1, [R2, R3, LSL #2]
store R1 in the address given by R2+R3*4(LSL 2 will perform
multiply 4 to the valuve in register)
After this instruction is executed
R1 = 0xA10E0C2D(Value unchanged)
R2 = 0x00000060(Value unchanged)
R3 = 0x00000002(Value unchanged)
[R2, R3, LSL #2] = [0x60+ 0x02*4] = [0x68]
value in address locations
0x60 = 0x90(Value unchanged)
0x61 = 0x2E(Value unchanged)
0x62 = 0x8C(Value unchanged)
0x63 = 0x9A(Value unchanged)
0x64 = 0x34(Value unchanged)
0x65 = 0x90(Value unchanged)
0x66 = 0xAB(Value unchanged)
0x67 = 0x02(Value unchanged)
0x68 = 0xA1(Value Changed)
0x69 = 0x0E(Value Changed)
0x6A = 0x0C(Value Changed)
0x6B = 0x2D(Value Changed)
0x6C = 0x78(Value unchanged)
0x6D = 0x09(Value unchanged)
0x6E = 0x2A(Value unchanged)
0x6F = 0x7B(Value unchanged)
Problem: On an ARM processor using big endian format, given the following memory map and [R1]...
Problem: On an ARM processor using big endian format, given the following memory map and [R1] = 0xA10E0C2D, [R2] = 0x00000060, [R3] = 0x00000002, [R4] = 0x0000000C, predict [R1] and [R2] and draw the updated memory map after an ARM data transfer instruction is executed in EACH case. (hint: (1) in this map, each memory location is a word long and occupies 4 bytes; also you only need to draw the section of the memory including the changed word and...
Problem: On an ARM processor using big endian format, given the following memory map and [R1] = 0xA10E0C2D, [R2] = 0x00000060, [R3] = 0x00000002, [R4] = 0x0000000C, predict [R1] and [R2] and draw the updated memory map after an ARM data transfer instruction is executed in EACH case. (hint: (1) in this map, each memory location is a word long and occupies 4 bytes; also you only need to draw the section of the memory including the changed word and...
Question 3: ARM Processor a) What is the number of bits in a general-purpose register (e.g., R1) of the ARM Cortex-M4 processor (CPU)? b) What is the number of bits in a memory address for the ARM processor architecture? c) What is the number of bits in an assembly instruction for the ARM Thumb-2 instruction set? d) Consider the memory map used with the TM4C123 microcontroller shown below. If the stack is in data memory, what is the initial address...
Given the memory map shown at the right, determine the contents of r4, r5, r13, and r14 after the following ARM assembly language instruction has executed. Indicate all changes to the memory map after the program is complete. Assume that r4, r5, r13, and r14 initially contain 0x00008A09, 0x00000017, 0xFFFFFEC8, and 0x00008EOC respectively. Address xFFFFFED4 0xFFFFFEDO 0xFFFFFECC 0xFFFFFEC8 0xFFFFFEC4 0xFFFFFECO 0xFFFFFEBC 0xFFFFFEB8 Contents 0x809A6004 OxA2930001 0x60BEF82A 0xE1560418 OxFFFFFFFF 0xEF800841 0x00000002 0x8A098E9C STMFD sp!, (r5, r4, r14) 0xFFFFFEB8 0xFFFFFEBE Given the...
ARM assembly language Write the final updated values for each memory and register after the given instruction executes in the space provided.There are multiple parts of this problem. Note Only write the change values if the values didn't change. Leave the updated cell blank. please explain (as simple as possible ) whats going on after the given command is executed . Q.5.4 Bring to class LSL R6, R6, #3 Updated Data Updated Data Memory Address Ox84F0 Ox 841 Ox84F2 Ox843...
Given the big-endian instruction memory map shown below in (b), and the initial values $t1 0XE7eeeADD, $s5 = 0x80000010 . We execute the following instructions: lw $t1, 12($s5) andi $t1, $t1, 0x3E0000A9 sra $s5, $s5, 3 addi $se, $s5, 2 sw $t1, -4($s0) Answer the following questions: (a) What values are contained in $se and sti after executing the above instructions? Write your answers in Hex format. Given the big-endian instruction memory map shown below in (b), and the initial...
Compute the correct CPU computations and actions. Write the final updated values for each memory, register and flags after the given instruction executes in the space provided. There are multiple parts of this problem. Endianness: Check for endianness in case of loads and stores, in each part of the question. If the question does not specify the endianness, you can assume little-endian. MOVT R3, #OxBD34 Orig. Updated Data Updated Data R6 Memory Address Ox84F0 0x84F1 0x8452 Ox84F3 Ox8454 Ox84F5 Ox84F6...
1.) a.) Using the simplified instruction set shown for part b, write code for the following. Suppose memory locations 1400 to 1449 contain 16-bit words. Each word represents 2 ASCII characters. Write code to read in and write out these 100 characters. Left-side character from location 1400 should be first, right-side character from location 1400 should be second, and remaining characters follow in numeric order. Assume you have access to 4 registers: R1, R2, R3, R4. Each register holds one...