if (src[0] == 's' && src[1] == 'p')
char *end; int len;   if (!is_name_beginner (*src) || *src == '\001') return 0; end = src+1; while (is_part_of_name (*end) || *end == '\001') end++; len = end - src;  if (len == 2 && src[0] == 's' && src[1] == 'p')
parse_reg (src, mode, reg, direction)     char *src;     op_type *mode;     unsigned int *reg;     int direction;{  if (src[0] == 's' && src[1] == 'p')    {      *mode = PSIZE | REG | direction;      *reg = 7;      return 2;    }  if (src[0] == 'c' && src[1] == 'c' && src[2] == 'r')    {      *mode = CCR;      *reg = 0;      return 3;    }  if (src[0] == 'e' && src[1] == 'x' && src[2] == 'r')    {      *mode = EXR;      *reg = 0;      return 3;    }  if (src[0] == 'f' && src[1] == 'p')    {      *mode = PSIZE | REG | direction;      *reg = 6;      return 2;    }  if (src[0] == 'e'      && src[1] == 'r'      && src[2] >= '0' && src[2] <= '7')    {      *mode = L_32 | REG | direction;      *reg = src[2] - '0';      if (!Hmode)	as_warn ("Reg not valid for H8/300");      return 3;    }  if (src[0] == 'e'      && src[1] >= '0' && src[1] <= '7')    {      *mode = L_16 | REG | direction;      *reg = src[1] - '0' + 8;      if (!Hmode)	as_warn ("Reg not valid for H8/300");      return 2;    }  if (src[0] == 'r')    {      if (src[1] >= '0' && src[1] <= '7')	{	  if (src[2] == 'l')	    {	      *mode = L_8 | REG | direction;	      *reg = (src[1] - '0') + 8;	      return 3;	    }	  if (src[2] == 'h')	    {	      *mode = L_8 | REG | direction;	      *reg = (src[1] - '0');	      return 3;	    }	  *mode = L_16 | REG | direction;	  *reg = (src[1] - '0');	  return 2;	}    }  return 0;}