blob: 095e329610ccace685ba0ca97c5874b164322b84 (
plain)
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
26
27
28
29
30
31
32
33
|
/*
bug-3223.c
A bug in tracking of register pair hl over ldir
*/
#include <testfwk.h>
typedef unsigned long uint32;
typedef unsigned short addr16;
typedef unsigned short uint16;
typedef unsigned char uint8;
uint32* memory = 0;
void memWrite(uint32 sectorNumber){
uint16 value = 200;
uint32* byte51202 = memory + 02;
*byte51202 = sectorNumber;
memory[3]=100;
memory[0]=value;
}
void
testBug (void)
{
uint32 buffer[4];
memory = buffer;
memWrite(42);
ASSERT(buffer[2] == 42);
ASSERT(buffer[3] == 100);
ASSERT(buffer[0] == 200);
}
|