PDA

View Full Version : cs401 current paper solved midterm fall 2010



Xpert
12-06-2010, 04:18 PM
MIDTERM FALL 2010 Decemberhttp://school.discoveryeducation.com/clipart/images/school-assembly-color.gif


Stack is a ______ that behaves in a first in last out manner.


Program
data structure
Heap
None of the Given


The physical address of the stack is obtained by


SS:SI combination
SS:SP combination
ES:BP combination
ES:SP combination


Foreground and background parameter will be


32bits
16bits
8bits
4bits


The clear screen operation initialize whole block of memory


0741
0417
0714
0174


In STOSB instruction, when DF is Set, SI is



Incremented by 1
Incremented by 2
Decremented by 1 (Not confirmed)
Decremented by 2


Assembly language is:


Low-level programming language
High-level programming language
Also known as machine language
Not considered closer to the computer


A 32 Bit processor has accumulator of ---------


8 bit
16 bit
32 bit
64 bit


To transfer control back the RET instruction take


1 argument
1 argument
3 arguments
No arguments


RET is executed, it recovers the values from


Register
Stack
Data segment
Code segment


To convert any digit to its ASCII representation


Add 0x30 in the digit
Subtract 0x30 from the digit
Add 0x61 in the digit
Subtract 0x61 from the digit


The prevalent convention in most high level languages is stack clearing by the


Caller
Callee
RET
Stack


After execution of JCXZ instruction CX will changed with flag affect.


CF
OF
DF
None of Above


Execution of the instruction “mov word [ES : 0], 0x0741” will print


“A” appear on the top left of screen
“A” appear on the top right of screen
“A” appear on the center of screen
“A” appear on the bottom left of screen


if contains decimal -2 and BX contains decimal 2 then after the execution of instructions:
CMP AX, BX
JA label


Jump will be taken
Zero flag will set
ZF will contain value -4
Jump will not be taken


Which of the following options contain the set of instructions to open a window to the video memory?


mov AX, 0xb008

mov ES, AX


mov AX, 0xb800

mov ES, AX


mov AX, 0x8b00

mov ES, AX


mov AX, 0x800b

mov ES, AX

If D is “35” is shift to left 2 bits the new value


35
70
140
17

Execution of the instruction “mov word [ES : 0], 0x1230” will print the character color will


Grean
White
Red
Black


Q#21 Mark 2
What are the instructions used by assembly language for permanent and temporary diversions.

Q#22 Mark 2
Which instruction is used to determine zero bit in string.

Q#23 Mark 3
Explain the use of TEST instruction.
The test instruction is used for bit testing. BX holds the mask and in every next iteration it is shifting left, as our concerned bit is now the next bit.

Q#24 Mark 3
Explain LES and LDS

The string instructions need source and destination in the form of a segment offset pair. LES and LDS load a segment register and a general purpose register from two consecutive memory locations. LES loads ES while LDS loads DS. Both instructions has two parameters, one is the general purpose register to be loaded and the other is the memory location from which to load these registers. The major application of these instructions is when a subroutine receives a segment offset pair as an argument and the pair is to be loaded in a segment and an offset register.

Q#25 Mark 5
Describe local variables.
Another important role of the stack is in the creation of local variables that are only needed while the subroutine is in execution and not afterwards. They should not take permanent space like global variables. Local variables should be created when the subroutine is called and discarded afterwards. So that the spaced used by them can be reused for the local variables of another subroutine. They only have meaning inside the subroutine and no meaning outside it.
The most convenient place to store these variables is the stack. We need some special manipulation of the stack for this task. We need to produce a gap in the stack for our variables. This is explained with the help of the swapflag in the bubble sort example.
The swapflag we have declared as a word occupying space permanently is only needed by the bubble sort subroutine and should be a local variable. Actually the variable was introduced with the intent of making it a local variable at this time. The stack pointer will be decremented by an extra two bytes thereby producing a gap in which a word can reside. This gap will be used for our temporary, local, or automatic variable; however we name it. We can decrement it as much as we want producing the desired space, however
the decrement must be by an even number, as the unit of stack operation is a word. In our case we needed just one word. Also the most convenient position for this gap is immediately after saving the value of SP in BP. So that the same base pointer can be used to access the local variables as well; this time using negative offsets. The standard way to start a subroutine which needs to access parameters and has local variables is as under.
push bp
mov bp, sp
sub sp, 2
The gap could have been created with a dummy push, but the subtraction makes it clear that the value pushed is not important and the gap will be used for our local variable. Also gap of any size can be created in a single instruction with subtraction. The parameters can still be accessed at bp+4 and bp+6 and the swapflag can be accessed at bp-2. The subtraction in SP was after taking the snapshot; therefore BP is above the parameters but below the local variables. The parameters are therefore accessed using
positive offsets from BP and the local variables are accessed using negative offsets.


Q#26 Mark 5
Describe MOVS and CMPS instructions

rest can be downloaded from the attachments

zarinrahim
12-10-2010, 07:17 PM
Sir plz send me current paper of mcs first semester and second semester 2007 to 2010......
plzzzzzzzzzzzzzzzzzzzzzzz sir

Xpert
12-10-2010, 08:58 PM
All papers are updated in forum. you have to check them and find them by your self.