public void RST(int addr)
    {
         //PUSH( PC );
         Z80.SP.SetD((Z80.SP.D - 2) & 0xFFFF); 
         cpu_writemem16(Z80.SP.D, Z80.PC.L);
         cpu_writemem16((int)(Z80.SP.D + 1) & 0xffff, Z80.PC.H);
         //END OF PUSH
         Z80.PC.SetD(addr);
         change_pc16(Z80.PC.D);
    }