[Dashboard\VAZ\Lada Granta MC9S12HY64 ]
!Проверено!

Size(280,270); // ширина и высота

Form 
{
	Group("Пробег",5,13,130,50)
	{
		Digit(Distance," ",5,18,55);
		Label(lbkm,"КМ",80,20);
	}
	Group("Информация",5,80,270,45) 
	{
		Label(msg," ",0,18);
	}    
	Group("Описание",5,130,270,90) 
	{
		Label(lb1,"Калькулятор пробега для Lada Granta.",0,20);
		Label(lb2," Панель Ителма.Проц. MC9S12HY64.",0,35);
		Label(lb3,"Введите нужное значение в окне <Пробег>.",0,50);
		Label(lb4,"Нажмите кнопку <Применить>.",0,65);
	}
	Picture(Logo,"VAZ.bmp",170,10,0,0);
}

OnShow 

{
	Var0 = 0; Var1 = 1; Var2 = 0;
	Var2 = (@0x01 << 16) | (@0x02 << 8) | @0x03;
	Var0 = Var0 + (((Var2 >> 20) & 15) * 100000);
	Var0 = Var0 + (((Var2 >> 16) & 15) * 10000);
	Var0 = Var0 + (((Var2 >> 12) & 15) * 1000);
	Var0 = Var0 + (((Var2 >> 8) & 15) * 100);
	Var0 = Var0 + (((Var2 >> 4) & 15) * 10);
	Var0 = Var0 + (Var2 & 15);
	Var1 = ((@0x03+@0x02)+@0x01) & 255;
	msg.Color = 0xFF0000;
	msg.Bold = 1;
	msg = "Дамп ОК. Введите новый пробег.";
	Distance = Var0;
}

OnApply 

{
	Var3 = 0;
	Var0 = Distance;
	if(Var0 > 999999) {Var3 = 1;}
	if(Var3 != 0)
	{
		msg.Color = 0x0000FF;
		msg.Bold = 1;
		msg = "Пробег должен быть не более 999999 км";
	}
	else
	{
        Var0 = Distance;
		Var2 = Var0 % 10; Var0 = Var0 / 10;
		Var2 = Var2 | ((Var0 % 10) << 4); Var0 = Var0 / 10;  
		Var2 = Var2 | ((Var0 % 10) << 8); Var0 = Var0 / 10;  
		Var2 = Var2 | ((Var0 % 10) << 12); Var0 = Var0 / 10;  
		Var2 = Var2 | ((Var0 % 10) << 16); Var0 = Var0 / 10;  
		Var2 = Var2 | ((Var0 % 10) << 20);  
		Var5 = Var2 & 255;
		Var6 = Var2 >> 8;
		Var7 = Var2 >> 16;
		@0x03 = Var5; @0x02 = Var6;  @0x01 = Var7; Var1 = 0x00;
      while(Var1 != 0x01)
      {
       @Var1 = 0xFF; Var1 = Var1 + 1;
      } Var1 = 0x04;
      while(Var1 != 0x1D0)
      {
       @Var1 = 0xFF; Var1 = Var1 + 1;
      }
		
		msg.Color = 0xFF0000;
		msg.Bold = 1;
		msg = "Дамп OK. Новый пробег записан.";
	}
}