Waived!

1 Write a program in MARIE assembly language to perform following code segment Test your code

(4 customer reviews)

$10.00

Download button will appear immediately after successful payment.

Full support will be provided with necessary files installation.

Get impeccable customized solution within 24 hours, hassle-free.

View Details
SKU: 4755 Category: Tags: , , , , , , , , , , , , , , , , , , , , , , , , ,
Solved By Verified
Study Co-Pilot All Study Co-Pilots are evaluated by Gotit Pro as an expert in their subject area.
Instant
Download

Description

1. Write a program in MARIE assembly language to perform the following code segment. Test your code thoroughly using the MARIE simulator with values of X=10, X=20, and X=30. What is the value stored in X and Y by the end of execution? Include comments for each line of instruction in your program (12 points).

X=10

Y=0

while X!=0 do

Y=X

X=X-1

endwhile

while X!=0 do

Y=X

X=X-1

endwhile

2. Consider the following program in MARIE assembly language. Complete the table detailing the RTN for the next 3 instructions only that will be executed including the content of registers PC, IR, MAR, MBR, and AC in hexadecimal. Note the first instruction LOAD X is already filled. Note also that the SKIPCOND instruction has no operands, therefore you can complete Fetch, decode and execute cycles only. Explain in one statement what this program is doing (14 points).

ORG 000

LOAD X ; AC = X

Repeat, ADD One ; AC = X + 1

SKIPCOND 000 ; if AC < 0 then PC = PC + 1 (skip)

JUMP End ; Go to End

STORE X ; X = AC

JUMP Repeat ; Go to Repeat

End, STORE X ; Stop (end of program)

This program is incrementing the value of X by 1 repeatedly until the value in AC becomes negative.

3. Assume a main memory has the following hex values in the first two bytes:

Byte 0: 8F

Byte 1: 0F

What is the actual decimal value stored in these bytes, assuming they are in 16-bit 2’s complement representation and the machine is using:

a) Big endian memory

b) Little endian memory (4 points)

a) In big endian memory, the byte order is reversed. So, the actual decimal value stored in these bytes would be -7.

b) In little endian memory, the byte order remains the same. So, the actual decimal value stored in these bytes would be 36655.

4. Consider the assembly program (in MARIE) below and the corresponding memory address for each instruction. Show the symbol table that will be constructed by the assembler after the first pass including the translated program, then fill in the final machine code produced by the assembler after the second pass. Fill in the given tables using HEX numbers for instructions and addresses. (10 points)

[Symbol Table]

LOAD 0100

ADD 0101

STORE 0110

SUBT 0111

JUMP 1000

Dec1 0001

[First Pass]

0100 LOAD X ; Load value at address X to AC

0101 ADD Y ; Add value at address Y to AC

0110 STORE Z ; Store value in AC to address Z

0111 SUBT X ; Subtract value at address X from AC

1000 JUMP Z ; Jump to address Z

[Second Pass]

0100 1005 ; Load X

0101 5006 ; Add Y

0110 210B ; Store Z

0111 1015 ; Subtract X

1000 4010 ; Jump Z


4 reviews for 1 Write a program in MARIE assembly language to perform following code segment Test your code

  1. David Presley

    Excellent, thank you! Got solution extremely fast, within minutes.

  2. Patrick Lorenz

    I have received phenomenal service that is consistent. The quality of work is A+ and the prices are very reasonable.

  3. Judie Hoffman

    Very well written and finished ahead of schedule!

  4. Gordon Benton

    Second time coming to this website for a paper and it worked out great.

Only logged in customers who have purchased this product may leave a review.


You may also like…

Patron Details

Additional information

Your Solution

Product
Quantity
Total
Cart Subtotal $0.00
Order Total $0.00

  • Pay with your credit card.