You are on page 1of 25

www.vujannat.ning.

com

CS401 Computer Architecture and Assembly Language


Programming
Final Term Examination - February 2005
Time Allowed: 150 Minutes

Instructions
Please read the following instructions carefully before attempting any question:
1. The duration of this examination is 120 minutes.
2. This examination is open Handouts.
3. Answer all questions.
a. There is no choice.
b. You will have to answer correctly all questions in this examination to get the
maximum possible marks.
4. Do not ask any questions about the contents of this examination from anyone.
a. If you think that there is something wrong with any of the questions, attempt it to
the best of your understanding.
b. If you believe that some essential piece of information is missing, make an
appropriate assumption and use it to solve the problem.
5. You have been provided with all assembly tools so you can use assembly tools also.
6. Your paper contains 4 questions.
All Coding questions should be answered using the Assembly language syntax.

Total Marks: 60 Total


Questions: 4

Question No. 1 Marks : 10

Answer the following Questions briefly.

a. What is the change in the stack after int instructions is executed?


b. Why procedures are used and what must be the last executable instruction in a
procedure?
c. Why cli and sti instructions are used during hooking an interrupt?
d. What is multitasking?
e. What are minimum numbers of pins required for serial communication? Also write
their names?

Question No. 2 Marks : 10

Write valid instruction(s) to perform each function specified below.


a. Provide instruction(s) to read a value from port number 0x312.
b. Provide instruction(s) to move the value at the top of stack in ip register.
c. Provide instruction(s) to move value of flag register in ax.
d. Provide instruction(s) to divide value of ax by 8.
e. Provide instruction(s) to write value of al at the port 0x12.

Question No. 3 Marks : 10

Write a function "ConvertBinaryToDecimal" that takes the address of a string containing


binary of any decimal number via the stack. The function should print its equivalent decimal
number. For example, if the string is "11011" then after the execution of this function, the
program should print 27 and if the string is "1001" then after the execution of this function, the
program should print 9 on the screen.
(Well commented and well indented program will be given extra mark)
Question No. 4 Marks : 10

Answer the following regarding Protected Mode descriptors

a. Write the following descriptors in the format

dd 0x0000FFFF, 0x00CF9A00

Assume following values for attributes


1 A bit = 0
2 P bit = 1
3 G bit = 0
4 AVL bit = 1
5 r bit = 0

i. 32 bit, non conforming, execute-only code segment at level 2, with base at


0x00403333 and a limit of 0x0FFFF.

ii. 32-bit Read only data segment at level 0, with base at 0x00A0BBBB and limit of
0x1CCCC.

b. Write 32 bit physical addresses for the following accesses where Base = 0x00A00000
and Limit = 0x30000, EBX contains 0x00001000, and ESI contains 0x00003000

i. [bx+si]

ii.[ebx+esi-0x0012FD]
www.vujannat.ning.com

CS401 Computer Architecture and Assembly


Language Programming
Final Term Examination – Spring 2005
Time Allowed: 150 Minutes

Instructions
Please read the following instructions carefully before attempting any question:
1. The duration of this examination is 150 minutes.
2. This examination is open Handouts.
3. Answer all questions.
a. There is no choice.
b. You will have to answer correctly all questions in this
examination to get the maximum possible marks.
4. Do not ask any questions about the contents of this examination
from anyone.
a. If you think that there is something wrong with any of the
questions, attempt it to the best of your understanding.
b. If you believe that some essential piece of information is
missing, make an appropriate assumption and use it to solve
the problem.
5. You have been provided with all assembly tools so you can use
assembly tools also.
6. Your paper contains 4 questions.
All Coding questions should be answered using the Assembly language
syntax.

Best of Luck

Total Marks: 50 Total Questions: 04

Question No. 1 Marks : 10

Answer the following regarding protected mode descriptors:

Write the values of limit A bit , P bit and AVL bit of the following descriptors.
1. dd 0x 00FEADEF , 0x 00B60718
2. dd 0x F8E2135A , 0 x 13DC1258

Question No. 2 Marks : 10

Give the short answer of the following:

1. Why we need to disable the interrupts while calling interrupt INT 80hj.
2. Why we need to disable interrupts before we attempt to change the stack (i.e. ss
and sp).

Question No. 3 Marks : 10

I. Consider the following code:

What would be in the variable Find after the execution of the code
given below?

;;-------------------------------------------------------------------------------------------------------------------------------
----
[org 0x0100]
mov cx, [num1]
mov ax, 0

l1: add ax, cx


sub cx, 1
jnz l1

mov [Find], ax
mov ax, 0x4c00
int 0x21

num1: dw 15
Find: dw 0

;;------------------------------------------------------------------------------------------------------------------------------------------------------
--------------------------------------------------

II. Consider the following code:

What will be the values in num1 and num2 after the execution of the
code given below?

;;------------------------------------------------------------------------------------------------------------------------------------------------------
---------------------------------------------------
[org 0x0100]
mov ax, [num1]
mov bx, [num2]
add ax, bx
sub bx, ax
add ax, bx

mov ax, 0x4c00


int 0x21

num1: dw 5
num2: dw 10

;;------------------------------------------------------------------------------------------------------------------------------------------------------
-------------------------------------------

Question No. 4 Marks : 20

Write a function "ShowResult" that takes the address of two memory locations via the
stack, the one pushed first is the address of an array of integers and the second is the
length of that array. The function should print "Yes" if the array is in ascending order and
"No" if it is not.
Some sample output is shown below,
If array is: Output
5 7 9 13 Yes
15 7 19 13 No
WWW.vujannat.ning.Com
Connecting VU Students

CS401
Final Term Examination – Spring 2006
Time Allowed: 150 Minutes

Question No. 1 Marks : 1

Interrupt Flag is set by


1. Processor
2. Organization
3. Programmer
4. Any one can set

Question No. 2 Marks : 3

Explain the purpose and working of the following program. Also, write comments in front of
each instruction describing the purpose of that particular instruction.

[org 0x0100]
jmp start

count: dw 0
attribute: dw 0x07
second: dw 0

timer: push di
push cx
push ax
push es

inc word[cs:count]
cmp word[cs:count], 91
je clrscr
jmp exit

clrscr: mov word[cs:count], 0


mov ax, 0xb800
mov es, ax
xor di, di
mov al, 0x20

add word[cs:attribute], 0x10


cmp word[cs:attribute], 0x77
jbe next

mov word[cs:attribute], 0x07

next: mov ah, [cs:attribute]


mov cx, 2000
cld
rep stosw

exit: mov al, 0x20


out 0x20, al

pop es
pop ax
pop cx
pop di
iret

start: xor ax, ax


mov es, ax
cli
mov word [es:8*4], timer
mov [es:8*4+2], cs
sti

mov dx, start


add dx, 15
mov cl, 4
shr dx, cl
mov ax, 0x3100
int 0x21

Question No. 3 Marks : 3

Suppose AL contains 11001011b and CF= 1. Give the new contents of AL after each of the
following instructions is executed.
Assume the preceding initial conditions for each part of this question

a. SHL AL,1
b. SHR AL, 1
c. ROL AL, CL if CL contains 2
d. SAR AL, CL if CL contains 2
e. RCR AL,CL if CL contains 3

Question No. 4 Marks : 1

Which flag has a special role in debugging?


1. Sign Flag
2. Trap Flag
3. interrupt Flag
4. Direction Flag

Question No. 5 Marks : 1

Read the following code and tell what will be the final effect on bp value
push bp
mov bp, sp
sub sp, 2
mov bp, sp
pop bp

1. bp will retain its original value


2. Value of sp will move to bp
3. Value of bp will be less then sp

4. Value of bp will be zero

Question No. 6 Marks : 1

IMUL and IDIV operate on

1. Two's-complement numbers
2. One's-complement numbers
3. All of the given options
4. None of the given options

Question No. 7 Marks : 1

The size of selector register in protected mode is

1. 32 bits
2. 24 bits
3. 16 bits
4. None of the given options
Question No. 8 Marks : 1

Answer the following questions:


a. Which processor interrupts the system 18.2 times per second? What are some of its
practical uses?
b. What is difference between the fault and trap exception?
c. When a key is pressed on the keyboard, which hardware interrupt is executed?
d. When an interrupt handler finishes, how does the CPU resume execution to whatever it
was doing before the interrupt was triggered?
e. At which address is the interrupt vector for INT 10h stored?

Question No. 9 Marks : 1

Write the following descriptors in the format: dd 0x0000FFFF, 0x00CD9A40


i. 32 bit nonconforming, readable code segment at level 0, with base at 0x00300000 and a
limit of 0x0FFFF.
ii. 32 bit writeable data segment at level 2, with base at 0x00B00000 and limit of
0x10000.
Assume the values for the attributes bits are A=1, AVL=0, P=1, r=0, G=0, D=1, E=0 and B=1.
http://vujannat.ning.com
BEST SITE TO HELP STUDENTS
FINALTERM EXAMINATION
SPRING 2007 Marks: 65
CS401 - COMPUTER ARCHITECTURE AND Time: 150min
ASSEMBLY LANGUAGE PROGRAMMING (Session - 5
)

StudentID/LoginID: ______________________________

Student Name: ______________________________

Center Name/Code: ______________________________

Exam Date: Wednesday, July 18, 2007

Please read the following instructions carefully before attempting any of the
questions:
1. Paper contains 15 questions in all, 10 MCQs and 5 subjective, attempt all
questions. Marks are written adjacent to each question.
2. Do not ask any question about the contents of this paper from any one.
a. If you think that there is something wrong with any of the questions,
attempt it
to the best of your understanding.
b. If you believe that some essential piece of information is missing, make
an
appropriate assumption and use it to solve the problem.
c. Write all steps/instruction for a program, missing steps/instructions
may lead to deduction of marks.
3. Exam is Closed Book. No handouts or reference material is allowed in
exam hall other than rough sheet which will be provided by the examiner.
4. All the coding language should be based on NASM assembler.
5. No assembly software is allowed in the exam center.
6. Use of cell phone during the examination is strictly prohibited, otherwise
strict disciplinary action will be taken as per university rules.

For Teacher's use only


Question 1 2 3 4 5 6 7 8 9 10 Total
Marks
Question 11 12 13 14 15
Marks
Question
Marks

Question No: 1 ( Marks: 1 ) - Please choose one

Sun SPARC Processor has a fixed ______________ instruction size.

► 16bit

► 32bit

► 64bit

► 20bit

Question No: 2 ( Marks: 1 ) - Please choose one

When the subprogram finishes, the ____________________ retrieves the return address from the
stack and transfers control to that location.

► RET instruction

► CALL instruction

► POP instruction

► Jump instruction

Question No: 3 ( Marks: 1 ) - Please choose one

A 32 bit address register can access upto __________ of memory.

► 1 GB

► 6 GB

► 4 GB

► 2 GB

Question No: 4 ( Marks: 1 ) - Please choose one

The value of a segment register when the processor is running under protected mode is called
___________________________

► segment descriptor

► segment selector
► global descriptor table

► protected register

Question No: 5 ( Marks: 1 ) - Please choose one

FS and GS are two ___________________ in protected mode.

► segment registers

► segment selectors

► stack pointers

► register pointers

Question No: 6 ( Marks: 1 ) - Please choose one

IRQ 0 interrupt have _______________ priority

► low

► medium

► highest

► lowest

Question No: 7 ( Marks: 1 ) - Please choose one

IDT stands for ______________________.

► interrupt descriptor table

► individual descriptor table

► inline data table

► interrupt descriptor table

Question No: 8 ( Marks: 1 ) - Please choose one

Every bit of line status in serial port conveys _____________ information.

► different

► same

► partial

► full
Question No: 9 ( Marks: 1 ) - Please choose one

There are total _______________ bytes in a standard floppy disk.

► 1444k

► 1440k

► 1280k

► 2480k

Question No: 10 ( Marks: 1 ) - Please choose one

An 8x16 font is stored in _________________ bytes.

► 8

► 16

► 4

► 20

Question No: 11 ( Marks: 10 )

Give answers to these questions. . [ 3+4+3]


1. Differentiate hardware and software interrupts?
2. Give an example of the priority mechanism in the programmable interrupt controller?
3. Why memory must be freed using explicit calls to DOS before executing a program?

Question No: 12 ( Marks: 15 )

Part a)
Calculate the physical memory address generated by the following segment offset pairs. [2 x
2.5]

a. 1DDDh:0436h
b. 1234h:7920h

Part b)
Fill out the corresponding values in HEX in the register table after the execution of each
instruction. Every instruction is dependent on the previous instruction and carry flag is reset in the
start. [2 x 5]

Instructions Carry Flag


Al
mov al,0x005D
Shr al,0x0003
Mov al,0x003C
Sar al,0x0006
mov ax,0x12D4

Question No: 13 ( Marks: 10 )

Which BIOS interrupt provides serial port services and list down names of 9 pins of DB-9
connector. [10]

Question No: 14 ( Marks: 10 )

Write a program to print your full name followed by your student ID using bios services.
[10]

Question No: 15 ( Marks: 10 )

Describe the following descriptors. Give its type and the value of all their fields:
dd 01234567h, 789ABCDEh
www.vujannat.ning.com

CS401 Computer Architecture and Assembly Language


Programming
Mid Term Examination - November 2004
Time Allowed: 90 Minutes

Instructions
Please read the following instructions carefully before attempting any question:
1. The duration of this examination is 90 minutes.
2. This examination is open Handouts.
3. Answer all questions.
a. There is no choice.
b. You will have to answer correctly all questions in this examination to get the
maximum possible marks.
4. Do not ask any questions about the contents of this examination from anyone.
a. If you think that there is something wrong with any of the questions, attempt it to
the best of your understanding.
b. If you believe that some essential piece of information is missing, make an
appropriate assumption and use it to solve the problem.
5. You have been provided with all assembly tools so you can use assembly tools also.
6. Your paper contains 4 questions.
All Coding questions should be answered using the Assembly language syntax.

Total Marks: 60 Total


Questions: 5

Question No. 1 Marks : 10

Write a program named "Countvowels" that counts all occurrences of the vowels in a
source string and then prints the result in the format (vowel, count). For example if the string
is 'afadefsoieaid' it should print (a,3) (e,2) (i,2) (o,1) (u,0) on the screen. The program should
take address of the source string as a parameter via stack. Also provide proper comments
against each instruction.

Note: String is assumed to contain only small case legal letters and length of the string is
fixed to 15 characters. Vowel characters include a, e, i, o, u.

Question No. 2 Marks : 10


Answer the following questions.
a. What does the symbol [ ] indicate?
b. Explain what the REP prefix does?
c. What is FAR jump?
d. What does the INT 21h accomplish if AH contains 4CH?
e. What is the difference between SUB and CMP instructions?

Question No. 3 Marks : 10

Calculate the first and the last physical memory addresses accessible using each of the
following segment values?

a. FFFF
b. F009
c. 1234
d. 0000
Question No. 4 Marks : 10

Find all the errors in the following code and write those errors against each erroneous
instruction.
Example: push IP ; IP can't be pushed on the stack.

[0x0100]
jmp start

numarray dw 7, 11, 5, 0, 3, 1, 9, 4, 2, 10
index1 0
index2 dw 0

start:
mov ax 0
mov bx, 0
loop:
cmp ax, 20
je num1
mov bh, ax
mov [ index1 ], [ index2]
mov cx, [ numarray + bx ]
add ax, 2
swap:
add bx, 2
cmp bx, 20
je end
cmp cx, [ numarray + bx ]
jc swap
jmp swap
swap:
mov dx, [ numarray + bx ]
mov [ index2 ], bx
mov bx, [ index1 ]
mov [ bp + bx ], dx
mov bx, [ index2 ]
mov [ numarray + bx ], cx
mov cx, dx
jmp start

end:
mov ax, 0x4c00

Question No. 5 Marks : 10

What will be the value of AX after the execution of each of the following instruction? Each
instruction is independent of others.
If AX= 0x44FF and BX= 0x011F

a. xor ah, bh
b. ror bx, 2
c. not ah
d. and ax, bx
e. rcl ax, 2 if carry flag = 0
www.vujannat.ning.com

CS401 Assembly Language


Mid Term Examination – Spring 2006
Time Allowed: 90 Minutes

Please read the following instructions carefully before attempting any


question:

1. This examination is open books, open handouts and quiet


neighbors.
2. Answer all questions.
a. There is no choice.
b. You will have to answer correctly all questions in this
examination to get the maximum possible marks.
3. Do not ask any questions about the contents of this examination
from anyone.
a. If you think that there is something wrong with any of the
questions, attempt it to the best of your understanding.
b. If you believe that some essential piece of information is
missing, make an appropriate assumption and use it to solve
the problem.
4. You have been provided with all assembly tools so you can use
assembly tools also.
5. Your paper contains 4 questions.
All Coding questions should be answered using the Assembly language
syntax.

Question No. 1 Marks : 10

What is wrong with each of the following instructions?

i. MOV BL, CX
ii. MOV ES, SS
iii. MOV [BX], [DI]
iv. MOV [BYTEVAR], 20
v. MOV [02], [ 92]

Question No. 2 Marks : 10

Find errors in the code given below and write error description against each erroneous
instruction.

[org 0x0100]
jmp start

var1 dw 34, 21, 25, 20, 23, 21, 29, 14, 42, 10
var2 dw 0
var3 dw 0
start:
mov 5, 0
mov bx, 0
label1:
cmp ax, 20
je end
mov bh, ax
mov [var2], bx
mov cx, [var1+ bx]
add ax, [bx-si]

label2:
add bx, 2
cmp bx, [bx+bp]
je here
cmp [si+di], cx
jc swap
jmp label2

swap:
mov [var2+bx], [var1+bx]
mov [var3 ], cx
mov bx, [index1]
jmp label2
end:
mov ax, 0x4d00
int 0x21

Question No. 3 Marks : 10


Answer the following Questions.

a. Which registers are changed by the CMP instructions?


b. Write a instruction to change the sign bit of AX.
c. What is the difference between a TEST and AND instruction?
d. What is the difference between little endian and big endian formats?
e. What is the function of segment override prefix and what changes it brings to the
opcode?

Question No. 4 Marks : 20

a) Consider

MSG: db ‘this is a message’

Write code to replace each lowercase letter in the following string by its upper case
equivalent. Use index address mode.

b) Write valid instruction(s) to perform each function specified below.

i. Provide instruction to read a value from port number 0x312


ii. Provide instruction to move the value at the top of the stack in IP register
iii. Provide instruction to move value of flag register in AX.
iv. Provide instruction to divide value of AX by 8.
WWW.vujannat.ning.com
http://vujannat.ning.com
Largest Online Community of VU Students
MIDTERM EXAMINATION
SPRING 2007 Marks: 45
CS401 - COMPUTER ARCHITECTURE AND ASSEMBLY Time: 90min
LANGUAGE PROGRAMMING (Session - 1 )

Q: Give the new values of AX and DX for each of the following instructions, or tell if
the overflow occurs. [2.5 x 4]

a. DIV BX, if DX contains 0x0000, AX contains 0x0007, and BX contains 0x0002


b. DIV BX, if DX contains 0x0000, AX contains 0xFFFF, and BX contains 0x0010
c. IDIV BX, if DX contains 0xFFFF, AX contains 0xFFFC, and BX contains 0x0003
d. DIV BX, if DX contains 0xFFFF, AX contains 0xFFFC, and BX contains 0x0003

Q: Fill in the Blanks [5]

1) In the MOV instruction both operands i.e. source and the destination cannot be
_______________ operands.

2) The MOVZX instruction can be used only with _____________ integers.

3) Consider the following code segment

mov bl,9B
movsx cx,bl

Write down the 16-bit value for cx in the space below

cx

4) Name any two basic type of operands


a. ___________
b. ___________

5) The INC and Dec instruction do not effect the __________ flag
Q: Consider the following pseudo-code and write the corresponding assembly code for
it. [10]
Note: Try to write a shorter code.

If ( al>bl) AND (bl> cl)


{
cx = 1
}

Q: Give the value of the zero flag, the carry flag, the sign flag, and the overflow flag
after each of the following
instructions if AX is initialized with 0x1254 and BX is initialized with 0x0FFF.
[10]
a. add ax, 0xEDAB
b. add ax, bx
add bx, 0xF001

Q:Write a program to swap every pair of bits in the AX register. [10]


For example If AX = 1001100110011001(binary)
Or AX= 0x9999 (hex)
Then after the program execution it must contain this value
AX = 0110011001100110 (binary)
or
AX= 0x6666 (hex)
WWW.vujannat.ning.com
http://vujannat.ning.com
Largest Online Community of VU Students

MIDTERM EXAMINATION
SPRING 2007 Marks: 45
CS401 - COMPUTER ARCHITECTURE AND Time: 90min
ASSEMBLY LANGUAGE PROGRAMMING (Session - 6
)

StudentID/LoginID: ______________________________

Student Name: ______________________________

Center Name/Code: ______________________________

Exam Date: Saturday, May 12, 2007

Please read the following instructions carefully before attempting any


of the questions:
1. Attempt all questions. Marks are written adjacent to each question.
2. Do not ask any question about the contents of this examination from
any one.
a. If you think that there is something wrong with any of the
questions, attempt it
to the best of your understanding.
b. If you believe that some essential piece of information is
missing, make an
appropriate assumption and use it to solve the problem.
c. Write all steps/instruction for a program, missing
steps/instructions may lead to deduction of marks.
3. Exam is Closed Book. No handouts or extra material is allowed in
exam hall other than rough sheet which will be provided by the
examiner.
4. All the coding syntax will be based on NASM assembler.
5. No assembly software is allowed in the exam center
For Teacher's use only
Question 1 2 3 4 5 Total
Marks

Question No: 1 ( Marks: 5 )

Write valid instruction(s) to perform each function specified below.


[1x5]
a. Provide instruction to jump to label BELOW if AL contains an even number.
b. Provide instruction to move the value at the top of the stack in IP register
c. Provide instruction to move value of flag register in AX.
d. Provide instruction to divide value of AX by 8.
e. Provide instruction to store 0xFFFF into AX.

Question No: 2 ( Marks: 10 )

Implement the following code in assembly language. Assume that we are dealing in signed integers
and try to write shorter code. [10]

if( BX>CX OR BX >VAL1 )


X=1
else
X=2

Question No: 3 ( Marks: 10 )

Write a recursive function in assembly language to calculate the square of an integer by adding it
in
itself using recursive call. You can assume any integer number to calculate the square.
[10]

Question No: 4 ( Marks: 10 )

Give short answers to the following questions, each question carries equal marks.
[2x5]
a. What is the maximum memory 8088 can access?
b. What is difference between logical and physical memory?
c. A combination of 8 bits is called a byte. What is the name for 4 bits and for 16 bits?
d. What is the purpose of direction flag?
e. What is an assembly language directive?

Question No: 5 ( Marks: 10 )

What will be the value of AX after the execution of each instruction? [2x5]
Each instruction is independent of others.
If AX=44FF and BX=011F
a. xor ah, bh
b. ror bx, 2
c. not ah
d. and ax, bx
e. rcl ax, 2 if carry flag =0

You might also like