#include <stdio.h>

/* Test out unsigned 8 bit addition */

int main(int argc, char **argv) {
  int tmp;
  unsigned char x,y,result;

  /* Make sure there are 3 command line arguments 
    (the program name is one, we also want 2 numbers) */
  if (argc !=3) {
    printf("Error - you have to specify 2 small numbers\n");
    exit(1);
  }

  /* Make sure the numbers fit into unsigned char (8 bit char) */
  tmp = atoi(argv[1]);		/* convert first argument to an int */
  if (tmp<0 || tmp>255) {
    printf("Error - %s is not in valid range\n",argv[1]);
    exit(1);
  }
  x = tmp;			

  tmp = atoi(argv[2]);		/* convert second argument to an int */
  if (tmp<0 || tmp>255) {
    printf("Error - %s is not in valid range\n",argv[1]);
    exit(1);
  }
  y=tmp;

  /* Everything is OK - go ahead an add */

  
  result = x + y;
  printf("%u + %u = %u\n",x,y,result);
  return(0);
}