* support/regression/tests/fetchoverlap.c: Added new test case.
[fw/sdcc] / support / regression / tests / bp.c
1 /* Base pointer tests, specifically for the z80.
2  */
3 #include <testfwk.h>
4 #include <string.h>
5 #include <stdio.h>
6
7 int
8 verifyBlock(char *p, char val, int len)
9 {
10   while (len--) {
11     if (*p++ != val) {
12       return 0;
13     }
14   }
15   return 1;
16 }
17
18 char
19 spoil(char a)
20 {
21   return a;
22 }
23
24 void
25 testBP(void)
26 {
27   char above[400];
28   char f;
29   char below[200];
30
31   memset(above, 17, sizeof(above));
32   memset(below, 74, sizeof(below));
33
34   ASSERT(verifyBlock(above, 17, sizeof(above)));
35   ASSERT(verifyBlock(below, 74, sizeof(below)));
36
37   f = spoil(-5);
38   spoil(f);
39
40   ASSERT(verifyBlock(above, 17, sizeof(above)));
41   ASSERT(verifyBlock(below, 74, sizeof(below)));
42 }
43