| #include <stdio.h> |
| #include "or.h" |
| #include "opcodes.h" |
| |
| #define oihh(r1,i2) ".long 0xa5" #r1 "8" #i2 "\n\t" |
| #define oihl(r1,i2) ".long 0xa5" #r1 "9" #i2 "\n\t" |
| #define oilh(r1,i2) ".long 0xa5" #r1 "a" #i2 "\n\t" |
| #define oill(r1,i2) ".long 0xa5" #r1 "b" #i2 "\n\t" |
| |
| static void do_imm_insns(void) |
| { |
| memimmsweep(oi, 0); |
| memimmsweep(oi, 255); |
| memimmsweep(oi, 128); |
| memimmsweep(oi, 0xaa); |
| memimmsweep(oi, 0x55); |
| oiysweep(00); |
| oiysweep(ff); |
| oiysweep(80); |
| oiysweep(aa); |
| oiysweep(55); |
| immsweep(oihh, 0055); |
| immsweep(oihl, 0055); |
| immsweep(oilh, 0055); |
| immsweep(oill, 0055); |
| immsweep(oihh, 00aa); |
| immsweep(oihl, 00aa); |
| immsweep(oilh, 00aa); |
| immsweep(oill, 00aa); |
| immsweep(oihh, 00ff); |
| immsweep(oihl, 00ff); |
| immsweep(oilh, 00ff); |
| immsweep(oill, 00ff); |
| immsweep(oihh, 0000); |
| immsweep(oihl, 0000); |
| immsweep(oilh, 0000); |
| immsweep(oill, 0000); |
| immsweep(oihh, ffff); |
| immsweep(oihl, ffff); |
| immsweep(oilh, ffff); |
| immsweep(oill, ffff); |
| immsweep(oihh, aaaa); |
| immsweep(oihl, aaaa); |
| immsweep(oilh, aaaa); |
| immsweep(oill, aaaa); |
| immsweep(oihh, 5555); |
| immsweep(oihl, 5555); |
| immsweep(oilh, 5555); |
| immsweep(oill, 5555); |
| } |
| |
| |
| static void do_regmem_insns(unsigned long s2) |
| { |
| memsweep(o, s2); |
| memsweep(og, s2); |
| regsweep(or, s2); |
| regsweep(ogr, s2); |
| oysweep(s2); |
| } |
| |
| int main() |
| { |
| do_regmem_insns(0x0ul); |
| do_regmem_insns(0x5555555555555555ul); |
| do_regmem_insns(0xaaaaaaaaaaaaaaaaul); |
| do_regmem_insns(0x8000000000000000ul); |
| do_regmem_insns(0xfffffffffffffffful); |
| do_regmem_insns(0x7fffffff00000000ul); |
| do_regmem_insns(0x8000000000000000ul); |
| do_regmem_insns(0xaaaaaaaa00000000ul); |
| do_regmem_insns(0xffffffff00000000ul); |
| do_regmem_insns(0x000000007ffffffful); |
| do_regmem_insns(0x0000000080000000ul); |
| do_regmem_insns(0x0000000055555555ul); |
| do_regmem_insns(0x00000000fffffffful); |
| do_regmem_insns(0x000000000000fffful); |
| do_regmem_insns(0x0000000000007ffful); |
| do_regmem_insns(0x0000000000008000ul); |
| do_regmem_insns(0x000000000000fffful); |
| |
| do_imm_insns(); |
| |
| return 0; |
| } |