Sunday, August 15, 2010

CS401 Final Paper 2010

FINALTERM  EXAMINATION
Spring 2010
CS401- Computer Architecture and Assembly Language Programming (Session - 2)
Time: 90 min
Marks: 58

For Teacher's Use Only
    Q No.
1
2
3
4
5
6
7
8
Total
Marks









Q No.
9
10
11
12
13
14
15
16

Marks









Q No.
17
18
19
20
21
22
23
24

Marks









Q No.
25
26
27
28
29
30
31
32

Marks









Q No.
33
34
35
36





Marks












    
Question No: 1    ( Marks: 1 )    - Please choose one
 Suppose AL contains 5 decimal then after two left shifts produces the value as

       ► 5         
       ► 10
       ► 15
       ► 20
   
Question No: 2    ( Marks: 1 )    - Please choose one
 In graphics mode a location in video memory corresponds to a _____________ on the screen.
       line
       dot
       circle
       rectangle
   
Question No: 3    ( Marks: 1 )    - Please choose one
 Creation of threads can be
       static
       dynamic
       easy
       difficult
   
Question No: 4    ( Marks: 1 )    - Please choose one
 The thread registration code initializes the PCB and adds it to the linked list so that the __________ will give it a turn.
       assembler
       scheduler
       linker
       debugger
   
Question No: 5    ( Marks: 1 )    - Please choose one
 VESA VBE 2.0 is a standard for
       ► High resolution Mode
       ► Low resolution Mode
       ► Medium resolution Mode
       ► Very High resolution Mode
   
Question No: 6    ( Marks: 1 )    - Please choose one
 Which of the following gives the more logical view of the storage medium
       ► BIOS
       ► DOS
       ► Both
       ► None
   
Question No: 7    ( Marks: 1 )    - Please choose one
 Which of the following IRQs is derived by a key board?
       IRQ 0
       IRQ 1
       IRQ 2
       IRQ 3
   
Question No: 8    ( Marks: 1 )    - Please choose one
 Which of the following IRQs is used for Floppy disk derive?

       IRQ 4
       IRQ 5
       IRQ 6
       IRQ 7
   
Question No: 9    ( Marks: 1 )    - Please choose one
 Which of the following pins of a parallel port connector are grounded?
       10-18      
       18-25     
       25-32   
       32-39
   
Question No: 10    ( Marks: 1 )    - Please choose one
 The physical address of IDT( Interrupt Descriptor Table) is stored in _______
       ► GDTR
       ► IDTR
       ► IVT
       ► IDTT
   
Question No: 11    ( Marks: 1 )    - Please choose one
 In NASM an imported symbol  is declared with the ............................ while and exported symbol is declared with the ............................
       ► Global directive, External directive 
       ► External directive, Global directive
       ► Home Directive, Foreign Directive
       ► Foreign Directive, Home Directive
   
Question No: 12    ( Marks: 1 )    - Please choose one
 In 68K processors there is a ........................ program counter (PC) that holds the address of currently executing instruction
       ► 8bit
       ► 16bit
       ► 32bit
       ► 64bit
   
Question No: 13    ( Marks: 1 )    - Please choose one
 To reserve 8-bits in memory ___ directive is used.
       db
       dw
       dn
       dd
   
Question No: 14    ( Marks: 1 )    - Please choose one
 In the “mov ax, 5”     5 is the __________ operand.
        source
       ► destination
       ► memory
       ► register
   
Question No: 15    ( Marks: 1 )    - Please choose one
 RETF will pop the segment address in the
       CS register
       DS register
       SS register
       ES register
   
Question No: 16    ( Marks: 1 )    - Please choose one
 For the execution of the instruction “DIV  BL”, the implied dividend will be stored in

       AX 
       BX
       CX 
       DX
   
Question No: 17    ( Marks: 1 )    - Please choose one
 When a number is divided by zero ”A Division by 0” interrupt is generated. Which instruction is used for this purpose
       ► INT 0
       ► INT 1
       ► INT 2
       This interrupt is generated automatically
   
Question No: 18    ( Marks: 1 )    - Please choose one
 INT 21 service 01H is used to read character from standard input with echo. It returns the result in  ______ register.
       AL
       BL
       CL
       BH
   
Question No: 19    ( Marks: 1 )    - Please choose one
 BIOS sees the disks as
       ► logical storage
       ► raw storage
       ► in the form of sectors only
       ► in the form of tracks only
   
Question No: 20    ( Marks: 1 )    - Please choose one
 In 9pin DB 9, which pin number is assigned to CD (Carrier Detect) ?
       ► 1
       ► 2
       ► 3
       ► 4
   
Question No: 21    ( Marks: 1 )    - Please choose one
 In 9pin DB 9, Signal ground is assigned on pin number
       ► 4
       ► 5
       ► 6
       ► 3
   
Question No: 22    ( Marks: 1 )    - Please choose one
 In 9pin DB 9, RI (Ring Indicator) is assigned on pin number
       ► 6
       ► 7
       ► 8
       ► 9
   
Question No: 23    ( Marks: 1 )    - Please choose one
 Motorola 68K processors have ....................... 23bit general purpose registers.
       ► 4
       ► 8
       ► 16
       ► 32
   
Question No: 24    ( Marks: 1 )    - Please choose one
 When two devices in the system want to use the same IRQ line then what will happen?

       An IRQ Collision

       An IRQ Conflict

       An IRQ Crash

       An IRQ Blockage

   
Question No: 25    ( Marks: 1 )    - Please choose one
 In the instruction  MOV AX, 5 the number of operands are
       ► 1
       ► 2
       ► 3
       ► 4
   
Question No: 26    ( Marks: 1 )    - Please choose one
 Which flags are NOT used for mathematical operations ?
       ► Carry, Interrupt and Trap flag.
       ► Direction, Interrupt and Trap flag.
       ► Direction, Overflow and Trap flag.
       ► Direction, Interrupt and Sign flag.
   
Question No: 27    ( Marks: 2 )
 How can we improve the speed of multitasking?

Ans:
We can improve the speed of multitasking by changing the frequency of timer interrupt.
   
Question No: 28    ( Marks: 2 )
 Write instructions to do the following. Copy contents of memory location with offset 0025 in the current data segment into AX.

Ans:

Mov ax , [0025]

mov[0fff], ax

mov  ax , [0010]
   mov [002f] , ax



   
Question No: 29    ( Marks: 2 )
 Write types of Devices?

Ans:
There are two types devices used  in pc.
  1. Input devices(keyboard, mouse,)
  2. Output devices.(monitor, printer)


   
Question No: 30    ( Marks: 2 )
 What dose descriptor 1st 16 bit tell?


Ans:
Each segment is describe by the descriptor like
  1. base,
  2. limit,
  3. and attributes,
it  basically define the actual base address.





   
Question No: 31    ( Marks: 3 )
 List down any three common video services for INT 10 used in text mode.

Ans:
INT 10 - VIDEO - SET TEXT-MODE CURSOR SHAPE
AH = 01h
CH = cursor start and options
CL = bottom scan line containing cursor (bits 0-4)


   
Question No: 32    ( Marks: 3 )
 How to create or Truncate File using INT 21 Service?




Ans:


INT 21 - TRUNCATE FILE
AH = 3Ch
CX = file attributes
DS:DX -> cs401 filename
Return: 
CF = error flag
AX = file handle or error code

   
Question No: 33    ( Marks: 3 )
 How many Types of granularity also name them?
Ans:
There are three types of granuality :
  1. Data Granularity
  2. Business Value Granularity
  3. Functionality Granularity


   
Question No: 34    ( Marks: 5 )
 How to read disk sector into memory using INT 13 service?


Ans:
INT 13 - DISK - READ SECTOR(S) INTO MEMORY :
AH = 02h
AL = number of sectors to read (must be nonzero)
CH = low eight bits of cylinder number
CL =                sector number 1-63 (bits 0-5)
                          high two bits of cylinder (bits 6-7, hard disk only)
DH = head number
DL = drive number (bit 7 set for hard disk)
ES:BX -> data buffer


Return: 
CF = error flag
AH = error code
AL = number of sectors transferred
   
Question No: 35    ( Marks: 5 )
 The program given below is written in assembly language. Write a program in C to call this assembly routine.
[section .text]
global        swap
swap:        mov  ecx,[esp+4]      ; copy parameter p1 to ecx
                  mov  edx,[esp+8]      ; copy parameter p2 to edx
                  mov  eax,[ecx]           ; copy *p1 into eax
                  xchg eax,[edx]           ; exchange eax with *p2
                  mov  [ecx],eax           ; copy eax into *p1
                  ret                               ; return from this function


Ans:
The above code will assemble in c through this command. Other aurwise error will occur.
Nasm-f win32 swap .asm

This command will generate swap.obj file.
The code for given program will be as follow.

#include
Void swap(int* pl, int* p2);
Int main()
{
      Int a=10,
      Int b= 20;
Print f (“a=%d b=%d\n” , a ,b);

Swap (&a ,&b);

Print f (“a=%d b=%d\n” , a ,b);

System ( “pause”);


Return 0;


}



   
Question No: 36    ( Marks: 5 )
 Write the code of “break point interrupt routine”.


Ans:
Breakpoint interrupts service routine :
debugISR:          push bp
              mov  bp, sp             ; …………….to read cs, ip and flags
              push ax
              push bx
              push cx
              push dx
              push si
              push di
              push ds
              push es

              sti                     ;…………………….. waiting for keyboard interrupt
              push cs
              pop  ds                 ;…………………… initialize ds to data segment

              mov  ax, [bp+4]         
              mov  es, ax             ; ………………….load interrupted segment in es
              dec  word [bp+2]        ; ……………….decrement the return address
              mov  di, [bp+2]         ;………………… read the return address in di
              mov  word [opcodepos], di ;…………. remember the return position
              mov  al, [opcode]       ; …………..load the original opcode
              mov  [es:di], al        ;………….. restore original opcode there

              mov  byte [flag], 0     ; …………set flag to wait for key
              call clrscr             ;……………. clear the screen

              mov  si, 6              ; …………..first register is at bp+6
              mov  cx, 12             ;………… total 12 registers to print
              mov  ax, 0              ; …………..start from row 0
              mov  bx, 5              ; ………….print at column 5

          push ax                 ; ………………..row number
              push bx                 ;………………. column number 
              mov  dx, [bp+si]
              push dx                 ;………………. number to be printed
              call printnum           ;…………….. print the number
              sub  si, 2              ; ……………….point to next register 
              inc  ax                 ; ………………..next row number 
              loop l3                 ; ……………….repeat for the 12 registers

              mov  ax, 0              ; ………………..start from row 0
              mov  bx, 0              ; ………………..start from column 0
              mov  cx, 12             ; …………………..total 12 register names
              mov  si, 4              ;……………………. each name length is 4 chars
              mov  dx, names          ; …………………..offset of first name in dx

              push ax                 ;………………………. row number 
              push bx                 ; ………………………column number 
              push dx                 ; ……………………….offset of string
              push si                 ; ………………………….length of string
              call printstr           ; ………………………….print the string
              add  dx, 4              ;………………………….. point to start of next string 
              inc  ax                 ; ……………………………new row number
              loop l1                 ;…………………………….. repeat for 12 register names

              or word [bp+6], 0x0100  ; ……………………set TF in flags image on stack

keywait:      cmp  byte [flag], 0     ;……………………. has a key been pressed
              je   keywait            ;            ………………….. no, check again

              pop es

              pop ds
              pop di
              pop si
              pop dx
              pop cx
              pop bx
              pop ax
              pop bp
              iret

start:        xor  ax, ax
              mov  es, ax             ;            ……………………point es to IVT base
              mov  word [es:1*4], trapisr ;…………………. store offset at n*4
              mov  [es:1*4+2], cs     ;      …………………...store segment at n*4+2
              mov  word [es:3*4],            …………………..debugisr ; store offset at n*4
              mov  [es:3*4+2], cs     ;      …………………..store segment at n*4+2
              cli                     ;                  ………………….disable interrupts
              mov  word [es:9*4], kbisr ; ………………….store offset at n*4
              mov  [es:9*4+2], cs     ; ……………………...store segment at n*4+2
              sti                     ;             ………………………enable interrupts

No comments:

Post a Comment