Assignment No. 02
CS609: System Programming
Total Marks: 20
Due Date: January 30, 2019
Please read the following instructions carefully before submitting assignment. It should be clear that your assignment will not get any credit if:
§ The assignment is submitted after due date.
§ The submitted assignment does not open or file is corrupt.
§ You have not followed steps described in Detailed Instructions of the problem statement.
§ Assignment is copied (partial or full) from any source (websites, forums, students, etc.) Strict action will be taken in this regard.
Note: You have to upload only .doc or .docx file. Assignment in any other format (extension) will not be accepted and will be awarded with zero marks.
The objective of this assignment is to provide hands-on experience of System Programming concepts including:
· Understanding of BIOS Parameter Block and Drive Parameter Block
· Generating undocumented interrupt service(s)
· Using Debug feature of command prompt
· Executing assembly instructions in Debug mode of command prompt
· Taking memory dump
· How to read and extract information from memory dump
This assignment covers lecture # 30 to lecture # 32
For any assignment related query, contact at CS609@vu.edu.pk
TASK 1: [Marks = 10]
You are required to write a program in C language setting up a Slave DMA Channel 1 that can transfer 100 bytes in which auto initialization should be off and Channel 1 should be in single transfer mode of read cycle.
TASK 2: [Marks = 10]
Write a C language code snippet / function which enable you to get FAT version running on your machine. (Note: You are not required to write a complete program.)
Best of Luck!
+ 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)
samjha hi nahe a rahe kia idea da
Taras nahi arha mada banda per yeh pure coding han nahi hogi time short han zeroooooooooooooooooooooo agya
yar extended hai k nai koi b share nai karaha
yes extended day ha
ya file check karo right ha ya wrong ha
bai koi share kardaaa
Answer no. 1
/* ISR Prototype */
/* ISR Implementation */
uint32 intr; /* Determine the interrupt source
*/ intr = CyDmaGetInterruptSourceMasked();
/* Clear interrupt request */
/* Code to process the interrupt */
/* Set interrupt vector for the DMA interrupt */ CyDmaSetInterruptVector(&DmaInterruptHandler);
/* Enable interrupts */
/* After transaction finishes */
if (trig == 1)
/* If trigger is high */
/* Wait for selected time or until trigger goes low */
/* Increment on SYSCLK */
while(num != triggerType && trig == 1)
/* Wait for new trigger */
while(trig == 0);
/* trigger new transaction */