Question

I need help with ARM assembly program :

Using the following code as basic :

@ File: labe.s global start start: MOV R0, #1 MOV R1, #4 ADD Re, Re, R1 @Moves the constant 1 to the Register Re @ Moves the constant 4 to the Register R1 a The lines below exit the code back to the command line prompt @ Register R7 holds the System call number @ Syscal1 #1 indicates exit @Moves the constant 1 to the Register R7 MOV R7, #1 SWI e Executes Software Interrupt determined by R7

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.

0 0
Add a comment Improve this question Transcribed image text
Answer #1

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

Add a comment
Know the answer?
Add Answer to:
I need help with ARM assembly program : Using the following code as basic : 1...
Your Answer:

Post as a guest

Your Name:

What's your source?

Earn Coins

Coins can be redeemed for fabulous gifts.

Not the answer you're looking for? Ask your own homework help question. Our experts will answer your question WITHIN MINUTES for Free.
Similar Homework Help Questions
  • Find out what the following assembly code calculates AREA my code, CODE EXPORT main ALIGN ENTRY...

    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...

    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...

    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...

    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...

    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,...

    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...

    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...

    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...

    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...

    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...

ADVERTISEMENT
Free Homework Help App
Download From Google Play
Scan Your Homework
to Get Instant Free Answers
Need Online Homework Help?
Ask a Question
Get Answers For Free
Most questions answered within 3 hours.
ADVERTISEMENT
ADVERTISEMENT