summaryrefslogtreecommitdiff
path: root/sim/ucsim/s51.src/test/stxr.c
blob: 93bc16da2181ce93c2e84c8a236ce8e8d89ebc1e (plain) (blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
#include <stdio.h>

unsigned char __xdata * volatile sif;

int putchar(int c)
{
  *sif='p';*sif=c;
}

void
main(void)
{
  volatile unsigned int i, x, j;
  __xdata char *p= (__xdata char *)0;

  sif= (unsigned char __xdata *)0xffff;
  for (j= 0; j<10; j++)
    for (i= 0; i<0xfff0; i++)
      {
	//printf("j=%4x i=%4x\n", j, i);
	x= p[i];
      }
  * (char __idata *) 0 = * (char __xdata *) 0xfffe;
  *sif= 's';
}