[Dashboard\Land Rover\Range Rover HSX BCM MC68HC11KA4]

Size(280,310); 

Form 
{
    Group("Пробег",5,10,110,50)
    {
    Digit(Distance," ",5,18,50);
    Label(lbkm,"км",80,20);
    }
    Group("Информация",5,120,270,45) 
    {
    Label(Message," ",0,18);
    }    
	Group("Login",5,65,270,45)
    {
    Label(login," ",0,20);
    } 
    Group("Описание",5,175,270,90) 
    {
    Label(lb1,"Калькулятор пробега для Range Rover HSX",0,20);
    Label(lb2,"MC68HC11KA4 2E59B Internal EEPROM",0,35);
    Label(lb3,"Введите нужное значение в окне <Пробег>",0,50);
    Label(lb4,"Нажмите кнопку <Применить>",0,65);
    }
    Picture(Logo,"Lrover.bmp",155,15,0,0);
}

OnShow 

{   

	Message.Bold=1; Message.Alignment=1;
    Var10=(@0x196<<16)|(@0x197<<8)|@0x198;
	// переводим в двоично-десятичный вид
	Var0=((Var10>>20)&15)*100000;
	Var0=Var0+(((Var10>>16)&15)*10000);
	Var0=Var0+(((Var10>>12)&15)*1000);
	Var0=Var0+(((Var10>>8)&15)*100);
	Var0=Var0+(((Var10>>4)&15)*10);
	Var0=Var0+(Var10&15);
	Distance=Var0;
	
	Var11=(@0x18E<<8)|@0x18F;
	// переводим в двоично-десятичный вид
	Var20=(((Var11>>12)&15)*1000);
	Var20=Var20+(((Var11>>8)&15)*100);
	Var20=Var20+(((Var11>>4)&15)*10);
	Var20=Var20+(Var11&15);
	if (Var20<=9999) {Login=#b.@0x18E+#b.@0x18F;} else {Login="Не определен";}
	
    message.Color=0xFF0000;  message="Дамп ОК, нажмите кнопку <Применить>";
}

OnApply

{
	if(Distance>999999) {message.Color=0x0000FF; Message="Пробег должен быть не более 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);
	// заполняем дамп
	@0x196=Var2>>16;@0x197=Var2>>8;@0x198=Var2;
	message.Color=0xFF0000; message="Дамп ОК. Новый пробег записан.";
	}
}
