assignment itech 1000

profilesaifu3446

   

ITEC 1000 Assignment #2

Total = 100 marks (Solutions);

· 5 marks file name and general format

Instructions:

· All questions are based on Englander -- Chapters 6 & 7.

· Use a word processor (if you use a non-MS WORD compatible program, e.g., Pages, save as PDF or RTF).

· Both questions and answers must be appropriately formatted (including tables) and well presented with enough explanation.

· Be sure to name the file as your full name in the following format (lowercase), e.g., peggy_carter.docx

· Submit via the upload link provided at the course site any time before or by the deadline, March 26, 11 PM (sharp); late submissions will not be accepted.

· Apply the LMC instruction set below to answer relevant questions.

  

LMC Instruction Set Instruction


Mnemonic


Numeric Code

 

Load


LDA


5xx

 

Store


STO


3xx

 

Add


ADD


1xx

 

Subtract


SUB


2xx

 

Input


IN


901

 

Output


OUT


902

 

End


HLT


000

 

Branch/Jump


BR


6xx

 

Branch if   zero


BRZ


7xx

 

Branch if   zero or positive


BRP


8xx

 

Data storage


DAT


xxx

   

1. Trace the program below and summarize what the program does; not a step-by-step description of each instruction. [5 marks]

  

Address / Mailbox #


Assembly / Mnemonic


Numeric   Code

 

00


IN


901

 

01


STO 90


390

 

02


IN


901

 

03


STO 91


391

 

04


LDA 90


590

 

05


OUT


902

 

06


LDA 91


591

 

07


OUT


902

 

08


HLT


000

 



 

90


DAT 0


000

 

91


DAT 0


000

2. Complete the table below to construct an LMC program that will accept a set of three numbers as INPUT and then add the first two numbers and output the answer, then subtract the first number from the third and output the answer. The program begins at address 00 and data is stored in address 90. [20 marks]

  

Mailbox #


Mnemonic


Numeric code


Instruction Description

 

00


IN


901


Input first number

 

01




 




 




 




 




 




 




 




 




 




   

3. Complete the table below and construct an LMC program that will accept a number INPUT and OUTPUT a sequence of numbers, starting at 1 and finishing with the INPUT (maxNumber). The counter must be initialized to zero each time the program is run. The program will continue (loop) until a 0 is entered. [20 marks]

  

Mailbox #


Mnemonic


Numeric code


Instruction Description

 

00




load zero (from 93) to the accumulator

 

01




Store the initial count

 

02




input

 

03




If zero, branch to halt

 

04




Store maxNumber

 

05




LoopTop load count

 

06




Add step to counter

 

07




Store count

 

08




Output

 

09




Subtract maxNumber

 

10




If positive, endLoop

 

11




Jumpt to loopTop

 

12




endLoop jump to start

 

13




Halt execution

 




 

90




step DAT 1

 

91




maxNumber DAT

 

92




count DAT

 

93




zero DAT

   

4. Complete the table below to construct an LMC program that will accept two INPUT numbers and then OUTPUT the greater of the two. The program should begin at address 00 and data should be stored in addresses beginning at 90. [25 marks]

  

Mailbox #


Mnemonic


Numeric code


Instruction Description

 




 




 




 




 




 




 




 




 




 




 




 




 




 




 




5. Consider the LMC program below in which 2 numbers are entered and added. Suppose the first input entry was stored in mailbox location 00.

a. Would the program have produced the same result?

b. What would have happened if the program were executed a second time?

c. What characteristic of the computer makes this true? [5 marks]

  

Mailbox

Address


Numeric

Code

 

00


901

 

01


306

 

02


901

 

03


106

 

04


902

 

05


000

 

06


000

  

6. If a computer has a 38-bit memory address register. How much memory can this computer address? (Assume: 1 byte/cell; use the most appropriate measure unit). Show your work. [5 marks]

Consider the following LMC instructions found in the given locations in memory.

  

Mailbox Address


Mnemonic Code

 

15


LDA 40

 

16


ADD 41

 


 

40


723

 

41


021

7. Show the CPU Fetch/Execute cycle steps and the values of Instruction Register (IR), the Program Counter (PC), the Memory Address Register (MAR), the Memory Data Register (MDR), and Accumulator (A) when the instruction in address 15 is completed. [5 marks]

  

F/E cycle


Register Values

 


 


 


 


 


8. Show the contents of each register as each step of the F/E cycle is performed for instruction 16 in the above program. [10 marks]

  

F/E cycle


PC


MAR


MDR


IR


A

 

PC ® MAR






 

MDR ® IR






 

IR [address] ® MAR






 

A + MDR ® A





   

ITEC 1000 Assignment #2

Total = 100 marks (Solutions);

· 5 marks file name and general format

Instructions:

· All questions are based on Englander -- Chapters 6 & 7.

· Use a word processor (if you use a non-MS WORD compatible program, e.g., Pages, save as PDF or RTF).

· Both questions and answers must be appropriately formatted (including tables) and well presented with enough explanation.

· Be sure to name the file as your full name in the following format (lowercase), e.g., peggy_carter.docx

· Submit via the upload link provided at the course site any time before or by the deadline, March 26, 11 PM (sharp); late submissions will not be accepted.

· Apply the LMC instruction set below to answer relevant questions.

  

LMC Instruction Set Instruction


Mnemonic


Numeric Code

 

Load


LDA


5xx

 

Store


STO


3xx

 

Add


ADD


1xx

 

Subtract


SUB


2xx

 

Input


IN


901

 

Output


OUT


902

 

End


HLT


000

 

Branch/Jump


BR


6xx

 

Branch if   zero


BRZ


7xx

 

Branch if   zero or positive


BRP


8xx

 

Data storage


DAT


xxx

   

1. Trace the program below and summarize what the program does; not a step-by-step description of each instruction. [5 marks]

  

Address / Mailbox #


Assembly / Mnemonic


Numeric   Code

 

00


IN


901

 

01


STO 90


390

 

02


IN


901

 

03


STO 91


391

 

04


LDA 90


590

 

05


OUT


902

 

06


LDA 91


591

 

07


OUT


902

 

08


HLT


000

 



 

90


DAT 0


000

 

91


DAT 0


000

2. Complete the table below to construct an LMC program that will accept a set of three numbers as INPUT and then add the first two numbers and output the answer, then subtract the first number from the third and output the answer. The program begins at address 00 and data is stored in address 90. [20 marks]

  

Mailbox #


Mnemonic


Numeric code


Instruction Description

 

00


IN


901


Input first number

 

01




 




 




 




 




 




 




 




 




 




   

3. Complete the table below and construct an LMC program that will accept a number INPUT and OUTPUT a sequence of numbers, starting at 1 and finishing with the INPUT (maxNumber). The counter must be initialized to zero each time the program is run. The program will continue (loop) until a 0 is entered. [20 marks]

  

Mailbox #


Mnemonic


Numeric code


Instruction Description

 

00




load zero (from 93) to the accumulator

 

01




Store the initial count

 

02




input

 

03




If zero, branch to halt

 

04




Store maxNumber

 

05




LoopTop load count

 

06




Add step to counter

 

07




Store count

 

08




Output

 

09




Subtract maxNumber

 

10




If positive, endLoop

 

11




Jumpt to loopTop

 

12




endLoop jump to start

 

13




Halt execution

 




 

90




step DAT 1

 

91




maxNumber DAT

 

92




count DAT

 

93




zero DAT

   

4. Complete the table below to construct an LMC program that will accept two INPUT numbers and then OUTPUT the greater of the two. The program should begin at address 00 and data should be stored in addresses beginning at 90. [25 marks]

  

Mailbox #


Mnemonic


Numeric code


Instruction Description

 




 




 




 




 




 




 




 




 




 




 




 




 




 




 




5. Consider the LMC program below in which 2 numbers are entered and added. Suppose the first input entry was stored in mailbox location 00.

a. Would the program have produced the same result?

b. What would have happened if the program were executed a second time?

c. What characteristic of the computer makes this true? [5 marks]

  

Mailbox

Address


Numeric

Code

 

00


901

 

01


306

 

02


901

 

03


106

 

04


902

 

05


000

 

06


000

  

6. If a computer has a 38-bit memory address register. How much memory can this computer address? (Assume: 1 byte/cell; use the most appropriate measure unit). Show your work. [5 marks]

Consider the following LMC instructions found in the given locations in memory.

  

Mailbox Address


Mnemonic Code

 

15


LDA 40

 

16


ADD 41

 


 

40


723

 

41


021

7. Show the CPU Fetch/Execute cycle steps and the values of Instruction Register (IR), the Program Counter (PC), the Memory Address Register (MAR), the Memory Data Register (MDR), and Accumulator (A) when the instruction in address 15 is completed. [5 marks]

  

F/E cycle


Register Values

 


 


 


 


 


8. Show the contents of each register as each step of the F/E cycle is performed for instruction 16 in the above program. [10 marks]

  

F/E cycle


PC


MAR


MDR


IR


A

 

PC ® MAR






 

MDR ® IR






 

IR [address] ® MAR






 

A + MDR ® A






 












  • 2 years ago
  • 10
Answer(0)