We have been working very hard since 2009 to facilitate in learning Read More. We can't keep up without your support. Donate.


+ Link For Assignments, GDBs & Online Quizzes Solution


+ Link For Past Papers, Solved MCQs, Short Notes & More

Computer Architecture and Assembly Language Programming (CS401)

Assignment # 03


Total marks = 20                                       Deadline Date

20th of July,



Please carefully read the following instructions before attempting assignment.



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 submitted solution is copied from any other student or from the internet.


You should consult the recommended books to clarify your concepts as handouts are not sufficient.


You are supposed to submit your assignment in .doc or docx format.

Any other formats like scan images, PDF, zip, rar, ppt and bmp etc will not be accepted.


Topic Covered:

·         BIOS and DOS interrupts

·         Hardware Interrupts

·         Ports



No assignment will be accepted after the due date via email in any case (whether it is the case of load shedding or internet malfunctioning etc.). Hence refrain from uploading assignment in the last hour of deadline. It is recommended to upload solution file at least two days before its closing date.


If you people find any mistake or confusion in assignment (Question statement), please consult with your instructor before the deadline. After the deadline no queries will be entertained in this regard.


For any query, feel free to email at:




Questions No 01                                                    20 marks


Suppose, you are interfacing an old monochrome dot matrix printer (receipt printer) with your computer’s parallel port. The stated dot matrix printer will print receipts character wise, so the system will transmit each character parallelly.


The printer will be operated as under:


1. First, you should select the printer by setting “select printer” pin on your parallel port.

2. Initialize printer by sending initialize signal.

3. Read “acknowledge” pin.

4. Transmit ASCII character data to the data port of the parallel port.

5. Clear initialize signal.

6. Deselect printer.


You should write a subroutine to print


“Welcome to Virtual University of Pakistan”


Your subroutine will get each character as an input from keyboard using interrupt mechanism and transmit it to the printer port according to the stated working mechanism.

+ http://bit.ly/vucodes (Link for Assignments, GDBs & Online Quizzes Solution)

+ http://bit.ly/papersvu (Link for Past Papers, Solved MCQs, Short Notes & More)

+ Click Here to Search (Looking For something at vustudents.ning.com?)

+ Click Here To Join (Our facebook study Group)

Views: 11308


Replies to This Discussion


bhai assembly ke coding simple notepad file main likhtay hain phir iss koo compile kertay hain oor uss say .com and .lst file banatay hain......

don't be confused yeah language zaror perho kiun kay yeah to basic hai hardware engineering kee.

OOOooooooooooooooooooo  bhaaay0!!!!!!!!!!!!!!!!!!!!!!!!!!!

Theek solution kisi ko mila kya>????

Plz solution  plzzzzz??????

sir ye coding dev c++ may compile ho gi kia....

ms word me code save kro or sbmit krdo jani

OOOooooooooooooooooooo  bhaaay0!!!!!!!!!!!!!!!!!!!!!!!!!!!

Theek solution kisi ko mila kya>????

Plz solution  plzzzzz??????

Dear Students Don’t wait for solution post your problems here and discuss ... after discussion a perfect solution will come in a result. So, Start it now, replies here give your comments according to your knowledge and understandings....

noooooooooooo asssssss

koi ni yar......

YEH is Assignment jasi hai Just vu ID nd name ki jaga Welcome to virtual University of pakistan krdain

Assignment no 3
Q no 1 :

; print string using bios service
[org 0x0100]
jmp start
message: db 'Hello World'

start: mov ah, 0x13 ; service 13 - print string
mov al, 1 ; subservice 01 – update cursor
movbh, 0 ; output on page 0
movbl, 7 ; normal attrib
mov dx, 0x0A03 ; row 10 column 3
mov cx, 11 ; length of string
push cs
pop es ; segment of string
movbp, message ; offset of string
int 0x10 ; call BIOS video service

mov ax, 0x4c00 ; terminate program
int 0x21

; print string and keyboard wait using BIOS services
[org 0x100]
jmp start

msg1: db 'hello world', 0
msg2: db 'hello world again', 0
msg3: db 'hello world again and again', 0

;;;;; COPY LINES 005-024 FROM EXAMPLE 7.1 (clrscr) ;;;;;
;;;;; COPY LINES 050-090 FROM EXAMPLE 7.4 (printstr) ;;;;;
;;;;; COPY LINES 028-050 FROM EXAMPLE 7.4 (strlen) ;;;;;

start: mov ah, 0x10 ; service 10 – vga attributes
mov al, 03 ; subservice 3 – toggle blinking
movbl, 01 ; enable blinking bit
int 0x10 ; call BIOS video service

mov ah, 0 ; service 0 – get keystroke
int 0x16 ; call BIOS keyboard service

call clrscr ; clear the screen

mov ah, 0 ; service 0 – get keystroke
int 0x16 ; call BIOS keyboard service

busy bit P1.5
strobe bit P1.4
portDataequ P2
org 0h
call word_Welcome ; to print ' Welcome To '
call enter ; new line feed
call word ; to print ' Virtual university Pakistan '
call enter ; new line feed
quit: sjmpQuit ; Hang Forever until reset pressed
;This subroutine is used to print single character
;trough Port Data
;before printing a character,a busy signal must be detected
;till a low logic received, than a strobe pulse
;must be generate to starts printing a character.

Is mei Hello world kahan sy a gaya Tariq Mian !

yar confirm solution ni hy ksi kay pas????


© 2021   Created by + M.Tariq Malik.   Powered by

Promote Us  |  Report an Issue  |  Privacy Policy  |  Terms of Service