I need help with ARM assembly program :
Using the following code as basic :

1 ) Write a program code that is able to calculate the following : Result = A + ( B * C ) - D
Place the result as the return value so you can print it afterwards in the command prompt.
2) This time, use MLA instruction to reduce the number of instructions in question 1.
Place the result as the return value so you can print it afterwards in the command prompt.
- I need to save two questions in separate .s file. ( Please use the given source to complete ).
Thank you very much.
1.
A : DB 1
B : DB 2
C : DB 3
D : DB 4
Result : DB ?
.global _start:
_start :
mov r0, B
mul r0,r0,C
sub r0,r0,D
add r0,r0,A
mov Result, r0
mov r7,#1
SWI 0
2.
A : DB 1
B : DB 2
C : DB 3
D : DB 4
Result : DB ?
.global _start :
_start :
mov r0, A
mov r1,B
mov r2,C
mla r0, r1, r2, r10
sub r0,D
mov Result, r0
mov r7,#1
swi 0
I need help with ARM assembly program : Using the following code as basic : 1...
Find out what the following assembly code calculates AREA my code, CODE EXPORT main ALIGN ENTRY main PROC MOVS MOVS MOVS r0,#0 r1,#15 r2,#0 loop CMP BGT MLA ADDS r2,r1 stop re,r2,r2,ro r2,r2,#1 loop % The final result is saved in register r0 stop B stop ENDP END
Modify the ARMSIM program to do the following: 1) output the square sum of the data 2) output the sum of all negatives and positives separately .text @ Direvtive .global _start @ declare global begining _start: LDR R1,=idx @ content of idx is length of Vec and now R1 is a counter. LDR R1,[R1] @ R1 is now the length of Vec. read inderectly LDR R2,=Vec @ R2 is the address of first element of vector MOV...
Arm Assembly Programming : Total of 3 assembly files using VisUAL arm emulator ( save as .S file) 1. Write a program to solve the below expression: Z= (a << 2) | (c & 15) 2. Write a program that adds the 32-bit two’s complement representations of −149 and 5 . Place the result in register r7. Submit your code with the resulting value in register r7 commented. 3. Write a program to mask first 9 bits of a...
Section B - ARM Assembly Language (25 marks) An ARM instruction set summary is provided at the end of this paper 1. (5 marks) Consider the following assembly instruction STMFD r13!, (r5-6} Before executing this instruction, registers hold the following values: Register Value Register r9 Value r4 0x00400040 0x00000000 r5 r10 0x11223344 0x00800080 r6 0x55667788 r11 0x10001000 r7 0x99aabbcc r12 0x20002000 r8 exddeeff00 r13 ex40004000 What memory locations are affected after executing the above instruction? In a table, with a...
indicate what each line of code means
2. Explain how the following ARM program can be used to determine whether a computer is big- endian or little-endian: MOV R0, #100 LDR R1, -0xABCD876 STR R1, [RO] LDRB R2, [R0, #1] R1-0xABCD876
Assembly lang multiple choice Suppose we have the following pseudo-instruction in our program: push {r0, r2, r4} ..... Which of the following instructions would be the appropriate instruction to use when cleaning up the stack space used by the three register values that were pushed onto the stack? Group of answer choices sub sp, #12 add sp, #12 add lr, #12 2) Suppose we are comparing registers R1 and R2 and we want to branch if equal to the label...
Convert the following assembly language program into a C
program:
*Update: The variables are initialized, in lines 4 & 6 of
the red assembly language code.
Convert the following assembly language program into a C program: *Update: The variables are initialized, in lines 4 & 6 of the red assembly language code. include "p24Hxxxx.inc" global__reset bss: Uninitialized data section: Variables start at location 0x0800 x: .space 2: Allocating space (two bytes) to variable. y: .space 2;Allocating space (two bytes) to...
Assignment 4: Answer the following questions with reference to the assembly program below. Before the code is executed, the initial content of memory and registers is shown in the figure below memory 0x01 0x02 0x03 0x04 0x05 0x06 0x07 0x08 address Use BIG ENDIAN, and 0x2000.0000 0x2000.0001 0x2000.0002 show all steps register 0x2000.0000RO Ox2000.0003 0x2000.0004 0x2000.0005 0xFFFF.FFFF R2 ox2000.0006 0x1234.5678 R3 0x2000.0007 Ox0000.0000 R1 LDRH R1, [R0 , #2]! LDRH R2 , [R0 , #2)! ADD R3, R1, R2 STR...
Write a program in ARM assembly using ARMSim# to perform the following tasks: 1. Open a file named "integers.dat" and keep track of the following information: a.The first integer value is (i) b. The ith integer value is (j) c. Count the total number of integers in the file d. Count the number of integers that are less than j e. Count how many even numbers are less than j f. And how many odd numbers are less than j...
ASSEMBLY LANGUAGE
Write a program using author's routine, WriteString, to print
"Hello World". This routine will output to the screen any character
data pointed to by the EDX register. It will continue to print
until it runs into the null character (zero). We need only to move
the address into the EDX register and calll his routine. Lookup in
the ASCII code chart the value reqresented by CR and LF. In the
program I will define these values using the...