Answered step by step
Verified Expert Solution
Link Copied!

Question

1 Approved Answer

Address Hexadecimal ASCII ===== =========== ===== === 0 200003 JUMP 3 1 6 6 2 1 1 3 a02001 LOAD @1 4 b88001 STORE BX

Address Hexadecimal ASCII
===== =========== ===== ===
0 200003 JUMP 3
1 6 6
2 1 1
3 a02001 LOAD @1
4 b88001 STORE BX
5 c02002 SUB @2
6 2b000c JZ 12
7 b88006 STORE CX
8 f08001 MUL BX
9 b88001 STORE BX
10 a08006 LOAD CX
11 200005 JMP 5
12 10000 HLT

(0) address starts at 0x2000, but PC=3 (address 0x2003)
(1) stack 1 (@1) has value 6
(2) stack 2 (@2) has value 1
(3) command load (0xa0) from 0x2001 to register AX (AX=6), PC=4 (address 0x2004)
(4) command store (0xb8) the value in 0x2001 to register BX at 0x8001 (BX=6), PC=5(address 0x2005)
(5) command substract (0xc0) the value 1 in 0x2002 from the register AX, PC=6 (address 0x2006)
(6) command jump (0x2b) to 0xC=12 if the result in AX is zero, PC=7 (address 0x2007)
(7) command store (0xb8) the value into register CX at 0x8006 (CX=5), PC=8 (address 0x2008)
(8) command mul (0xf0) the value of register AX by the value in register Bx at 0x8001, AX=5*6=30, PC=9 (address 0x2009)
(9) command store (0xb8) the value of register AX in register BX at 0x8001 (Bx=30),
PC=10 (address 0x200a)
(10) command load (0xa0) the value in register CX at 0x8006 to register AX(AX=CX=5),
PC=11 (address 0x200b)
(11) command jump (0x20) to address 0x5 (0x2005), PC=5 (address 0x2005)
(12) command halt (0x1) is exit. The program looped 6 times to exit.

When exit, AX=0, BX=720, CX=1, DX=0, PC=12,
CA = SI= OV = 0, ZE = EV = 1

Q1. Click menu , then select . Use this function to step through the assembly code.
After the statement in address 11 is first executed, what are the value of registers AX, BX, CX,
DX, and PC? Explain the function of AX, BX, CX, DX, and PC.

Q2. After statement 11 is first executed, what is the next statement to be executed? Can you tell
what is statements 5 through 11 is doing in a simple statement?

Q3: How many times the statements 5 through 11 were executed before the statement 12 is executed?
How can you tell, if you don't step through it? Which register or memory location that you
can determine the value without stepping through all codes till exit?

Q4: Bonus: Convert the assembly code to any high-level language, such as C, C++, Java, Python.

Step by Step Solution

There are 3 Steps involved in it

Step: 1

Answer for Q1 After the statement in address 11 is first executed the values of registers AX BX CX DX and PC will be AX The value becomes 5 At address 11 a08006 the LOAD CX command is executed which m... blur-text-image

Get Instant Access to Expert-Tailored Solutions

See step-by-step solutions with expert insights and AI powered tools for academic success

Step: 2

blur-text-image

Step: 3

blur-text-image

Ace Your Homework with AI

Get the answers you need in no time with our AI-driven, step-by-step assistance

Get Started

Recommended Textbook for

Linear Algebra A Modern Introduction

Authors: David Poole

3rd edition

9781133169574 , 978-0538735452

More Books

Students also viewed these Programming questions

Question

Show that if A is any m n matrix, then Im A = A and AIn = A.

Answered: 1 week ago

Question

Which of the codes are linear codes? |C = 0_

Answered: 1 week ago