Sunday, September 06, 2015

New Song




Radhe Radhe Lyrics - Charminar Lyrics

Song: Radhe Radhe
Movie: Charminar
Music: Hari

Olavaa Modala Jalaka.. Ada Nenedare Pulaka..
Dinavidee Kaadu Kulithe.. Edurige Bandalaake..
Parichaya Aadamele Hesara Hididu Karede..
Raadhe.. Raadhe.. Raadhe.. Raadhe..
Avaloda Jaagavella.. Chiguri Mella Mella..
Kogile Gaanavella.. Chimmuttide Mella..
Avaloda Jaagavella.. Chiguri Mella Mella..
Kogile Gaanavella.. Chimmuttide……
Raadhe.. Raadhe.. Raadhe.. Raadhe..
Raadhe.. Raadhe.. Raadhe.. Raadhe..

Parichayavaada Aa Dinagalu.. Kaledu Hoda Sihi Kshanagalu..
Koodi Kanda Sihi Kanasalu.. Eno Jaadu Kande..
Aparoopavaada Ee Vilevaari.. Preethiya Usaabari..
Olavigondu Hosa Khaatari.. Hego Neenu Thande..
Modala Kavithe Bareda Dina.. Nannolu Mechhina Kaviyaadena..
Marali Padeda Aa Chumbana.. Romaanchita Aade Naa..
Raadhe.. Raadhe.. Raadhe.. Raadhe..

Paripaatavaaythu Nanna Badukali.. Dinavu Kanasugala Haavali..
Ondondu Kanasina Daalige.. Hego Sothu Hode..
Vipareetavaada Ninna Olavali.. Karagi Hode Jadi Maleyali..
Nadeva Baare Kushi Kushiyali.. Kaiyya Hididukondu..
Ondondu Hejjeyu Balu Mohaka.. Nannola Maathe Sihi Chumbaka..
Thunthuru Hanigala Sinchana.. Sammohita Aade Naa..
Raadhe.. Raadhe.. Raadhe.. Raadhe..

Friday, May 08, 2015

loader 2

#include <stdio.h>
#include <stdlib.h>
FILE *fmapping;
FILE *ftmp;
void convert_internal_representation(int ts1,int ts2,int ts3,int ts4,int ts5,int ts6,int prev)
{
    if(fmapping==NULL)
    printf("Error\n");
    int addr=0;
    fmapping=fopen("mem_mapp.txt","a+");
    addr=prev+ts1;
    fprintf(fmapping,"%04x   %06x\n",addr,ts2);
    fprintf(fmapping,"%04x   %06x\n",addr+3,ts3);
    fprintf(fmapping,"%04x   %06x\n",addr+6,ts4);
    fprintf(fmapping,"%04x   %06x\n",addr+9,ts5);
    fprintf(fmapping,"%04x   %06x\n",addr+12,ts6);
    fprintf(fmapping,"\n\n");
    fclose(fmapping);
}
void table(int length)
{
    int prev_header=0;
    char hs1[10];
    int hstart_addr,hend_addr;
    char ds1[10],ds2[10];
    int dstart_addr,dend_addr;
    char rs1[10],rs2[10],rs3[10],rs4[10];
    char ms1[10],ms2[10],ms3[10];
    int ts1,ts2,ts3,ts4,ts5,ts6;
    char es1[10];
    char ch;
    FILE *fin=fopen("linking_input.txt","r");
    fmapping=fopen("mem_mapp.txt","w+");
    FILE *fout=fopen("estab.txt","w");
    if(fin==NULL||fout==NULL)
    {
        printf("Error\n");
        exit(1);
    }
    fscanf(fin,"%c",&ch);
    while(!feof(fin))
    {
        if(ch=='H')
        {
            fscanf(fin,"%s %x %x",hs1,&hstart_addr,&hend_addr);
            fprintf(fout,"\n%s %0.4x %0.4x\n",hs1,hstart_addr+length,hend_addr);
            prev_header+=hstart_addr+length;
        }
        else if(ch=='D')
        {
            fscanf(fin,"%s %x %s %x",ds1,&dstart_addr,ds2,&dend_addr);
            fprintf(fout,"\n\t%s %0.4x %s %0.4x\n",ds1,dstart_addr+length,ds2,dend_addr+length);
            length+=hend_addr;
        }
        else if(ch=='R')
        {
            fscanf(fin,"%s %s %s %s",rs1,rs2,rs3,rs4);
        }
        else if(ch=='T')
        {
            fscanf(fin,"%x %x %x %x %x %x ",&ts1,&ts2,&ts3,&ts4,&ts5,&ts6);
            convert_internal_representation(ts1,ts2,ts3,ts4,ts5,ts6,prev_header);
        }
        else if(ch=='M')
        {
            fscanf(fin,"%s %s %s",ms1,ms2,ms3);
        }
        else if(ch=='E')
        {
             fscanf(fin,"%s",es1);
             prev_header=0;
        }
        if(ch=='$')
        {
             fclose(fin);
             fclose(fout);
             return;
        }
        fscanf(fin,"%c",&ch);
    }
    fclose(fin);
    fclose(fout);
}
int main()
{
    int addr=0x4000;
    table(addr);
    return 0;
}




loader  1:



#include <stdio.h>
#include <stdlib.h>

typedef struct
{
   char s1[10],s2[10];int start_addr,end_addr;
}header;

typedef struct
{
   char s1[10],s2[10];int start_addr,end_addr;//s3[10];
}defn;

typedef struct
{
   char s1[10],s2[10],s3[10],s4[10];
}reference;


typedef struct
{
   char s1[10],s2[10],s3[10],s4[10];
}modification;


typedef struct
{
   char s1[10],s2[10],s3[10],s4[10],s5[10],s6[10];
}text;


typedef struct
{
   char s1[10];
}end;


void generate_external_symbol_table(int length)
{
    text t;
    reference r;
    defn d;
    header h;
    modification m;
    end e;

    //int end_length=0;
    char ch;
  //  FILE *fin=fopen("linking_input.txt","r");
      FILE *fin=fopen("input.txt","r");
   
    FILE *fout=fopen("External Symbol Table .txt","w");

    if(fin==NULL||fout==NULL)
    {
        printf("Error in opening Files\n");
        exit(1);
    }

    fscanf(fin,"%c",&ch);

    printf("\n\tSTARTING ADDRESS: %0.4x\n\n",length);
    printf("\n\n********* External Symbol Table Generated **************\n");

    while(!feof(fin))
    {
            if(ch=='H')
        {
          //  fprintf(fout,"%c ",ch);
            fscanf(fin,"%s %x %x",h.s1,&h.start_addr,&h.end_addr);
            printf("\n%s %0.4x %0.4x\n",h.s1,h.start_addr+length,h.end_addr);///////
             fprintf(fout,"\n%s %0.4x %0.4x\n",h.s1,h.start_addr+length,h.end_addr);///////
            // end_length=length+h.end_addr;
        }
        else if(ch=='D')
        {
            //  fprintf(fout,"%c ",ch);
               fscanf(fin,"%s %x %s %x",d.s1,&d.start_addr,d.s2,&d.end_addr);
               fprintf(fout,"\n\t%s %0.4x %s %0.4x\n",d.s1,d.start_addr+length,d.s2,d.end_addr+length);
               printf("\n\t%s %0.4x %s %0.4x\n",d.s1,d.start_addr+length,d.s2,d.end_addr+length);////
               length+=h.end_addr;
        }
         else if(ch=='R')
         {
              fscanf(fin,"%s %s %s %s",r.s1,r.s2,r.s3,r.s4);

         }
         else if(ch=='T')
         {
             fscanf(fin,"%s %s %s %s %s %s ",t.s1,t.s2,t.s3,t.s4,t.s5,t.s6);
         }
          else if(ch=='M')
          {
               fscanf(fin,"%s %s %s",m.s1,m.s2,m.s3);
          }
          else if(ch=='E')
          {
               fscanf(fin,"%s",e.s1);
          }

          if(ch=='$')
          {
               printf("\n*********************************************************\n\n");
               fprintf(fout,"\n\n\t\tExternal Symbol Table Generated\n");
              fclose(fin);
              fclose(fout);
               return;
          }
        fscanf(fin,"%c",&ch);
    }
               printf("\n********************************************************\n\n");
                fprintf(fout,"\n\n\t\tExternal Symbol Table Generated\n");
                fclose(fin);
                fclose(fout);
}

int main()
{
    int addr; 
    printf("\nEnter the Starting Address of Linking Loader in HEX\n");
     scanf("%x",&addr);
    generate_external_symbol_table(addr);
    return 0;
}