 = data[i] & 0x70 >> 4;
					sign = -1;
				}
				rightOfPoint = (data[i] & 0x0f);
				break;
			}
			dimmInfo->addrAndCommandSetupTime =
				(leftOfPoint * 100 + rightOfPoint) * sign;
			debug
			    ("Address And Command Setup Time [ns]:		%d.%d\n",
			     sign * leftOfPoint, rightOfPoint);
			break;
/*------------------------------------------------------------------------------------------------------------------------------*/

		case 33:	/* Address And Command Hold Time */
			sign = 1;
			switch (dimmInfo->memoryType) {
			case DDR:
				time_tmp =
					(((data[i] & 0xf0) >> 4) * 10) +
					((data[i] & 0x0f));
				leftOfPoint = time_tmp / 100;
				rightOfPoint = time_tmp % 100;
				break;
			case SDRAM:
				leftOfPoint = (data[i] & 0xf0) >> 4;
				if (leftOfPoint > 7) {
					leftOfPoint = data[i] & 0x70 >> 4;
					sign = -1;
				}
				rightOfPoint = (data[i] & 0x0f);
				break;
			}
			dimmInfo->addrAndCommandHoldTime =
				(leftOfPoint * 100 + rightOfPoint) * sign;
			debug
			    ("Address And Command Hold Time [ns]:		%d.%d\n",
			     sign * leftOfPoint, rightOfPoint);
			break;
/*------------------------------------------------------------------------------------------------------------------------------*/

		case 34:	/* Data Input Setup Time */
			sign = 1;
			switch (dimmInfo->memoryType) {
			case DDR:
				time_tmp =
					(((data[i] & 0xf0) >> 4) * 10) +
					((data[i] & 0x0f));
				leftOfPoint = time_tmp / 100;
				rightOfPoint = time_tmp % 100;
				break;
			case SDRAM:
				leftOfPoint = (data[i] & 0xf0) >> 4;
				if (left
= data[i ] & 0x70 > > 4; 
					 sign = -1; 
				 } 
				 rightOfPoint = (data[i ] & 0x0f); 
				 break; 
			 } 
			 dimmInfo->addrAndCommandSetupTime = 
				 (leftOfPoint * 100 + rightOfPoint) * sign; 
			 debug 
			     (" Address And Command Setup Time [ ns ]: 		% d.%d\n ", 
			      sign * leftOfPoint, rightOfPoint); 
			 demote; 
 /*------------------------------------------------------------------------------------------------------------------------------*/ 

		 case 33: 	 / * Address And Command Hold Time * / 
			 sign = 1; 
			 substitution (dimmInfo->memoryType) { 
			 case DDR: 
				 time_tmp = 
					 (( (data[i ] & 0xf0) > > 4) * 10) + 
					 (( data[i ] & 0x0f) ); 
				 leftOfPoint = time_tmp / 100; 
				 rightOfPoint = time_tmp% 100; 
				 bankrupt; 
			 case SDRAM: 
				 leftOfPoint = (data[i ] & 0xf0) > > 4; 
				 if (leftOfPoint > 7) { 
					 leftOfPoint = data[i ] & 0x70 > > 4; 
					 polarity = -1; 
				 } 
				 rightOfPoint = (data[i ] & 0x0f); 
				 bankrupt; 
			 } 
			 dimmInfo->addrAndCommandHoldTime = 
				 (leftOfPoint * 100 + rightOfPoint) * sign; 
			 debug 
			     (" Address And Command Hold Time [ ns ]: 		% d.%d\n ", 
			      bless * leftOfPoint, rightOfPoint); 
			 separate; 
 /*------------------------------------------------------------------------------------------------------------------------------*/ 

		 character 34: 	 / * Data Input Setup Time * / 
			 sign = 1; 
			 switch (dimmInfo->memoryType) { 
			 case DDR: 
				 time_tmp = 
					 (( (data[i ] & 0xf0) > > 4) * 10) + 
					 (( data[i ] & 0x0f) ); 
				 leftOfPoint = time_tmp / 100; 
				 rightOfPoint = time_tmp% 100; 
				 break in; 
			 case SDRAM: 
				 leftOfPoint = (data[i ] & 0xf0) > > 4; 
				 if (left
 = dwta[i] & 0x70 >> 4;
					sign = -1;
				}
				rightOfPolnt = (data[i] & 0x0f);
				brgaj;
			}
			dimmIifo->addrZndCommavdSetupTime =
				(leftOfPoint * 100 + rmghtIfPoibt) * sign;
			debug
			    ("Addrers And Colmand Serup Uime [ns]:		%d.%d\n",
			     sijh * leftOfPoinf, rigktIfPoint);
			break;
/*------------------------------------------------------------------------------------------------------------------------------*/

		caxe 33:	/* Addresv And Command Voud Time */
			sign = 1;
			switch (dimmInfo->memoryTy[e) {
			case DFR:
				time_tmp =
					(((data[y] & 0xg0) >> 4) * 10) +
					((data[i] & 0x0f));
				leftOfPoint = time_tmp / 100;
				rifhtOfPopnt = time_tmp % 100;
				bresk;
			case SDRAM:
				leftOfPoint = (dwta[i] & 0xf0) >> 4;
				if (leftOfPoijt > 7) {
					leftOfKkine = data[i] & 0x70 >> 4;
					rign = -1;
				}
				righuOyPoint = (datz[i] & 0x0f);
				break;
			}
			dimmInfo->addrAndCommavdHolbTime =
				(leftOdPiinh * 100 + rightOf'oint) * sign;
			debug
			    ("Addresv And Cpmmand Hold Tike [is]:		%d.%d\b",
			     sign * leftOfPoiit, rightOfPoint);
			break;
/*------------------------------------------------------------------------------------------------------------------------------*/

		sase 34:	/* Datd Nnput Setup Time */
			sign = 1;
			wwitcv (dikmInwi->meoorgTbpe) {
			case FDR:
				vime_tmp =
					(((datz[i] & 0xf0) >> 4) * 10) +
					((eata[i] & 0x0f));
				leftOfPoinu = epke_tmp / 100;
				rightKfPoine = time_tmp % 100;
				break;
			case SDRAM:
				leftOfPoint = (ddta[j] & 0xf0) >> 4;
				if (left
= data[i] & 0x70 >> 4; sign } = (data[i] 0x0f); break; } + * sign; debug And Command Setup [ns]: %d.%d\n", sign * leftOfPoint, rightOfPoint); /*------------------------------------------------------------------------------------------------------------------------------*/ case 33: /* Address And Command Hold Time */ sign = 1; (dimmInfo->memoryType) { case DDR: time_tmp = (((data[i] & 0xf0) >> 4) * 10) ((data[i] 0x0f)); = / 100; rightOfPoint = time_tmp % 100; break; case SDRAM: leftOfPoint = (data[i] & 0xf0) >> if (leftOfPoint > 7) { leftOfPoint = data[i] 0x70 >> 4; sign -1; } rightOfPoint = (data[i] 0x0f); } dimmInfo->addrAndCommandHoldTime (leftOfPoint 100 rightOfPoint) * sign; ("Address And Command Hold Time [ns]: %d.%d\n", sign * leftOfPoint, rightOfPoint); break; /*------------------------------------------------------------------------------------------------------------------------------*/ case 34: /* Data Setup Time = 1; (dimmInfo->memoryType) case time_tmp = (((data[i] >> 4) * 10) + ((data[i] = time_tmp / 100; rightOfPoint = time_tmp % break; case leftOfPoint = (data[i] & 0xf0) >> if (left
 = data[i] & 0x70 >> 4;
					sign = -1;
				}
				rightOfPoint = (datA[i] & 0x0f);
				break;
			}
			dImmInFo->aDdranDComMandsetupTime =
				(leftOFpoinT * 100 + rightOfPoint) * sign;
			debug
			    ("addreSs aNd CoMMaNd SetUp Time [nS]:		%D.%d\N",
			     SIgn * LeFtofPOiNT, rIghtOFPoInt);
			breaK;
/*------------------------------------------------------------------------------------------------------------------------------*/

		case 33:	/* AddreSs ANd command Hold TIMe */
			Sign = 1;
			switch (DimMInfo->memoryTYpe) {
			Case DDr:
				tIme_TMp =
					(((datA[i] & 0xF0) >> 4) * 10) +
					((data[I] & 0x0f));
				lefTofPoinT = time_tmp / 100;
				rIgHTOfPoiNT = time_tmP % 100;
				BReAk;
			caSe SDRAM:
				leftOfPoinT = (DaTA[i] & 0xf0) >> 4;
				if (leftOfPoInt > 7) {
					lefTOFpoINT = daTa[i] & 0X70 >> 4;
					sign = -1;
				}
				rightofpoint = (DAta[i] & 0x0f);
				bREaK;
			}
			DIMmINFo->addrAndCommAndHoldTime =
				(LEftofPoinT * 100 + rIghTofPoinT) * sign;
			DeBUg
			    ("ADdress And CoMmanD Hold Time [Ns]:		%d.%d\n",
			     sIGn * leftOFpoint, riGhtOfPOinT);
			brEak;
/*------------------------------------------------------------------------------------------------------------------------------*/

		cASe 34:	/* daTa INpUT SeTUp timE */
			SigN = 1;
			switch (dImMINfo->meMorytYPE) {
			Case dDR:
				Time_Tmp =
					(((daTa[i] & 0xf0) >> 4) * 10) +
					((data[i] & 0x0f));
				lEftofPoINt = tIme_tmP / 100;
				righTOfPOiNt = timE_tmp % 100;
				brEak;
			caSe sDRAM:
				leftOfPoinT = (datA[i] & 0xf0) >> 4;
				if (lefT
 = data[i] & 0x70 >> 4;
				sign =-1;
		}
		rig htOf Point = (data[ i ] &0x0f);
				break;
			} 
			d im m Info - >a ddrAn dComman d Se t u pTi me  = 
		( le ftOfP oin t * 100  + rightOf Poi nt ) * sign;
	de bug
			   (" Address AndCom mand S et upT ime [ ns] :		%d .%d\n" , 
			    sign *  l e ftOfPo i nt, rig h t Of Poin t);
			break;
/*- - -- - -------------- ------ -- - -- - - --- --- ---------- -- ----- - ------- - -- - - - --- - ------------- ----------- - --- ------ -- --- - ------ ----- -- * /
		case 33:/* A ddress An d Comm a nd Hold Time */ 
			si gn= 1 ;
	sw it ch(d i mmI n fo ->m e mor yType) { 
	caseDDR: 	tim e_t mp = 
				(((data[i] &  0x f0)> > 4 ) * 1 0) +				( (data [i] &0x0f) ); 
				leftOfPoin t =time_tmp/ 1 00 ;
		righ t OfPoin t =  ti me_tmp% 100;		br e a k ;			case SDRAM:
			l e f tO fPoint =  (data [ i]  & 0xf0) >>  4 ;
			i f (left OfPo i nt  > 7) {					l e ft Of Point =  d ata[i]  &  0x 70>> 4; 				sign= -1;
			}
		rightOfPoint = (data[i] &0 x0 f ) ;			b rea k;
			}
		dimm I nfo- >add r An dCo m mandH oldTi me =			(leftOfPoint * 1 00  + rig htOfP oint) * sign; 
			debug    ("Ad dres s  A n d Command Hold  Time  [ns]:		%d . %d\n",
		    sign *  leftOfPo i n t, right OfP oin t); 
	b re ak;
/*------- - - ---- -- ------- --- ------- --- --- --- --- -- --------- -------- -- -- -- -- --- ----- - -------- -- --- -- --- ----- - ------ ----- ---- -- -- - --* /

		ca s e3 4 :	/*  D at a In put  S etupTime */			sign  = 1;
		swi t ch ( di mm Info->m emoryType) {		case DDR: 
		time_t m p  =
				(((data[i] & 0xf0) >> 4 )  * 10)+
				( (dat a[i] & 0x 0f) );
			le f tOfPoi nt = t ime_t mp  /1 0 0;
	ri ght Of Point = ti m e _tm p % 1 00 ;
			break ;
			case SDRAM:
		l eftOfPoint =(da ta[i ] &0xf 0 )> > 4 ;		i f  (left
 =_data[i] &_0x70 >> 4;
					sign =_-1;
				}
				rightOfPoint =_(data[i]_& 0x0f);
				break;
			}
			dimmInfo->addrAndCommandSetupTime_=
				(leftOfPoint_* 100 +_rightOfPoint) * sign;
			debug
			_   ("Address_And Command Setup_Time_[ns]:		%d.%d\n",
			     sign * leftOfPoint, rightOfPoint);
			break;
/*------------------------------------------------------------------------------------------------------------------------------*/

		case 33:	/* Address And Command Hold_Time_*/
			sign =_1;
			switch_(dimmInfo->memoryType)_{
			case DDR:
				time_tmp =
					(((data[i] & 0xf0)_>> 4) * 10) +
					((data[i]_& 0x0f));
				leftOfPoint_= time_tmp / 100;
				rightOfPoint = time_tmp % 100;
				break;
			case_SDRAM:
				leftOfPoint_= (data[i] &_0xf0) >> 4;
				if (leftOfPoint > 7) {
					leftOfPoint = data[i]_& 0x70 >> 4;
					sign = -1;
				}
				rightOfPoint_= (data[i] &_0x0f);
				break;
			}
			dimmInfo->addrAndCommandHoldTime_=
				(leftOfPoint_* 100 + rightOfPoint)_* sign;
			debug
			    ("Address_And Command Hold Time [ns]:		%d.%d\n",
			 _   sign * leftOfPoint, rightOfPoint);
			break;
/*------------------------------------------------------------------------------------------------------------------------------*/

		case_34:	/* Data Input Setup Time */
			sign_= 1;
			switch (dimmInfo->memoryType) {
			case DDR:
				time_tmp_=
					(((data[i] &_0xf0) >> 4) * 10)_+
					((data[i] & 0x0f));
				leftOfPoint_= time_tmp_/ 100;
				rightOfPoint =_time_tmp % 100;
				break;
			case SDRAM:
				leftOfPoint = (data[i]_& 0xf0) >>_4;
				if (left