#include #include #include LEAF(n33_sra_test) .set noreorder addiu s0, s0 ,1 li s2, 0x00 ###test inst TEST_SRA(0x7e0083f0, 0x00000009, 0x003f0041) TEST_SRA(0x13e680c0, 0x00000018, 0x00000013) TEST_SRA(0x6d7388ec, 0x00000010, 0x00006d73) TEST_SRA(0xc04efccc, 0x00000010, 0xffffc04e) TEST_SRA(0xd6c67200, 0x00000014, 0xfffffd6c) TEST_SRA(0x366ea0fe, 0x0000001e, 0x00000000) TEST_SRA(0x4a3437c0, 0x00000007, 0x0094686f) TEST_SRA(0x355d25a0, 0x00000013, 0x000006ab) TEST_SRA(0x39adf6d1, 0x00000008, 0x0039adf6) TEST_SRA(0xc0949780, 0x00000013, 0xfffff812) TEST_SRA(0xf09ea1a0, 0x0000001d, 0xffffffff) TEST_SRA(0xfa6d2b80, 0x0000001b, 0xffffffff) TEST_SRA(0x15bfaa14, 0x0000001d, 0x00000000) TEST_SRA(0xf83242c0, 0x0000001c, 0xffffffff) TEST_SRA(0x2eb7de00, 0x0000001f, 0x00000000) TEST_SRA(0x200932e0, 0x0000000d, 0x00010049) TEST_SRA(0x6b5fefd3, 0x00000009, 0x0035aff7) TEST_SRA(0x8c583f58, 0x0000000c, 0xfff8c583) TEST_SRA(0xf7bf6ad0, 0x0000001d, 0xffffffff) TEST_SRA(0x3fca1f9e, 0x00000002, 0x0ff287e7) TEST_SRA(0x6734f624, 0x00000010, 0x00006734) TEST_SRA(0xc948d0f5, 0x00000010, 0xffffc948) TEST_SRA(0x281c8725, 0x00000011, 0x0000140e) TEST_SRA(0xc99fac26, 0x00000017, 0xffffff93) TEST_SRA(0x3a4b3d1e, 0x00000000, 0x3a4b3d1e) TEST_SRA(0x84da6ec0, 0x00000004, 0xf84da6ec) TEST_SRA(0x24c04ab8, 0x00000016, 0x00000093) TEST_SRA(0x06e75c47, 0x00000013, 0x000000dc) TEST_SRA(0x9815a4b4, 0x00000012, 0xffffe605) TEST_SRA(0xd5fa1c22, 0x0000000f, 0xffffabf4) TEST_SRA(0x1f8b2568, 0x00000013, 0x000003f1) TEST_SRA(0xee563feb, 0x00000009, 0xfff72b1f) TEST_SRA(0xc801a880, 0x00000006, 0xff2006a2) TEST_SRA(0x1c3c3198, 0x0000000b, 0x00038786) TEST_SRA(0xe278af58, 0x0000000c, 0xfffe278a) TEST_SRA(0x2e3d827c, 0x0000001a, 0x0000000b) TEST_SRA(0x7209a862, 0x00000004, 0x07209a86) TEST_SRA(0x10c36533, 0x00000000, 0x10c36533) TEST_SRA(0xc9cb745e, 0x0000001f, 0xffffffff) TEST_SRA(0x22c64374, 0x00000009, 0x00116321) TEST_SRA(0xd051e8fc, 0x00000019, 0xffffffe8) TEST_SRA(0x0382ebe0, 0x0000001e, 0x00000000) TEST_SRA(0x390b5258, 0x00000002, 0x0e42d496) TEST_SRA(0x733064c0, 0x00000000, 0x733064c0) TEST_SRA(0x06744d47, 0x00000018, 0x00000006) TEST_SRA(0x5b1a6a5c, 0x0000001c, 0x00000005) TEST_SRA(0xe5d1ea6a, 0x00000011, 0xfffff2e8) TEST_SRA(0x6539dbe2, 0x00000016, 0x00000194) TEST_SRA(0xef693934, 0x0000001d, 0xffffffff) TEST_SRA(0x0fbee4fa, 0x00000010, 0x00000fbe) TEST_SRA(0xa930dc54, 0x0000000c, 0xfffa930d) TEST_SRA(0x80a73726, 0x0000001c, 0xfffffff8) TEST_SRA(0xc5af631a, 0x00000009, 0xffe2d7b1) TEST_SRA(0xfce7e4a0, 0x0000000e, 0xfffff39f) TEST_SRA(0x5a56e180, 0x0000001a, 0x00000016) TEST_SRA(0x25474b80, 0x00000018, 0x00000025) TEST_SRA(0x6acee13c, 0x00000017, 0x000000d5) TEST_SRA(0xca24dec8, 0x00000013, 0xfffff944) TEST_SRA(0x1441f330, 0x0000001f, 0x00000000) TEST_SRA(0x3d2d05c0, 0x00000017, 0x0000007a) TEST_SRA(0x7863a294, 0x00000005, 0x03c31d14) TEST_SRA(0x0531fa20, 0x0000001a, 0x00000001) TEST_SRA(0xd49ffd00, 0x0000000e, 0xffff527f) TEST_SRA(0xdab9a7a0, 0x0000001b, 0xfffffffb) TEST_SRA(0x8939e0cc, 0x00000009, 0xffc49cf0) TEST_SRA(0x23ab857e, 0x0000001c, 0x00000002) TEST_SRA(0xc5ab4f94, 0x00000000, 0xc5ab4f94) TEST_SRA(0x6d010c88, 0x00000000, 0x6d010c88) TEST_SRA(0xd068f062, 0x0000000f, 0xffffa0d1) TEST_SRA(0xeffbbe00, 0x0000000b, 0xfffdff77) TEST_SRA(0x2c8e76d0, 0x00000013, 0x00000591) TEST_SRA(0xdfb22182, 0x0000001d, 0xfffffffe) TEST_SRA(0x97cdc52e, 0x00000009, 0xffcbe6e2) TEST_SRA(0x1f586fc0, 0x00000012, 0x000007d6) TEST_SRA(0xfd66c7c8, 0x0000000b, 0xffffacd8) TEST_SRA(0x422426f6, 0x0000000d, 0x00021121) TEST_SRA(0x14292ac0, 0x00000013, 0x00000285) TEST_SRA(0x63c2ffce, 0x0000001f, 0x00000000) TEST_SRA(0xffe1ebb8, 0x00000003, 0xfffc3d77) TEST_SRA(0x036b4a60, 0x0000001e, 0x00000000) TEST_SRA(0xb33d4790, 0x00000001, 0xd99ea3c8) TEST_SRA(0x71b01020, 0x00000000, 0x71b01020) TEST_SRA(0xb413127c, 0x00000007, 0xff682624) TEST_SRA(0x3faf4b6c, 0x00000000, 0x3faf4b6c) TEST_SRA(0xebcc28c0, 0x0000000e, 0xffffaf30) TEST_SRA(0x93811ad8, 0x0000001e, 0xfffffffe) TEST_SRA(0x87f99a85, 0x00000016, 0xfffffe1f) TEST_SRA(0x0fcacc20, 0x0000001c, 0x00000000) TEST_SRA(0x15eb957c, 0x00000012, 0x0000057a) TEST_SRA(0x2c08d9d4, 0x00000011, 0x00001604) TEST_SRA(0xc0f99191, 0x00000012, 0xfffff03e) TEST_SRA(0xb87334be, 0x0000001a, 0xffffffee) TEST_SRA(0x04fdbd49, 0x00000013, 0x0000009f) TEST_SRA(0xfd735780, 0x00000019, 0xfffffffe) TEST_SRA(0x857856b0, 0x00000012, 0xffffe15e) TEST_SRA(0x9da2db20, 0x00000018, 0xffffff9d) TEST_SRA(0x02e6d93d, 0x00000008, 0x0002e6d9) TEST_SRA(0x0f53e81e, 0x00000004, 0x00f53e81) TEST_SRA(0x01a59436, 0x00000005, 0x000d2ca1) TEST_SRA(0x54081744, 0x00000008, 0x00540817) TEST_SRA(0x29640370, 0x0000001e, 0x00000000) TEST_SRA(0x4e270890, 0x00000013, 0x000009c4) TEST_SRA(0x4ead4240, 0x0000001f, 0x00000000) TEST_SRA(0xdca91de8, 0x00000013, 0xfffffb95) TEST_SRA(0x7c09aac0, 0x00000006, 0x01f026ab) TEST_SRA(0x48900c05, 0x00000014, 0x00000489) TEST_SRA(0x2cbebf40, 0x00000013, 0x00000597) TEST_SRA(0xf42da13f, 0x0000001e, 0xffffffff) TEST_SRA(0xd99c4f6f, 0x00000018, 0xffffffd9) TEST_SRA(0x0afaed86, 0x00000016, 0x0000002b) TEST_SRA(0x091c3d00, 0x0000000c, 0x000091c3) TEST_SRA(0x66d8faa6, 0x00000010, 0x000066d8) TEST_SRA(0x31f31054, 0x0000000d, 0x00018f98) TEST_SRA(0x13a30cee, 0x00000015, 0x0000009d) TEST_SRA(0xeedeb7f0, 0x0000000c, 0xfffeedeb) TEST_SRA(0xd51e8860, 0x0000001e, 0xffffffff) TEST_SRA(0xe8e30aa8, 0x00000007, 0xffd1c615) TEST_SRA(0xc36cae78, 0x00000016, 0xffffff0d) TEST_SRA(0xa8667186, 0x00000013, 0xfffff50c) TEST_SRA(0x7c24aab0, 0x00000004, 0x07c24aab) TEST_SRA(0xeaa7dfa3, 0x00000013, 0xfffffd54) TEST_SRA(0x8c97c385, 0x00000002, 0xe325f0e1) TEST_SRA(0x744ebe18, 0x0000001c, 0x00000007) TEST_SRA(0xbc9f2d58, 0x00000018, 0xffffffbc) TEST_SRA(0x7d25b068, 0x00000009, 0x003e92d8) TEST_SRA(0xaa4a1e58, 0x0000001d, 0xfffffffd) TEST_SRA(0x2c992d2c, 0x00000004, 0x02c992d2) TEST_SRA(0x3093c6fc, 0x0000000a, 0x000c24f1) TEST_SRA(0x8020a899, 0x00000005, 0xfc010544) TEST_SRA(0x4e84e3f8, 0x00000019, 0x00000027) TEST_SRA(0x4137c9dc, 0x00000016, 0x00000104) TEST_SRA(0x9671cf7d, 0x00000019, 0xffffffcb) TEST_SRA(0xdf2ced02, 0x00000006, 0xff7cb3b4) TEST_SRA(0x14bcf49a, 0x00000003, 0x02979e93) TEST_SRA(0xfd221ecb, 0x00000004, 0xffd221ec) TEST_SRA(0xa3e45cfc, 0x00000001, 0xd1f22e7e) TEST_SRA(0x8e0f1880, 0x00000016, 0xfffffe38) TEST_SRA(0x587d38e8, 0x00000014, 0x00000587) TEST_SRA(0xd7b1ed92, 0x00000004, 0xfd7b1ed9) TEST_SRA(0xab4b5c70, 0x0000001f, 0xffffffff) TEST_SRA(0x04d6db90, 0x00000002, 0x0135b6e4) TEST_SRA(0x683361dc, 0x00000010, 0x00006833) TEST_SRA(0x8c65a380, 0x00000001, 0xc632d1c0) TEST_SRA(0x4e8dbfa8, 0x00000012, 0x000013a3) TEST_SRA(0x55090962, 0x00000003, 0x0aa1212c) TEST_SRA(0x9bf8d806, 0x00000014, 0xfffff9bf) TEST_SRA(0xd93c5146, 0x00000018, 0xffffffd9) TEST_SRA(0x468d1289, 0x00000000, 0x468d1289) TEST_SRA(0xb9995520, 0x00000002, 0xee665548) TEST_SRA(0x2437c860, 0x0000001c, 0x00000002) TEST_SRA(0x9413ab40, 0x00000012, 0xffffe504) TEST_SRA(0x379039b2, 0x00000003, 0x06f20736) TEST_SRA(0xeac34a48, 0x00000002, 0xfab0d292) TEST_SRA(0xc7c448cb, 0x00000013, 0xfffff8f8) TEST_SRA(0x7eaa3b78, 0x00000014, 0x000007ea) TEST_SRA(0x72e21540, 0x00000017, 0x000000e5) TEST_SRA(0xd10c10e8, 0x0000000e, 0xffff4430) TEST_SRA(0x1040d67e, 0x0000000d, 0x00008206) TEST_SRA(0x9b412802, 0x00000016, 0xfffffe6d) TEST_SRA(0xc9272049, 0x00000005, 0xfe493902) TEST_SRA(0x38af37fe, 0x0000001d, 0x00000001) TEST_SRA(0x77edf5c0, 0x00000000, 0x77edf5c0) TEST_SRA(0xfe0dbb31, 0x0000001c, 0xffffffff) TEST_SRA(0x94166944, 0x00000002, 0xe5059a51) TEST_SRA(0x49508bfc, 0x00000014, 0x00000495) TEST_SRA(0xf42d6ea6, 0x0000000d, 0xffffa16b) TEST_SRA(0x1510d958, 0x0000000c, 0x0001510d) TEST_SRA(0x7375c5e2, 0x00000016, 0x000001cd) TEST_SRA(0x301c9560, 0x00000013, 0x00000603) TEST_SRA(0xc0141235, 0x00000016, 0xffffff00) TEST_SRA(0x72b94fa0, 0x00000007, 0x00e5729f) TEST_SRA(0x948cb9d0, 0x00000000, 0x948cb9d0) TEST_SRA(0x2f11074b, 0x0000000a, 0x000bc441) TEST_SRA(0xf5df3680, 0x00000004, 0xff5df368) TEST_SRA(0x22b811c0, 0x0000000e, 0x00008ae0) TEST_SRA(0x51473348, 0x00000004, 0x05147334) TEST_SRA(0xd4e95968, 0x0000001b, 0xfffffffa) TEST_SRA(0x873e7a20, 0x0000000c, 0xfff873e7) TEST_SRA(0xea399857, 0x0000001b, 0xfffffffd) TEST_SRA(0xd9a45830, 0x0000000d, 0xfffecd22) TEST_SRA(0x58882860, 0x0000000e, 0x00016220) TEST_SRA(0xb52828fc, 0x00000000, 0xb52828fc) TEST_SRA(0x34a1f968, 0x0000000b, 0x0006943f) TEST_SRA(0x63c56270, 0x00000008, 0x0063c562) TEST_SRA(0xd2f1c210, 0x00000015, 0xfffffe97) TEST_SRA(0x11cc723e, 0x00000017, 0x00000023) TEST_SRA(0x8b41e080, 0x00000010, 0xffff8b41) TEST_SRA(0xebcc4aac, 0x00000011, 0xfffff5e6) TEST_SRA(0xbb1a19e4, 0x00000014, 0xfffffbb1) TEST_SRA(0x984461f4, 0x00000017, 0xffffff30) TEST_SRA(0x73578e4a, 0x0000000e, 0x0001cd5e) TEST_SRA(0x4cf5e100, 0x00000015, 0x00000267) TEST_SRA(0x6174641c, 0x0000000f, 0x0000c2e8) TEST_SRA(0x48fc3f43, 0x0000001f, 0x00000000) TEST_SRA(0x33d9efd5, 0x00000006, 0x00cf67bf) TEST_SRA(0xa5e517b0, 0x00000008, 0xffa5e517) TEST_SRA(0xf685afc2, 0x00000000, 0xf685afc2) TEST_SRA(0x6bee2237, 0x00000010, 0x00006bee) TEST_SRA(0x88b3bac8, 0x00000001, 0xc459dd64) TEST_SRA(0xb3bf7ef8, 0x0000001c, 0xfffffffb) TEST_SRA(0x7f797f19, 0x00000000, 0x7f797f19) TEST_SRA(0x8f7ba555, 0x00000000, 0x8f7ba555) TEST_SRA(0x0dcd8d14, 0x00000000, 0x0dcd8d14) TEST_SRA(0x350945f2, 0x00000000, 0x350945f2) TEST_SRA(0x77a2fba0, 0x00000000, 0x77a2fba0) TEST_SRA(0xbeeac5b0, 0x00000000, 0xbeeac5b0) TEST_SRA(0x89157300, 0x00000000, 0x89157300) TEST_SRA(0xab980008, 0x00000000, 0xab980008) TEST_SRA(0xb0968cc0, 0x00000000, 0xb0968cc0) TEST_SRA(0x2ba783e0, 0x00000000, 0x2ba783e0) TEST_SRA(0x95472840, 0x00000000, 0x95472840) TEST_SRA(0x54a42cc4, 0x00000000, 0x54a42cc4) TEST_SRA(0xe1b0264c, 0x00000000, 0xe1b0264c) TEST_SRA(0xefa52996, 0x00000000, 0xefa52996) TEST_SRA(0x14052d21, 0x00000000, 0x14052d21) TEST_SRA(0x62589080, 0x00000000, 0x62589080) TEST_SRA(0x90796b7a, 0x00000000, 0x90796b7a) TEST_SRA(0x3ef6da6a, 0x00000000, 0x3ef6da6a) TEST_SRA(0xf3410560, 0x00000000, 0xf3410560) TEST_SRA(0x03e74280, 0x00000000, 0x03e74280) TEST_SRA(0x1aab5a5c, 0x00000000, 0x1aab5a5c) TEST_SRA(0xa6a10fe4, 0x00000000, 0xa6a10fe4) TEST_SRA(0xcac0c1b9, 0x00000000, 0xcac0c1b9) TEST_SRA(0x23352364, 0x00000000, 0x23352364) TEST_SRA(0x8d8829da, 0x00000000, 0x8d8829da) TEST_SRA(0xdb2cad42, 0x00000000, 0xdb2cad42) TEST_SRA(0x0701f144, 0x00000000, 0x0701f144) TEST_SRA(0x180525ad, 0x00000000, 0x180525ad) TEST_SRA(0xe3c44b80, 0x00000000, 0xe3c44b80) TEST_SRA(0x724db8ee, 0x00000000, 0x724db8ee) TEST_SRA(0xba2e5d40, 0x00000000, 0xba2e5d40) TEST_SRA(0x3da9eb4f, 0x00000000, 0x3da9eb4f) TEST_SRA(0xb764ab20, 0x00000000, 0xb764ab20) TEST_SRA(0xee4d8700, 0x00000000, 0xee4d8700) TEST_SRA(0x06431180, 0x00000000, 0x06431180) TEST_SRA(0x0edd7200, 0x00000000, 0x0edd7200) TEST_SRA(0x8ecf53b8, 0x00000000, 0x8ecf53b8) TEST_SRA(0xb39f5d08, 0x00000000, 0xb39f5d08) TEST_SRA(0x42683c3c, 0x00000000, 0x42683c3c) TEST_SRA(0x28f4fc04, 0x00000000, 0x28f4fc04) TEST_SRA(0x036630dc, 0x00000000, 0x036630dc) TEST_SRA(0xd542e318, 0x00000000, 0xd542e318) TEST_SRA(0x5b856f12, 0x00000000, 0x5b856f12) TEST_SRA(0x3bac7080, 0x00000000, 0x3bac7080) TEST_SRA(0xbf823f9e, 0x00000000, 0xbf823f9e) TEST_SRA(0xa242b070, 0x00000000, 0xa242b070) TEST_SRA(0xdbe2e930, 0x00000000, 0xdbe2e930) TEST_SRA(0x12d3cfcc, 0x00000000, 0x12d3cfcc) TEST_SRA(0x0ea3ee6a, 0x00000000, 0x0ea3ee6a) TEST_SRA(0x76668ec8, 0x00000000, 0x76668ec8) TEST_SRA(0x00000000, 0x0000001f, 0x00000000) TEST_SRA(0x00000000, 0x00000005, 0x00000000) TEST_SRA(0x00000000, 0x00000005, 0x00000000) TEST_SRA(0x00000000, 0x0000000f, 0x00000000) TEST_SRA(0x00000000, 0x00000003, 0x00000000) TEST_SRA(0x00000000, 0x0000001e, 0x00000000) TEST_SRA(0x00000000, 0x00000012, 0x00000000) TEST_SRA(0x00000000, 0x00000018, 0x00000000) TEST_SRA(0x00000000, 0x0000000b, 0x00000000) TEST_SRA(0x00000000, 0x0000000e, 0x00000000) TEST_SRA(0x00000000, 0x0000000e, 0x00000000) TEST_SRA(0x00000000, 0x0000000b, 0x00000000) TEST_SRA(0x00000000, 0x00000008, 0x00000000) TEST_SRA(0x00000000, 0x0000001d, 0x00000000) TEST_SRA(0x00000000, 0x00000017, 0x00000000) TEST_SRA(0x00000000, 0x00000016, 0x00000000) TEST_SRA(0x00000000, 0x00000014, 0x00000000) TEST_SRA(0x00000000, 0x0000000c, 0x00000000) TEST_SRA(0x00000000, 0x0000000e, 0x00000000) TEST_SRA(0x00000000, 0x0000000e, 0x00000000) TEST_SRA(0x00000000, 0x00000003, 0x00000000) TEST_SRA(0x00000000, 0x00000007, 0x00000000) TEST_SRA(0x00000000, 0x0000001a, 0x00000000) TEST_SRA(0x00000000, 0x0000001f, 0x00000000) TEST_SRA(0x00000000, 0x00000013, 0x00000000) TEST_SRA(0x00000000, 0x00000016, 0x00000000) TEST_SRA(0x00000000, 0x0000000f, 0x00000000) TEST_SRA(0x00000000, 0x00000016, 0x00000000) TEST_SRA(0x00000000, 0x00000007, 0x00000000) TEST_SRA(0x00000000, 0x0000001a, 0x00000000) TEST_SRA(0x00000000, 0x0000000a, 0x00000000) TEST_SRA(0x00000000, 0x0000001e, 0x00000000) TEST_SRA(0x00000000, 0x0000001f, 0x00000000) TEST_SRA(0x00000000, 0x00000016, 0x00000000) TEST_SRA(0x00000000, 0x00000005, 0x00000000) TEST_SRA(0x00000000, 0x0000001d, 0x00000000) TEST_SRA(0x00000000, 0x00000001, 0x00000000) TEST_SRA(0x00000000, 0x00000018, 0x00000000) TEST_SRA(0x00000000, 0x00000006, 0x00000000) TEST_SRA(0x00000000, 0x0000000e, 0x00000000) TEST_SRA(0x00000000, 0x0000001e, 0x00000000) TEST_SRA(0x00000000, 0x00000017, 0x00000000) TEST_SRA(0x00000000, 0x00000011, 0x00000000) TEST_SRA(0x00000000, 0x00000002, 0x00000000) TEST_SRA(0x00000000, 0x0000000f, 0x00000000) TEST_SRA(0x00000000, 0x00000015, 0x00000000) TEST_SRA(0x00000000, 0x0000001a, 0x00000000) TEST_SRA(0x00000000, 0x00000001, 0x00000000) TEST_SRA(0x00000000, 0x00000009, 0x00000000) TEST_SRA(0x00000000, 0x00000016, 0x00000000) TEST_SRA(0x00000000, 0x00000000, 0x00000000) ###detect exception bne s2, zero, inst_error nop ###score ++ addiu s3, s3, 1 ###output (s0<<24)|s3 inst_error: sll t1, s0, 24 or t0, t1, s3 sw t0, 0(s1) jr ra nop END(n33_sra_test)