mirror of
https://github.com/byteworksinc/ORCA-C.git
synced 2024-12-22 23:29:27 +00:00
115 lines
2.7 KiB
C++
115 lines
2.7 KiB
C++
/* Second file comprising Special Conformance Test 25.0.1 */
|
|
|
|
#define SIZE 3
|
|
|
|
char ch0 [3]; /* global integers */
|
|
int i0 [3];
|
|
long L0 [3];
|
|
unsigned char uch0 [3];
|
|
unsigned int ui0 [3];
|
|
unsigned long ul0 [3];
|
|
/* global functions */
|
|
|
|
/*****************************************************************************/
|
|
|
|
char * Init_Ch (char ch [])
|
|
{
|
|
char * chPtr = ch;
|
|
|
|
asm
|
|
{
|
|
lda #<'c' /* init starting value for array */
|
|
sep #0x20 /* set the accumulator to 8 bits */
|
|
ldy #SIZE
|
|
Top: dey ; loop to initialize ch array
|
|
bmi Out
|
|
sta [chPtr],Y
|
|
inc A
|
|
bra Top
|
|
Out: rep #0x20 /* reset accumulator to 16 bits */
|
|
}
|
|
return chPtr;
|
|
}
|
|
|
|
|
|
/*****************************************************************************/
|
|
|
|
int * Init_Int (int i [])
|
|
{
|
|
int j, *iptr = i;
|
|
|
|
asm
|
|
{
|
|
lda #10 /* init starting value for array */
|
|
sta j
|
|
ldx #SIZE
|
|
ldy #0
|
|
Top: sta [iptr],Y ; loop to initialize i array
|
|
lda j
|
|
clc
|
|
adc #10
|
|
sta j
|
|
iny
|
|
iny
|
|
dex
|
|
bne Top
|
|
}
|
|
return (iptr);
|
|
}
|
|
|
|
|
|
/*****************************************************************************/
|
|
|
|
long * Init_Long (long L [])
|
|
{
|
|
int j;
|
|
|
|
for (j = 0; j < SIZE; j++)
|
|
L [j] = j * 100;
|
|
return (L);
|
|
}
|
|
|
|
|
|
/*****************************************************************************/
|
|
|
|
unsigned char * Init_UCh (void)
|
|
{
|
|
asm
|
|
{
|
|
lda #<'p' /* init starting value for array */
|
|
sep #0x20 /* set the accumulator to 8 bits */
|
|
ldx #SIZE
|
|
Top: dex ; loop to initialize uch0 array
|
|
bmi Out
|
|
sta uch0,X
|
|
inc A
|
|
bra Top
|
|
Out: rep #0x20 /* reset accumulator to 16 bits */
|
|
}
|
|
return (uch0);
|
|
}
|
|
|
|
|
|
/*****************************************************************************/
|
|
|
|
unsigned int * Init_UI (unsigned int ui [])
|
|
{
|
|
int j;
|
|
|
|
for (j = 0; j < SIZE; j++)
|
|
ui [j] = (unsigned int) (j << 4);
|
|
return (ui);
|
|
}
|
|
|
|
|
|
/*****************************************************************************/
|
|
|
|
unsigned long * Init_UL (unsigned long ul [])
|
|
{
|
|
int j;
|
|
|
|
for (j = 0; j < SIZE; j++)
|
|
ul [j] = (unsigned long) (j + 0x777);
|
|
return (ul);
|
|
}
|