1*8857Smckusick 2*8857Smckusick static char sccsid[] = " bcd.c 4.1 82/10/24 "; 3*8857Smckusick 4*8857Smckusick int chtab[] = { 5*8857Smckusick 00000, /* */ 6*8857Smckusick 03004, /* ! */ 7*8857Smckusick 02404, /* " */ 8*8857Smckusick 02040, /* sharp */ 9*8857Smckusick 02042, /* $ */ 10*8857Smckusick 02104, /* % */ 11*8857Smckusick 00001, /* & */ 12*8857Smckusick 03002, /* ' */ 13*8857Smckusick 02201, /* ( */ 14*8857Smckusick 02202, /* ) */ 15*8857Smckusick 02102, /* * */ 16*8857Smckusick 00005, /* + */ 17*8857Smckusick 02044, /* , */ 18*8857Smckusick 00002, /* - */ 19*8857Smckusick 02041, /* . */ 20*8857Smckusick 00014, /* / */ 21*8857Smckusick 00004, /* 0 */ 22*8857Smckusick 00010, /* 1 */ 23*8857Smckusick 00020, /* 2 */ 24*8857Smckusick 00040, /* 3 */ 25*8857Smckusick 00100, /* 4 */ 26*8857Smckusick 00200, /* 5 */ 27*8857Smckusick 00400, /* 6 */ 28*8857Smckusick 01000, /* 7 */ 29*8857Smckusick 02000, /* 8 */ 30*8857Smckusick 04000, /* 9 */ 31*8857Smckusick 02200, /* : */ 32*8857Smckusick 02402, /* ; */ 33*8857Smckusick 02401, /* < */ 34*8857Smckusick 02204, /* = */ 35*8857Smckusick 02400, /* > */ 36*8857Smckusick 03000, /* ? */ 37*8857Smckusick 02100, /* at */ 38*8857Smckusick 011, 39*8857Smckusick 021, 40*8857Smckusick 041, 41*8857Smckusick 0101, 42*8857Smckusick 0201, 43*8857Smckusick 0401, 44*8857Smckusick 01001, 45*8857Smckusick 02001, 46*8857Smckusick 04001, 47*8857Smckusick 012, 48*8857Smckusick 022, 49*8857Smckusick 042, 50*8857Smckusick 0102, 51*8857Smckusick 0202, 52*8857Smckusick 0402, 53*8857Smckusick 01002, 54*8857Smckusick 02002, 55*8857Smckusick 02002, 56*8857Smckusick 024, 57*8857Smckusick 044, 58*8857Smckusick 0104, 59*8857Smckusick 0204, 60*8857Smckusick 0404, 61*8857Smckusick 01004, 62*8857Smckusick 02004, 63*8857Smckusick 04004, 64*8857Smckusick 02020, /* [ */ 65*8857Smckusick 03001, /* \ */ 66*8857Smckusick 02101, /* ] */ 67*8857Smckusick 00006, /* ^ */ 68*8857Smckusick 02024 /* _ */ 69*8857Smckusick }; 70*8857Smckusick char s[128]; 71*8857Smckusick char *sp = {&s[0]}; 72*8857Smckusick main(argc, argv) 73*8857Smckusick char *argv[]; 74*8857Smckusick { 75*8857Smckusick char *spp; 76*8857Smckusick int i; 77*8857Smckusick int j; 78*8857Smckusick int c; 79*8857Smckusick int l; 80*8857Smckusick 81*8857Smckusick if (argc<2) { 82*8857Smckusick puts("% "); 83*8857Smckusick while ((c=getchar())!='\0'&c!='\n') 84*8857Smckusick *sp++ = c; 85*8857Smckusick *sp = 0; 86*8857Smckusick sp = &s[0]; 87*8857Smckusick } else 88*8857Smckusick sp = *++argv; 89*8857Smckusick puts("\n\n\n\n"); 90*8857Smckusick puts(" ________________________________"); 91*8857Smckusick puts("________________\n"); 92*8857Smckusick spp = sp; 93*8857Smckusick while(*spp++); 94*8857Smckusick spp--; 95*8857Smckusick l = spp - sp; 96*8857Smckusick putchar('/'); 97*8857Smckusick puts(sp); 98*8857Smckusick i = 49 - l; 99*8857Smckusick while(--i>0) putchar(' '); 100*8857Smckusick puts("|\n"); 101*8857Smckusick j = 0; 102*8857Smckusick spp = sp; 103*8857Smckusick while (j++<12) { 104*8857Smckusick putchar('|'); 105*8857Smckusick i = 0; 106*8857Smckusick spp = sp; 107*8857Smckusick while (i<48) { 108*8857Smckusick if(i>l) c = 0; 109*8857Smckusick else c = *spp++ - 040; 110*8857Smckusick i++; 111*8857Smckusick if (c>='a'-040) c = c - 040; 112*8857Smckusick if (c<0 | c>137) c = 0; 113*8857Smckusick if ((chtab[c]>>(j-1))&1) 114*8857Smckusick puts("[]"); 115*8857Smckusick else 116*8857Smckusick putchar(j>3?'0'+j-3:' '); 117*8857Smckusick } 118*8857Smckusick puts("|\n"); 119*8857Smckusick } 120*8857Smckusick putchar('|'); 121*8857Smckusick puts("____________"); 122*8857Smckusick puts("____________________________________"); 123*8857Smckusick puts("|\n"); 124*8857Smckusick puts("\n\n\n\n"); 125*8857Smckusick } 126*8857Smckusick 127*8857Smckusick puts(ss) char *ss; { 128*8857Smckusick int i; 129*8857Smckusick char t; 130*8857Smckusick i = 0; 131*8857Smckusick while(t = *ss++) { 132*8857Smckusick if(t >= 'a' && t <= 'z') 133*8857Smckusick t += 'A'-'a'; 134*8857Smckusick putchar(t); 135*8857Smckusick } 136*8857Smckusick } 137