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