ORCA-C/Tests/Conformance/C25.0.4.CC

89 lines
2.2 KiB
C++

/* Conformance Test 25.0.4: Verification of code generation for EOR instruct */
#define DP 0x02 /* define 1, 2, & 3 byte addresses */
#define ABS 0x800
#define LONG 0x123456
#include <stdio.h>
int main (void)
{
int i = 0;
asm
{
brl Test
Code: EOR #0xF
EOR DP
EOR DP,X
EOR ABS
EOR ABS,X
EOR ABS,Y
EOR (DP),Y
EOR (DP,X)
EOR (DP)
EOR DP,S
EOR (DP,S),Y
EOR LONG
EOR LONG,X
EOR [DP]
EOR [DP],Y
Data: dcb 0x49
dcb 0x0F
dcb 0x00
dcb 0x45
dcb 0x02
dcb 0x55
dcb 0x02
dcb 0x4D
dcb 0x00
dcb 0x08
dcb 0x5D
dcb 0x00
dcb 0x08
dcb 0x59
dcb 0x00
dcb 0x08
dcb 0x51
dcb 0x02
dcb 0x41
dcb 0x02
dcb 0x52
dcb 0x02
dcb 0x43
dcb 0x02
dcb 0x53
dcb 0x02
dcb 0x4F
dcb 0x56
dcb 0x34
dcb 0x12
dcb 0x5F
dcb 0x56
dcb 0x34
dcb 0x12
dcb 0x47
dcb 0x02
dcb 0x57
dcb 0x02
Test: ldx #36
Lbl1: lda Code,X
cmp Data,X
bne Err1
dex
dex
bpl Lbl1
bra Out
Err1: inc i
Out: nop
}
if (i)
goto Fail;
printf ("Passed Conformance Test 25.0.4\n");
return 0;
Fail:
printf ("Failed Conformance Test 25.0.4\n");
}