Question

In this assignment, try to understand the assembly code instructions addv1.sim1. In #addv1.sim1 using only one...

In this assignment, try to understand the assembly code instructions addv1.sim1. In #addv1.sim1 using only one acc register, addition of two numbers have been done.

For the assignment, you need to write assembly code, whose corresponding c code is as followings.

int a = 0;

int b = 5;

int c = 10;

a = (b*2)^c + c;

exit(0);

Only operations that are allowed is to use add, load, store, shift, and xor.

addv1.sim1(txt file)

#addv1.sim1   Add contents twice 005, xor with 008 store sum in 006

#MACHINE LANGUAGE         ASSEMBLY LANGUAGE                   HIGH LEVEL LANGUAGE

000 1011                            start:       ld b                                                       a = b+c;

001 3012                                          add c

002 2010                                          st a

003 0000                                        halt                                                        exit(0);

010 0000                               a:      .word 0                                                    int a = 0;

011 0005                               b:      .word 5                                            int b = 5;

012 0010                              c:       .word 10                                                  int c = 10;

000                                                 .end start

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

Assembly Language

start: a: .word 0

b: .word 5

c: .word 10

ld b

add b

xor c

add c

st a

halt

.end start

Add a comment
Know the answer?
Add Answer to:
In this assignment, try to understand the assembly code instructions addv1.sim1. In #addv1.sim1 using only one...
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
  • B2. Convert the C code to MIPS assembly with only 2 efficient instructions: Register assignment: ...

    B2. Convert the C code to MIPS assembly with only 2 efficient instructions: Register assignment: timer-v0 int timer = 0x0AC8 0001; B3. Write MIPS assembly code segment for the following C code snippet for (i - 0, i < 100; i++) -array Register assignment: i-) $ao Base of array -> $s0 array [ i+1] [i] / 2; B2. Convert the C code to MIPS assembly with only 2 efficient instructions: Register assignment: timer-v0 int timer = 0x0AC8 0001; B3. Write...

  • I need my c++ code converted to MASM (assembly language). The instructions below: write an assembly...

    I need my c++ code converted to MASM (assembly language). The instructions below: write an assembly program that does the following; 1. count and display the number of words in the user input string. 2. Flip the case of each character from upper to lower or lower to upper. For example if the user types in:   "Hello thEre. How aRe yOu?" Your output should be: The number of words in the input string is: 5 The output string is : hELLO...

  • All solutions must have both code and data segments Write a sequence of assembly language instructions...

    All solutions must have both code and data segments Write a sequence of assembly language instructions to subtract each entry of an array B of five two’s complement 16-bit binary integers from the corresponding entry of an array A of five two’s complement 16-bit binary integers and construct a third array C of two’s complement 16-bit binary integers. i.e. C[i] = A[i] - B[i]. Use the following data for the arrays A and B.             A: 10, -15, 20, 4,...

  • Op-code Operand   Description 1    RXY       LOAD register R from cell XY 2    RXY       LOAD register R with value XY 3    RXY       STORE register R in cell XY 4    0RS       MOVE R to S 5    RS...

    Op-code Operand   Description 1    RXY       LOAD register R from cell XY 2    RXY       LOAD register R with value XY 3    RXY       STORE register R in cell XY 4    0RS       MOVE R to S 5    RST       ADD S and T into R (2’s comp.) 6    RST       ADD S and T into R (floating pt.) 7    RST       OR S and T into R 8    RST       AND S and T into R 9    RST       XOR S and T into R A    R0X       ROTATE...

  • (2+2+1 5 points) Problem 10.1: simple cpu machine code = The following program has been written...

    (2+2+1 5 points) Problem 10.1: simple cpu machine code = The following program has been written for the simple central processing unit introduced in class. The table below shows the initial content of the 16 memory cells. The first column denotes the memory address. Machine Code Assembly Code Description 001 1 0001 0 010 0 1111 1 001 1 0000 3 101 1 0100 110 1 0110 4 111 1 0000 5 6 001 0 001 1 100 1 0001...

  • 1. Assume that you are given values in eax, ebx, ecx. Write an assembly code that...

    1. Assume that you are given values in eax, ebx, ecx. Write an assembly code that does the following: eax = (ecx + edx ) - (eax + ebx) 2. Write a piece of code that copies the number inside al to ch. Example: Assume that Initially eax = 0x15DBCB19. At the end of your code ecx = 0x00001900. Your code must be as efficient as possible. 3. You are given eax = 0x5. Write one line of code in...

  • Finish the MARIE assembly language code below to determine the largest integer, the smallest integer, and...

    Finish the MARIE assembly language code below to determine the largest integer, the smallest integer, and the sum of integers for a sequence of 5 signed integers. The program already calculates the largest integer, just need it to calculate the smallest integer and the sum of the integers. The 5 integers should first be entered by the user via the input device. Your program is then assembled and run to determine the largest integer, the smallest integer, and the sum...

  • Implement the following statements using MS430 assembly instructions. You may use more than one, ...

    Implement the following statements using MS430 assembly instructions. You may use more than one, but you should minimize the number of instructions required. You can use both native and emulated instructions. Use hex notation for all numbers 1. (a) Move the word located in register R14 to R15 (b) Increment the word in R6 by 2. (c) Perform a bitwise ANDing of the word located at address 0x0240 with the datum in R15, placing the results in R15. (d) Rotate...

  • This assignment is designed to introduce you to using memory, input/output syscalls and if statements a....

    This assignment is designed to introduce you to using memory, input/output syscalls and if statements a. Open the text editor and type in the following. Then save your work as “assign3.asm”. Note that there are 3 words of memory indicated that start at the address 0x10010000. Do not use labels in the data segment. .data .word 0 .word 0 .word 0 .globl main .text main: b. Add the following zero terminated ascii strings (.asciiz) to the data segment right above...

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

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

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