void stepinto()
      {
        debugMode = 0;
        new Memory();
        checkpoint.reset();
        backend.StepRun.transfer = 0;
        backend.step_over.otransfer = 0;
        backend.step_out.common = 0;
        backend.step_out.call = false;
        ScanFile.call_count = 0;
        backend.step_out.next = 0;
        backend.step_over.ocall = false;
        backend.step_over.ocommon = 0;
        backend.step_out.i = 0;
        backend.step_out.j = 0;
        backend.step_over.k = 0;
        backend.step_over.onext = 0;
        ini_line = 0;
        fin_line = 0;
        backend.StepRun.ini_line = 0;
        backend.StepRun.fin_line = 0;
        backend.StepRun.initial_pos = 0;
        BufferedWriter out = null;
        backend.Register.resetRegisters();
        clean_branchtable();
        clean_memtable();
        FrontEnd.run_stepOut.setEnabled(true);
        FrontEnd.run_stepOver.setEnabled(true);

        FrontEnd.r_stepOut.setEnabled(true);
        FrontEnd.r_stepover.setEnabled(true);
        FrontEnd.steprun.setEnabled(true);
        FrontEnd.run_Next.setEnabled(true);

        FrontEnd.reset.setEnabled(true);
        try
        {
            FrontEnd.exceptionraised = 0;
            File fin = null;
            int id = FrontEnd.EditorPane.getSelectedIndex();
            backend.Register.r[16].b = 0;

            backend.ScanFile.current_line = new Integer(0);
            if (FrontEnd.EditorPane.getToolTipTextAt(id) != null)
            {
//                FrontEnd.statuswindow.append("Saving File...\n");
                 FrontEnd.appendToPane(FrontEnd.statuswindow,"Saving File..\n",Color.BLACK);
                //frontend.FrontEnd.statuswindow.setCaretPosition(frontend.FrontEnd.statuswindow.getText().length());
                try
                {
                    FrontEnd.filepath = FrontEnd.EditorPane.getToolTipTextAt(id);
                    fin = new File(FrontEnd.filepath);
                    out = new BufferedWriter(new FileWriter(fin));
                    out.write(FrontEnd.activepane.getText());
                   // FrontEnd.statuswindow.append("PROGRAM STARTED " + FrontEnd.filepath + "\n");
                     FrontEnd.appendToPane(FrontEnd.statuswindow,"PROGRAM STARTED\n",Color.GREEN);
                    //frontend.FrontEnd.statuswindow.setCaretPosition(frontend.FrontEnd.statuswindow.getText().length());
                    //StepRunWindow obj = new StepRunWindow(new javax.swing.JFrame(), true);
                    backend.ScanFile.path = fin;
                    backend.ScanFile.br = new RandomAccessFile(fin, "r");
                    int ct_line = 0;
                    backend.ScanFile.br.seek(0);

                    String file_text = frontend.FrontEnd.activepane.getText();
                    String[] lines = file_text.split("\r\n|\r|\n");
                    ct_line = lines.length;
                    //System.out.println("number of lines " + ct_line);

                    backend.ScanFile.pos = backend.ScanFile.br.getFilePointer();
                    //obj.call(fin);
                    FrontEnd.steprun.setVisible(true);
                    FrontEnd.stop_debug_mode.setVisible(true);

                    f = 0;
                    b = new checkpoint(ct_line);
                    FrontEnd.addTab(b);

                } catch (IOException ex)
                {
                    FrontEnd.appendToPane(FrontEnd.statuswindow,"Error Occured While Saving File\n",Color.BLACK);
//                    FrontEnd.statuswindow.append("Error occured while saving file...\n");
                   // FrontEnd.statuswindow.append(ex.getStackTrace().toString());
                     FrontEnd.appendToPane(FrontEnd.statuswindow,ex.getStackTrace().toString(),Color.BLACK);
                    //frontend.FrontEnd.statuswindow.setCaretPosition(frontend.FrontEnd.statuswindow.getText().length());
                } finally
                {
                    try
                    {
                        out.close();
                    } catch (IOException ex)
                    {
                        //FrontEnd.statuswindow.append("Error occured while saving file...\n");
                        //FrontEnd.statuswindow.append(ex.getStackTrace().toString());
                         FrontEnd.appendToPane(FrontEnd.statuswindow,"Error Occured While Saving File\n",Color.BLACK);
                          FrontEnd.appendToPane(FrontEnd.statuswindow,ex.getStackTrace().toString(),Color.BLACK);
                        //frontend.FrontEnd.statuswindow.setCaretPosition(frontend.FrontEnd.statuswindow.getText().length());
                        frontend.FrontEnd.exceptionraised++;
                    }
                }

            } else
            {
                try
                {
                    // Create temp file.
                    File temp = File.createTempFile("temp", ".s");
                    FrontEnd.filepath = null;
                    out = null;
                    try
                    {
                        out = new BufferedWriter(new FileWriter(temp));
                        out.write(FrontEnd.activepane.getText());
                        //statuswindow.append("Compiling source file " + filepath + "\n");
                        // StepRunWindow obj = new StepRunWindow(new javax.swing.JFrame(), true);
                        backend.ScanFile.path = temp;
                        // obj.call(temp);
                        backend.ScanFile.br = new RandomAccessFile(temp, "rw");
                        backend.ScanFile.pos = backend.ScanFile.br.getFilePointer();
                        FrontEnd.steprun.setVisible(true);
                        FrontEnd.stop_debug_mode.setVisible(true);
                        int ct_line = 0;
                        backend.ScanFile.br.seek(0);

                        String file_text = frontend.FrontEnd.activepane.getText();
                        String[] lines = file_text.split("\r\n|\r|\n");
                        ct_line = lines.length;
                        //System.out.println("number of lines " + ct_line);

                        backend.ScanFile.pos = backend.ScanFile.br.getFilePointer();
                        //obj.call(fin);
                        FrontEnd.steprun.setVisible(true);
                        FrontEnd.stop_debug_mode.setVisible(true);

                        f = 0;
                        b = new checkpoint(ct_line);
                        FrontEnd.addTab(b);

                    } catch (IOException ex)
                    {
                         FrontEnd.appendToPane(FrontEnd.statuswindow,"Error Occured..\n",Color.BLACK);
                         FrontEnd.appendToPane(FrontEnd.statuswindow,ex.getStackTrace().toString(),Color.BLACK);
//                         FrontEnd.statuswindow.append("Error occured ...\n");
//                        FrontEnd.statuswindow.append(ex.getStackTrace().toString());
                        //frontend.FrontEnd.statuswindow.setCaretPosition(frontend.FrontEnd.statuswindow.getText().length());
                    } finally
                    {
                        try
                        {
                            out.close();
                        } catch (IOException ex)
                        {
                             FrontEnd.appendToPane(FrontEnd.statuswindow,"Error Occured...\n",Color.BLACK);
                            FrontEnd.appendToPane(FrontEnd.statuswindow,ex.getStackTrace().toString(),Color.BLACK);
//                             FrontEnd.statuswindow.append("Error occured ...\n");
//                            FrontEnd.statuswindow.append(ex.getStackTrace().toString());
                            //frontend.FrontEnd.statuswindow.setCaretPosition(frontend.FrontEnd.statuswindow.getText().length());
                            //frontend.FrontEnd.exceptionraised++;
                        }
                    }

                    temp.deleteOnExit();

                } catch (IOException e)
                {
                }
            }

        } catch (Exception ex)
        {
            Logger.getLogger(FrontEnd.class.getName()).log(Level.SEVERE, null, ex);
        }

      }