xplshn
·
2025-08-13
duffs_device.b
B
1// https://en.wikipedia.org/wiki/Duff%27s_device
2duffs_device(s) {
3 extrn strlen, putchar;
4 auto n, count;
5 count = strlen(s);
6 n = (count + 7) / 8;
7 switch count%8 {
8 case 0: while(1) { putchar(*s++);
9 case 7: putchar(*s++);
10 case 6: putchar(*s++);
11 case 5: putchar(*s++);
12 case 4: putchar(*s++);
13 case 3: putchar(*s++);
14 case 2: putchar(*s++);
15 case 1: putchar(*s++);
16 putchar('|');
17 putchar('\n');
18 if (--n <= 0) return;
19 }
20 }
21}
22
23main() {
24 duffs_device("The quick brown fox jumps over the lazy dog.");
25}