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

www.bit.ly/vucodes

+ Link For Assignments, GDBs & Online Quizzes Solution

www.bit.ly/papersvu

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

Assignment No. 02 Graded Semester: Fall 2018 CS609: System Programming Due Date: January 30, 2019

Assignment No. 02

Graded
Semester: Fall 2018

CS609: System Programming

Total Marks: 20

 

Due Date: January 30, 2019

 

Instructions:

 

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.

 

Objectives:

 

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

 

Lectures Covered:

 

This assignment covers lecture # 30 to lecture # 32

 

 

 

 

For any assignment related query, contact at CS609@vu.edu.pk

 

 

Problem Statements:

 

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)


Views: 3500

Replies to This Discussion

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 

Fall%202018_CS609_2.docx

ya file check karo right ha ya  wrong ha 

bai koi share kardaaa 

Ye kisi student ne reply kia tha same ques 1 k liye. Sirf 24 lec sun lein ques 1 hoo jaye ga.

Reply by Ali Raza on January 24, 2017 at 7:16pm
#include
#include
char st[80];
unsigned long int temp;
unsigned int i;
unsigned int count=48;
void main (void)
{
temp=(unsigned long int)_DS;
temp = temp 4L; i = *((unsigned int *)(&temp)); temp = temp>>16L;
outportb (0x81,*((unsigned char *)(&temp)));
outportb(0x06,*(((unsigned char *)(&i))));
outportb(0x06,*(((unsigned char *)(&i))+1));
count--;
outportb(0x07,*((unsigned char *)(&count)));
outportb(0x07,*(((unsigned char*)(&count))+1));
outportb(0x0b,0x0b);
outportb(0x08,0);
outport(0x0a,3);
getch();
}

This program is to transfer 48 byte with channel 3.
Watch lecture no 24 and try to edit this program according to assignment requirements... Just little bit change is required.

Answer no. 1

/* ISR Prototype */

 CY_ISR_PROTO(DmaInterruptHandler);

 /* ISR Implementation */

 CY_ISR(DmaInterruptHandler)

{

uint32 intr; /* Determine the interrupt source

 */ intr = CyDmaGetInterruptSourceMasked();

 /* Clear interrupt request */

 CyDmaClearInterruptSource(intr);

 /* Code to process the interrupt */

 }

 int main()

{

 /* Set interrupt vector for the DMA interrupt */ CyDmaSetInterruptVector(&DmaInterruptHandler);

 /* Enable interrupts */

 CyIntEnable(CYDMA_INTR_NUMBER); CyGlobalIntEnable;

 }

(a)

/* After transaction finishes */

 if (trig == 1)

 /* If trigger is high */

 {

 /* Wait for selected time or until trigger goes low */

Do

 {

 /* Increment on SYSCLK */

 num++;

 }

 while(num != triggerType && trig == 1)

 }

 /* Wait for new trigger */

 while(trig == 0);

 /* trigger new transaction */

 trigger;

RSS

Looking For Something? Search Here

Latest Activity

Bakhtawar khan liked ARhum's discussion Tu Bewafa Kahan TaK Hai,,,///
1 hour ago
Bakhtawar khan liked ARhum's discussion Poetry...!!!
2 hours ago
Bakhtawar khan liked Mani Siddiqui BS VIII's discussion FUNNY REPLY TO QARI SAHAB BY CUTE BABY
2 hours ago
Zunaira Nazir liked anees ahmad's discussion EDU 201 Final term Paper From 27-02-2016 to 09-03-2016
3 hours ago
Mani Siddiqui BS VIII posted discussions
3 hours ago
Mani Siddiqui BS VIII replied to Mani Siddiqui BS VIII's discussion مّخمصّہ
4 hours ago
Bakhtawar khan replied to Mani Siddiqui BS VIII's discussion مّخمصّہ
4 hours ago
Mani Siddiqui BS VIII posted a status
"کسی کی معصوم ہنسی کے پیچھے درد کو محسوس تو کرو سنا ہے ہنس ہنس کے لوگ خود کو سزا دیتے ہیں"
4 hours ago

HELP SUPPORT

This is a member-supported website. Your contribution is greatly appreciated!

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

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

.