PDA

View Full Version : CS401- Computer Architecture and Assembly Language Programming final term current pa



Vuhelper
07-10-2011, 05:58 PM
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.

Input devices(keyboard, mouse,)
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

base,
limit,
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 :

Data Granularity
Business Value Granularity
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 <stdio.h>

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