2 char buffer[24] ="0123456789abcdefghijklmn";
3 char *buflong = "abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789_.,}[]"
4 "abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789_.,}[]"
5 "abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789_.,}[]"
6 "abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789_.,}[]"
7 "abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789_.,}[]"
8 "abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789_.,}[]"
9 "abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRS%UVWXYZ0123456789_.,}[]";
11 static char * srst3(char *__next, char *__start, char __what, int *__cc)
13 register unsigned long what asm ("0") = __what;
14 register char *next asm ("2") = __next;
15 register char *start asm ("4") = __start;
18 asm volatile( "0: srst 2,4\n"
22 :"+d" (start), "+d" (next), "=d" (cc) :"d" (what): "cc");
27 static char * srst2(char *__start, char __what, int *__cc)
29 register unsigned long what asm ("0") = __what;
30 register char *start asm ("4") = __start;
33 asm volatile( "0: srst 0,4\n"
37 :"+d" (start), "+d" (what), "=d" (cc) :: "cc");
48 /* len=0 and start== next should not fault */
49 srst3((char *)0x12345678,(char *)0x12345678,'0', &cc);
50 printf("(cc=%d)\n", cc);
52 buf = srst3(&buffer[23], &buffer[23], '0', &cc);
54 printf("(cc=%d)\n", cc);
56 buf = srst3(&buffer[23], &buffer[0], '0', &cc);
58 printf("(cc=%d)\n", cc);
60 buf = srst3(&buffer[23], &buffer[0], 'a', &cc);
62 printf("(cc=%d)\n", cc);
64 buf = srst3(&buffer[23], &buffer[0], 'm', &cc);
66 printf("(cc=%d)\n", cc);
68 buf = srst3(&buffer[23], &buffer[0], 'n', &cc);
70 printf("(cc=%d)\n", cc);
72 buf = srst2(&buffer[0], '0', &cc);
74 printf("(cc=%d)\n", cc);
76 buf = srst2(&buffer[0], 'a', &cc);
78 printf("(cc=%d)\n", cc);
80 buf = srst2(&buffer[0], 'm', &cc);
82 printf("(cc=%d)\n", cc);
84 buf = srst2(&buffer[0], 'n', &cc);
86 printf("(cc=%d)\n", cc);
88 buf = srst3(buflong + 469, buflong, '%', &cc);
90 printf("(cc=%d)\n", cc);