1#include <stdio.h> 2#include "and.h" 3#include "opcodes.h" 4 5#define nihh(r1,i2) ".long 0xa5" #r1 "4" #i2 "\n\t" 6#define nihl(r1,i2) ".long 0xa5" #r1 "5" #i2 "\n\t" 7#define nilh(r1,i2) ".long 0xa5" #r1 "6" #i2 "\n\t" 8#define nill(r1,i2) ".long 0xa5" #r1 "7" #i2 "\n\t" 9 10static void do_imm_insns(void) 11{ 12 memimmsweep(ni, 0); 13 memimmsweep(ni, 255); 14 memimmsweep(ni, 128); 15 memimmsweep(ni, 0xaa); 16 memimmsweep(ni, 0x55); 17 niysweep(00); 18 niysweep(ff); 19 niysweep(80); 20 niysweep(aa); 21 niysweep(55); 22 immsweep(nihh, 0055); 23 immsweep(nihl, 0055); 24 immsweep(nilh, 0055); 25 immsweep(nill, 0055); 26 immsweep(nihh, 00aa); 27 immsweep(nihl, 00aa); 28 immsweep(nilh, 00aa); 29 immsweep(nill, 00aa); 30 immsweep(nihh, 00ff); 31 immsweep(nihl, 00ff); 32 immsweep(nilh, 00ff); 33 immsweep(nill, 00ff); 34 immsweep(nihh, 0000); 35 immsweep(nihl, 0000); 36 immsweep(nilh, 0000); 37 immsweep(nill, 0000); 38 immsweep(nihh, ffff); 39 immsweep(nihl, ffff); 40 immsweep(nilh, ffff); 41 immsweep(nill, ffff); 42 immsweep(nihh, aaaa); 43 immsweep(nihl, aaaa); 44 immsweep(nilh, aaaa); 45 immsweep(nill, aaaa); 46 immsweep(nihh, 5555); 47 immsweep(nihl, 5555); 48 immsweep(nilh, 5555); 49 immsweep(nill, 5555); 50} 51 52 53static void do_regmem_insns(unsigned long s2) 54{ 55 memsweep(n, s2); 56 memsweep(ng, s2); 57 regsweep(nr, s2); 58 regsweep(ngr, s2); 59 nysweep(s2); 60} 61 62int main() 63{ 64 do_regmem_insns(0x0ul); 65 do_regmem_insns(0x5555555555555555ul); 66 do_regmem_insns(0xaaaaaaaaaaaaaaaaul); 67 do_regmem_insns(0x8000000000000000ul); 68 do_regmem_insns(0xfffffffffffffffful); 69 do_regmem_insns(0x7fffffff00000000ul); 70 do_regmem_insns(0x8000000000000000ul); 71 do_regmem_insns(0xaaaaaaaa00000000ul); 72 do_regmem_insns(0xffffffff00000000ul); 73 do_regmem_insns(0x000000007ffffffful); 74 do_regmem_insns(0x0000000080000000ul); 75 do_regmem_insns(0x0000000055555555ul); 76 do_regmem_insns(0x00000000fffffffful); 77 do_regmem_insns(0x000000000000fffful); 78 do_regmem_insns(0x0000000000007ffful); 79 do_regmem_insns(0x0000000000008000ul); 80 do_regmem_insns(0x000000000000fffful); 81 82 do_imm_insns(); 83 84 return 0; 85} 86