MASTER OF COMPUTER APPLICATIONS
Course Code : MCS-012
Course Title : Computer Organisation and Assembly Language Programming
Assignment Number : MCA (2)/012/Assign /2014-15
Maximum Marks : 100
Weightage : 25%
Assume that you have a machine as shown in section 3.2.2 of Block 3 having the micro-operations as given in Figure 10 on page 62 of Block 3. Consider that R1 and R2 both are 8 bit registers and contains 1010 0011 and 1100 1011 respectively. What will be the values of select inputs, carry-in input and result of operation (including carry out bit) if the following micro-operations are performed? (For each micro-operation you may assume the initial value of R1 and R2 as given above).
(i) Subtraction of R1 and R2
(ii) AND of R1 and R2
(iii) Shift right R2 twice
(iv) Add of R1 and R2 with carry
(i) Subtraction of R1 and R2
S3 |
S2 |
S1 |
S0 |
Ci |
F |
Micro-operation |
Name |
0 |
0 |
1 |
0 |
1 |
F=x+( |y+1) |
R ß R1 – R2 |
Subtraction |
1 | 1 | 0 | 0 | 1 | 0 | 1 | 1 |
R2=
0 | 0 | 1 | 1 | 0 | 1 | 0 | 0 |
+ | 1 | ||||||
0 | 0 | 1 | 1 | 0 | 1 | 0 | 1 |
|R2=
1 | 0 | 1 | 0 | 0 | 0 | 1 | 1 |
0 | 0 | 1 | 1 | 0 | 1 | 0 | 1 |
1 | 1 | 0 | 1 | 1 | 0 | 0 | 0 |
S3 |
S2 |
S1 |
S0 |
Ci |
F |
Micro-operation |
Name |
Value of Result R |
0 |
0 |
1 |
0 |
1 |
F=x+( |y+1) |
R ß R1 – R2 |
Subtraction |
1101 1000 |
No Carry Out Occurred.
(ii) AND of R1 and R2
S3 |
S2 |
S1 |
S0 |
Ci |
F |
Micro-operation |
Name |
0 |
1 |
0 |
0 |
– |
F=x.y |
R ß R1 ^ R2 |
AND |
1 | 0 | 1 | 0 | 0 | 0 | 1 | 1 |
1 | 1 | 0 | 0 | 1 | 0 | 1 | 1 |
1 | 0 | 0 | 0 | 0 | 0 | 1 | 1 |
S3 |
S2 |
S1 |
S0 |
Ci |
F |
Micro-operation |
Name |
Value of Result R |
0 |
1 |
0 |
0 |
– |
F=x.y |
R ß R1 ^ R2 |
AND |
1000 0011 |
No Carry Out Occurred.
(iii) Shift right R1 twice
S3 |
S2 |
S1 |
S0 |
Ci |
F |
Micro-operation |
Name |
1 |
1 |
– |
– |
– |
F=Shr(y) |
R ß Shr(R1) |
Shift right |
Shr(y) Function applied Twice on R1
1 | 0 | 1 | 0 | 0 | 0 | 1 | 1 |
1 | 1 | 0 | 1 | 0 | 0 | 0 | 1 |
1 | 1 | 1 | 0 | 1 | 0 | 0 | 0 |
S3 |
S2 |
S1 |
S0 |
Ci |
F |
Micro-operation |
Name |
Value of Result R |
1 |
1 |
– |
– |
– |
F=Shr(y) |
R ß Shr(R1) |
Shift right |
1110 1000 |
No Carry Out Occurred.
(iv) Add of R1 and R2 with carry
S3 |
S2 |
S1 |
S0 |
Ci |
F |
Micro-operation |
Name |
0 |
0 |
0 |
1 |
1 |
F=x+y+1 |
R ß R1 + R2+1 |
Add with carry |
1 | 0 | 1 | 0 | 0 | 0 | 1 | 1 |
1 | 1 | 0 | 0 | 1 | 0 | 1 | 1 |
1 | |||||||
0 | 1 | 1 | 0 | 1 | 1 | 1 | 1 |
Cout = 1
S3 |
S2 |
S1 |
S0 |
Ci |
F |
Micro-operation |
Name |
Value of Result R |
0 |
0 |
0 |
1 |
1 |
F=x+y+1 |
R ß R1 + R2+1 |
Add with carry |
1 0110 1111 |
Carry Out has occurred.