mirror of
https://github.com/cc65/cc65.git
synced 2024-12-27 00:29:31 +00:00
45 lines
786 B
C
45 lines
786 B
C
/*
|
|
!!DESCRIPTION!! A small test for aslax7.
|
|
!!ORIGIN!!
|
|
!!LICENCE!!
|
|
!!AUTHOR!!
|
|
*/
|
|
|
|
#include <stdio.h>
|
|
#include <stdlib.h>
|
|
#include <string.h>
|
|
#include <limits.h>
|
|
#include <errno.h>
|
|
|
|
int main (void)
|
|
{
|
|
signed int ai = -32768, ti, refi;
|
|
signed char ac = -128, tc, refc;
|
|
|
|
do {
|
|
refi = ai << 4;
|
|
refi = refi << 3;
|
|
|
|
ti = ai << 7;
|
|
|
|
if (ti != refi) {
|
|
printf("wrong result on int %d << 7: %04X, expected %04X\n", ai, ti, refi);
|
|
return 1;
|
|
}
|
|
} while (++ai != -32768);
|
|
|
|
do {
|
|
refc = ac << 4;
|
|
refc = refc << 3;
|
|
|
|
tc = ac << 7;
|
|
|
|
if (tc != refc) {
|
|
printf("wrong result on char %d << 7: %04X, expected %04X\n", ac, tc, refc);
|
|
return 1;
|
|
}
|
|
} while (++ac != -128);
|
|
|
|
return 0;
|
|
}
|