#include <stdio.h> #include "and.h" #include "opcodes.h" #define nihh(r1,i2) ".long 0xa5" #r1 "4" #i2 "\n\t" #define nihl(r1,i2) ".long 0xa5" #r1 "5" #i2 "\n\t" #define nilh(r1,i2) ".long 0xa5" #r1 "6" #i2 "\n\t" #define nill(r1,i2) ".long 0xa5" #r1 "7" #i2 "\n\t" static void do_imm_insns(void) { memimmsweep(ni, 0); memimmsweep(ni, 255); memimmsweep(ni, 128); memimmsweep(ni, 0xaa); memimmsweep(ni, 0x55); niysweep(00); niysweep(ff); niysweep(80); niysweep(aa); niysweep(55); immsweep(nihh, 0055); immsweep(nihl, 0055); immsweep(nilh, 0055); immsweep(nill, 0055); immsweep(nihh, 00aa); immsweep(nihl, 00aa); immsweep(nilh, 00aa); immsweep(nill, 00aa); immsweep(nihh, 00ff); immsweep(nihl, 00ff); immsweep(nilh, 00ff); immsweep(nill, 00ff); immsweep(nihh, 0000); immsweep(nihl, 0000); immsweep(nilh, 0000); immsweep(nill, 0000); immsweep(nihh, ffff); immsweep(nihl, ffff); immsweep(nilh, ffff); immsweep(nill, ffff); immsweep(nihh, aaaa); immsweep(nihl, aaaa); immsweep(nilh, aaaa); immsweep(nill, aaaa); immsweep(nihh, 5555); immsweep(nihl, 5555); immsweep(nilh, 5555); immsweep(nill, 5555); } static void do_regmem_insns(unsigned long s2) { memsweep(n, s2); memsweep(ng, s2); regsweep(nr, s2); regsweep(ngr, s2); nysweep(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; }