CS401 Assignment No 3 Spring 2019
Dear Students, Here you can read or Download CS401 - Computer Architecture and Assembly Language Programming Assignment No 3 Solution and Discussion of Semester Spring 2019. CS401 Assignment Due Date is 22 July 2019. This assignment covers video lectures 23 to 27. Total Marks are 20. We are here to facilitate your learning and we do not appreciate the idea of copying or replicating solutions. CS401 Assignment Solution File has been added. Previously we shared CS408 Assignment No 3 Solution Spring 2019CS401 Assignment No 3 Solution and discussion Spring 2019 |
CS401 Assignment Rules for Marking
It should be clear that your assignment would not get any credit if:- The assignment is submitted after the due date.
- The submitted assignment does not open or file is corrupt.
- Strict action will be taken if the submitted solution is copied from any other student or from the internet.
Please Note:
- You should concern the recommended books to clarify your concepts as handouts are not sufficient.
- You are supposed to submit your assignment in .doc or docxformat.
- Any other formats like scan images, PDF, zip, rar, ppt and bmp etc. will not be accepted.
Topic Covered in CS401 Assignment No 3:
- String Instructions
- Programmable Interval Timer
- Timer Interrupt
CS401 Assignment Question:
Write assembly language (Terminate and Stay Resident) program that will print your complete VUID (only when specific timer ticks are lapsed) by hooking Timer Interrupt. (20 Marks)Details:
- In this program, you have to hook Timer Interrupt and write your own Interrupt Service Routine (ISR) which will store timer count (tick count)
- In order to store total tick count, use a double word variable
- As soon as tick count reaches last digit of your VUID, your VUID must be printed on the screen. You may treat VUID as a String and give its address and length as a parameter to the subroutine. As an alternative, you may also use String Instructions (like LODS or STOS for printing)
- For Example: if student ID is BC180212356 then after 6 tick counts, BC180212356 should be displayed on the screen.
- There’s no need to include screenshots of final output. Your solution file must be a single Word file containing complete code.
Recommended: CS504 Assignment No 3 Solution Spring 2019
CS401 Assignment No 3 Solution Spring 2019
You can see the Sample Preview of CS401 Assignment No 3 Solution provided by (Virtual Study Solutions) below. Click on Download Button to Download Solution File in Your PC. Please Share it with your friends. You can also like our Facebook Page or Subscribe Us below for Updates.
Spring 2019 Assignments:
- CS605 Assignment No 3 Solution Spring 2019
- ACC501 Assignment No 1 Solution Spring 2019
- CS502 Assignment No 3 Solution Spring 2019
- CS402 Assignment No 3 Solution Spring 2019
CS401 Assignment 3 Solution Sample Preview
Assignment Solution File Sample Page Preview has been added below with Solution File in .ppt format.
[org 0x0100]
jmp start
oldisr: dd 0 ; space for saving old isr
; keyboard interrupt service routine
kbisr:
push ax
push es
mov ax, 0xb800
mov es, ax ; point es to video memory
in al, 0x60 ; read a character from keyboard port
cmp al, 0x11 ; has the 'w' key pressed
jne nomatch ; no, go to nomatch
mov byte [es:0], '1' ; yes, print 1
mov byte [es:2], '5' ; yes print 0
jmp exit ; leave interrupt routine
nomatch:
pop es
pop ax
jmp far [cs:oldisr] ; call the original ISR
exit
mov al, 0x20
out 0x20, al ; sent EOI to PIC
pop es
pop ax
iret ; return from interrupt
start:
xor ax, ax
mov es, ax ; point es to IVT base
mov ax, [es:9*4]
mov [oldisr], ax ; save offset of old routine
mov ax, [es:9*4+2]
mov [oldisr+2], ax ; save segment of old routine
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 interrupt
mov dx, start ; end of resident portion
add dx, 15 ; round up to next para
mov cl, 4
shr dx, cl ; number of paras
mov ax, 0x3100 ; terminate and stay residant
int 0x21
CS401 Assignment no 3 Solution Spring 2019 Sample Preview |
[org 0x0100]
jmp start
oldisr: dd 0 ; space for saving old isr
; keyboard interrupt service routine
kbisr:
push ax
push es
mov ax, 0xb800
mov es, ax ; point es to video memory
in al, 0x60 ; read a character from keyboard port
cmp al, 0x11 ; has the 'w' key pressed
jne nomatch ; no, go to nomatch
mov byte [es:0], '1' ; yes, print 1
mov byte [es:2], '5' ; yes print 0
jmp exit ; leave interrupt routine
nomatch:
pop es
pop ax
jmp far [cs:oldisr] ; call the original ISR
exit
mov al, 0x20
out 0x20, al ; sent EOI to PIC
pop es
pop ax
iret ; return from interrupt
start:
xor ax, ax
mov es, ax ; point es to IVT base
mov ax, [es:9*4]
mov [oldisr], ax ; save offset of old routine
mov ax, [es:9*4+2]
mov [oldisr+2], ax ; save segment of old routine
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 interrupt
mov dx, start ; end of resident portion
add dx, 15 ; round up to next para
mov cl, 4
shr dx, cl ; number of paras
mov ax, 0x3100 ; terminate and stay residant
int 0x21
not downloading please provide solutiom as fast as possible
ReplyDeleteplzz cs401 ki 3rd assignment share kr de plzzzz mujy us ko kal submit krwana hy
ReplyDeletei need the solution code for assignment CS-401.
ReplyDeleteSolution has been added
ReplyDeletebai mre is coding me Id kaha kaha per mention krni ha
Deletethe added solution is wrong
ReplyDeletesir, instructions mein likha huya hy k "Your VU ID must be printed on the screen"
ReplyDeletehum ny kahan py likhni hy VU ID
Good
ReplyDelete