CS609 Assignment No. 1 Solution and Discussion


  • Cyberian's Gold

    Semester: Fall 2019
    

    CS609: System Programming
    Graded
    Assignment No. 01 Total Marks: 20

    Due Date: Nov 11, 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:

    • How can interrupts be generated
    • What are Interrupts
    • Interrupt functions writing
    • BIOS data area.
    • TSR program
    • Calling interrupt functions

    For any assignment related query, contact at

    Problem Statement:
    You are required to write a C program using interrupt 21H to print 3 string arrays i.e “Virtual University of Pakistan”, your own Student Name and father name. Your program should intercept the timer interrupt to call a function name “ScrollLock” to switch on the ScrollLock on the keyboard when the timer interrupt 8h occurs.
    Instructions:

    1. Declare 3 character strings st1,st2,st3 having Values, Virtual University of Pakistan, your own Student Name and Father Name respectively.
    2. In this program, you will implement interrupt 21H to print the character string values on the top.
    3. Place service number 0x09 in AH register and String in DX to print strings.
    4. You should save interrupt 8H vector in a pointer to vector variable name old through getvect() instruction.
    5. Call any new function called i.e ScrollLock( ) through setvect instruction.
    6. Use keep() function to make this program TSR.

    Note: Your assignment file should be a single Word file (.doc or .docx)


  • Cyberian's Gold

    Semester: Spring 2020
    CS609: System Programming
    Graded
    Assignment No. 01 Total Marks: 20

    Due Date: May 27, 2020

    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:

    • Basic interrupts
    • Invoking interrupts
    • Register Values

    For any assignment related query, contact at [email protected]

    Problem Statement:
    Q: Write C program to switch on any one of the toggle button i.e Caps Lock, Scroll Lock and Num Lock by taking any one input i.e 1,2 and 3 respectively. Using Switch Case Statement, switch on the appropriate toggle button and show message for that button. For example if the user enter 3 then Num Lock should be on and message should be displayed “Num Lock is On”
    Store all the following 5 lines of strings in 5 array st1,st2,st3, st4, st5 and through interrupt 65H print proper message i.e
    Which toggle button you want to switch on:
    Press 1 for Caps Lock
    Press 2 for Scroll Lock
    Press 3 for Num Lock
    Press Key(1/2/3):
    Instructions:

    1. Include all header files and declare 5 string arrays for messages.
    2. You should save interrupt 65H vector in a pointer to vector variable name oldint65 through getvect instruction.
    3. Call any new function i.e newint65( ) through setvect instruction.
    4. Then use scanf to take input in an integer variable i.e scanf(“%d”, &i)
    5. Place service number in AH register. Interrupt 65H will check its value and will perform relevant function.
    6. Interrupt 65H function must check for Service Number using Switch Statement.
    7. Use keep() function to make this program TSR.
      Note: Your assignment solution will be in this Word file (.doc or .docx)containing code of C
      Best of Luck!

    Solution:


  • Cyberian's Gold

    CS609 Assignment 1 Solution Idea!..

    #include<BIOS.H>
    #include<DOS.H>
    char st1[80] ={"Virtual University of Pakistan$"};
    char st2[80] ={"Washi Ali$"};
    char st2[80] ={"Tufail$"};
    void interrupt (*oldint65)( );
    void interrupt newint65( );
    void main()
    {
    oldint65 = getvect(0x65);
    setvect(0x65, newint65);
    keep(0, 1000);
    }
    void interrupt newint65( )
    {
    switch (_AH)
    {
    case 0:
    _AH = 0x09;
    _DX = (unsigned int) st1;
    geninterrupt (0x21);
    break;
    case 1:
    _AH = 0x09;
    _DX = (unsigned int) st2;
    geninterrupt (0x21);
    break;
    case 2:
    _AH = 0x09;
    _DX = (unsigned int) st3;
    geninterrupt (0x21);
    break;
    }
    }
    }```

  • Cyberian's Gold


  • Cyberian's Gold

    CS609 assignment #1 solution
    Please check handout example on pg #26.

    04 - TSR programs and Interrupts



Quiz 100% Result Quiz 100% Result
| |