#include "Print.h" void Print::print(const char *s) //uart_puts { int n; for (n = 0; *s; s++, n++) { write(*s); } //return n; return; } void Print::print(int val, RADIX_FORMAT format) { if(format == BYTE) { write((char)(val & 0xff)); return; } char s[32]; int i,j; i=j=0; // header of strings if (val<0) { //minus value s[i]='-'; val=~val+1; i++; j++; } switch(format) { case BIN: while (val>0) { // do until zero s[i++]=radix_bin[val%format]; val/=format; } break; case OCT: while (val>0) { // do until zero s[i++]=radix_oct[val%format]; val/=format; } break; case DEC: //RADIX = Decimal while (val>0) { // do until zero s[i++]=radix_dec[val%format]; val/=format; } break; case HEX: //RADIX = Hexadecimal while (val>0) { // do until zero s[i++]=radix_hex[val%format]; val/=format; } break; default: break; } s[i--]='\0'; // EOF while (j