Making a calculator using an Arduino

Here a picture of the display and the test code. For the new guys or to the one who are not familiar with the MAX7219. This info came from the datasheet. http://www.datasheetcatalog.org/datasheet/maxim/MAX7219-MAX7221.pdf

const byte datapin = 12;
const byte latchpin = 11;
const byte clockpin = 10;

void setup()
{
 pinMode(datapin, OUTPUT);
 pinMode(latchpin, OUTPUT);
 pinMode(clockpin, OUTPUT);
 // set : Normal Mode
 digitalWrite(latchpin, LOW);
 shiftOut(datapin, clockpin, MSBFIRST, 0x0C );
 shiftOut(datapin, clockpin, MSBFIRST, 0x01 );
 digitalWrite(latchpin, HIGH);
 delay(5);
 // set : Normal Operation
 digitalWrite(latchpin, LOW);
 shiftOut(datapin, clockpin, MSBFIRST, 0x0F );
 shiftOut(datapin, clockpin, MSBFIRST, 0x00 );
 digitalWrite(latchpin, HIGH);
 delay(5);
 // set : Intensity 
 digitalWrite(latchpin, LOW);
 shiftOut(datapin, clockpin, MSBFIRST, 0x0A );
 shiftOut(datapin, clockpin, MSBFIRST, 0x0B );
 digitalWrite(latchpin, HIGH);
 delay(5);
 // set : Numbers of digits 
 digitalWrite(latchpin, LOW);
 shiftOut(datapin, clockpin, MSBFIRST, 0x0B );
 shiftOut(datapin, clockpin, MSBFIRST, 0x07 );
 digitalWrite(latchpin, HIGH);
 delay(5); 
 // set : Decode Mode Register
 digitalWrite(latchpin, LOW);
 shiftOut(datapin, clockpin, MSBFIRST, 0x09 );
 shiftOut(datapin, clockpin, MSBFIRST, 0xFF );
 digitalWrite(latchpin, HIGH);
 }

void loop()
{
 byte j;
 
 for (int i=1;i<9;i++)
 { 
   digitalWrite(latchpin, LOW);
   shiftOut(datapin, clockpin, MSBFIRST, i );
   shiftOut(datapin, clockpin, MSBFIRST, i );
   digitalWrite(latchpin, HIGH);
   delay(5);
 } 
 delay(2000);
 j = 8;
 for (int i=1;i<9;i++)
 {
   digitalWrite(latchpin, LOW);
   shiftOut(datapin, clockpin, MSBFIRST, i );
   shiftOut(datapin, clockpin, MSBFIRST, j );
   digitalWrite(latchpin, HIGH);
   delay(5);
   j--;
 }
 delay(2000); 
}