Skip to content

CS609 - System Programming

2 Topics 76 Posts
  • 0 Votes
    3 Posts
    583 Views
    wajiha AsifW
    Solution://Header Files #include<stdio.H> #include<DOS.H> #include<BIOS.H> void interrupt (*oldint65)(); //To store current interrupt char far *scr=(char far* ) 0xb8000000; void interrupt newint65();//NewInt prototype void main() { oldint65 = getvect(0x65); setvect(0x65, newint65); getch(); keep(0, 1000); } void interrupt newint65() {clrscr(); *scr=8; (*scr)=0x174D; (*(scr+2))=0x1743; (*(scr+4))=0x1731; (*(scr+6))=0x1739; (*(scr+8))=0x1730; (*(scr+10))=0x1734; (*(scr+12))=0x1730; (*(scr+14))=0x1736; (*(scr+16))=0x1734; (*(scr+18))=0x1730; (*(scr+20))=0x1734; }

    429e7ece-92cc-4cef-a09c-e90f8b391518-image.png
    3e679fbc-5b4c-4ac1-a4c8-107d83737325-image.png

  • 0 Votes
    4 Posts
    516 Views
    cyberianC

    @moaaz
    Another Idea solution

    #include <bios.h> #include <dos.h> FILE *fp; unsigned char buf[1024]; unsigned char st[60]; unsigned char headno[10]; unsigned char secno[10]; unsigned char trackno[10]; void main (void) { int i; for (i=0; i<1024; i++) buf[i]=0; gets(st); fp=fopeon(st,”wb”); printf(“Head”); gets(headno); puts(headno); printf(“/nsector ”); gets(secno); puts(secno); printf(“/ntrack ”); gets(trackno); puts(trackno); i = biosdisk(2, 0x80, atoi(headno), atoi(trackno), atoi(trackno), 2,buf); } if(*(((char *)(&i))+1)= =0) { fwrite(buf,2,1024,fp); fclose(fp); } else { printf(“Cannot Read Error# = %x” i); }