#include #include #include LEAF(n35_srl_test) .set noreorder addiu s0, s0 ,1 li s2, 0x00 ###test inst TEST_SRL(0x8e8ffce0, 0x00000002, 0x23a3ff38) TEST_SRL(0x49291230, 0x0000000f, 0x00009252) TEST_SRL(0x25da68a0, 0x00000004, 0x025da68a) TEST_SRL(0xecacf656, 0x0000000e, 0x0003b2b3) TEST_SRL(0xe7bfc848, 0x0000001f, 0x00000001) TEST_SRL(0x00115809, 0x0000001f, 0x00000000) TEST_SRL(0x7a886604, 0x00000019, 0x0000003d) TEST_SRL(0x7fe7a7de, 0x0000000f, 0x0000ffcf) TEST_SRL(0x76c29838, 0x00000005, 0x03b614c1) TEST_SRL(0xa93f5944, 0x00000011, 0x0000549f) TEST_SRL(0x5ec1c900, 0x0000001f, 0x00000000) TEST_SRL(0x6098e740, 0x00000006, 0x0182639d) TEST_SRL(0x91816b68, 0x00000019, 0x00000048) TEST_SRL(0x9bca3384, 0x00000013, 0x00001379) TEST_SRL(0xc3895628, 0x0000000e, 0x00030e25) TEST_SRL(0x8fe99e00, 0x00000003, 0x11fd33c0) TEST_SRL(0xcae38c68, 0x0000000f, 0x000195c7) TEST_SRL(0xe2c828e8, 0x0000000b, 0x001c5905) TEST_SRL(0x4b95ed24, 0x00000004, 0x04b95ed2) TEST_SRL(0x3047310f, 0x0000000d, 0x00018239) TEST_SRL(0x6ef26b90, 0x00000000, 0x6ef26b90) TEST_SRL(0x15f0f288, 0x0000000a, 0x00057c3c) TEST_SRL(0x2c6d99c8, 0x0000000b, 0x00058db3) TEST_SRL(0x438ee8fa, 0x00000017, 0x00000087) TEST_SRL(0xeff68344, 0x00000001, 0x77fb41a2) TEST_SRL(0x0d1542d0, 0x00000001, 0x068aa168) TEST_SRL(0xe8095d20, 0x0000000d, 0x0007404a) TEST_SRL(0xafdd2416, 0x00000003, 0x15fba482) TEST_SRL(0x3d6bdbfc, 0x00000017, 0x0000007a) TEST_SRL(0x31be3200, 0x00000012, 0x00000c6f) TEST_SRL(0x96872aa0, 0x00000017, 0x0000012d) TEST_SRL(0xdccd5e68, 0x00000013, 0x00001b99) TEST_SRL(0x8c8c32ca, 0x00000013, 0x00001191) TEST_SRL(0x3ab9a2d6, 0x00000013, 0x00000757) TEST_SRL(0x6277fc92, 0x00000008, 0x006277fc) TEST_SRL(0x29b43f27, 0x0000001a, 0x0000000a) TEST_SRL(0xa1c2d700, 0x0000001f, 0x00000001) TEST_SRL(0x284fab97, 0x00000011, 0x00001427) TEST_SRL(0x13dc3d58, 0x00000015, 0x0000009e) TEST_SRL(0xfeec8f70, 0x00000007, 0x01fdd91e) TEST_SRL(0xbe676615, 0x0000001b, 0x00000017) TEST_SRL(0xeb19335a, 0x00000014, 0x00000eb1) TEST_SRL(0xcc5bcb06, 0x00000008, 0x00cc5bcb) TEST_SRL(0xd390a600, 0x00000019, 0x00000069) TEST_SRL(0x155f8f7c, 0x00000015, 0x000000aa) TEST_SRL(0x3be81cbb, 0x00000011, 0x00001df4) TEST_SRL(0x3f327950, 0x0000000d, 0x0001f993) TEST_SRL(0x523d93ea, 0x0000001d, 0x00000002) TEST_SRL(0x029fd640, 0x0000000a, 0x0000a7f5) TEST_SRL(0x966fa4dc, 0x00000009, 0x004b37d2) TEST_SRL(0x6d7c8c68, 0x0000001c, 0x00000006) TEST_SRL(0x49388980, 0x00000007, 0x00927113) TEST_SRL(0xd95e0458, 0x00000004, 0x0d95e045) TEST_SRL(0xfe5259f1, 0x00000017, 0x000001fc) TEST_SRL(0xadff20c0, 0x00000000, 0xadff20c0) TEST_SRL(0xad4a8872, 0x00000002, 0x2b52a21c) TEST_SRL(0xac747dce, 0x00000001, 0x563a3ee7) TEST_SRL(0x45cf2481, 0x0000000f, 0x00008b9e) TEST_SRL(0xd220e6d8, 0x0000000c, 0x000d220e) TEST_SRL(0xfc073b24, 0x00000001, 0x7e039d92) TEST_SRL(0x9e493883, 0x00000000, 0x9e493883) TEST_SRL(0x8d028cd0, 0x0000000a, 0x002340a3) TEST_SRL(0x66ff6a59, 0x00000017, 0x000000cd) TEST_SRL(0xffc9bfa4, 0x0000001c, 0x0000000f) TEST_SRL(0xb7cc2258, 0x0000000c, 0x000b7cc2) TEST_SRL(0x6b318f8c, 0x00000018, 0x0000006b) TEST_SRL(0xca806bd4, 0x00000000, 0xca806bd4) TEST_SRL(0xdf80ebb0, 0x0000001f, 0x00000001) TEST_SRL(0x15de26d8, 0x00000012, 0x00000577) TEST_SRL(0xb1204d16, 0x0000001b, 0x00000016) TEST_SRL(0x29aa3074, 0x0000000f, 0x00005354) TEST_SRL(0x8cfd9d90, 0x00000003, 0x119fb3b2) TEST_SRL(0x92fe81b8, 0x00000015, 0x00000497) TEST_SRL(0x351f10b4, 0x0000001c, 0x00000003) TEST_SRL(0xc0d371af, 0x00000006, 0x03034dc6) TEST_SRL(0x1f72d53c, 0x00000009, 0x000fb96a) TEST_SRL(0x5afe9f52, 0x00000004, 0x05afe9f5) TEST_SRL(0xc5007654, 0x0000001c, 0x0000000c) TEST_SRL(0xdf34c906, 0x00000005, 0x06f9a648) TEST_SRL(0x1ba693e2, 0x00000002, 0x06e9a4f8) TEST_SRL(0xbb4723a4, 0x0000000a, 0x002ed1c8) TEST_SRL(0x1912074c, 0x0000001a, 0x00000006) TEST_SRL(0xa441c500, 0x00000013, 0x00001488) TEST_SRL(0x94171c81, 0x0000001e, 0x00000002) TEST_SRL(0x9183d7ce, 0x00000018, 0x00000091) TEST_SRL(0x129c8a70, 0x00000016, 0x0000004a) TEST_SRL(0xbf4118f0, 0x00000016, 0x000002fd) TEST_SRL(0x84860eec, 0x0000000d, 0x00042430) TEST_SRL(0x95173198, 0x0000000b, 0x0012a2e6) TEST_SRL(0xe1d73a20, 0x0000000b, 0x001c3ae7) TEST_SRL(0x247358ec, 0x0000000b, 0x00048e6b) TEST_SRL(0x73c52105, 0x00000014, 0x0000073c) TEST_SRL(0xd905fa84, 0x0000000f, 0x0001b20b) TEST_SRL(0xe78314d8, 0x00000011, 0x000073c1) TEST_SRL(0x55851990, 0x0000001c, 0x00000005) TEST_SRL(0x3bac0f11, 0x00000007, 0x0077581e) TEST_SRL(0x568deaa8, 0x00000017, 0x000000ad) TEST_SRL(0x7f3cf4a0, 0x0000000c, 0x0007f3cf) TEST_SRL(0xdb0421e6, 0x00000009, 0x006d8210) TEST_SRL(0x3bdb98c0, 0x00000008, 0x003bdb98) TEST_SRL(0x5475f578, 0x00000010, 0x00005475) TEST_SRL(0x6908094a, 0x00000003, 0x0d210129) TEST_SRL(0xded0771c, 0x0000001f, 0x00000001) TEST_SRL(0x10be9685, 0x00000003, 0x0217d2d0) TEST_SRL(0xba0e47fa, 0x0000000f, 0x0001741c) TEST_SRL(0x5a8bfd48, 0x0000000f, 0x0000b517) TEST_SRL(0xa2b8964e, 0x0000001e, 0x00000002) TEST_SRL(0xc1c816c0, 0x0000001e, 0x00000003) TEST_SRL(0xd035e940, 0x00000006, 0x0340d7a5) TEST_SRL(0x42df91ac, 0x0000000c, 0x00042df9) TEST_SRL(0xfeddd2dc, 0x0000001d, 0x00000007) TEST_SRL(0x47712ac2, 0x00000016, 0x0000011d) TEST_SRL(0x736cddf8, 0x00000001, 0x39b66efc) TEST_SRL(0x9f86657e, 0x00000014, 0x000009f8) TEST_SRL(0x8b3e6480, 0x0000001b, 0x00000011) TEST_SRL(0x0d5a849c, 0x00000015, 0x0000006a) TEST_SRL(0x49b80128, 0x00000009, 0x0024dc00) TEST_SRL(0xbbbbf940, 0x00000004, 0x0bbbbf94) TEST_SRL(0x2ef10c70, 0x0000001f, 0x00000000) TEST_SRL(0x26008fee, 0x00000000, 0x26008fee) TEST_SRL(0x68faf2e6, 0x00000012, 0x00001a3e) TEST_SRL(0xb08f704f, 0x00000003, 0x1611ee09) TEST_SRL(0x679f7248, 0x0000000e, 0x00019e7d) TEST_SRL(0x345cd56a, 0x0000000d, 0x0001a2e6) TEST_SRL(0x2394e93c, 0x0000000b, 0x0004729d) TEST_SRL(0xdd1e22b0, 0x00000003, 0x1ba3c456) TEST_SRL(0x93dd33eb, 0x00000002, 0x24f74cfa) TEST_SRL(0x5a72cb08, 0x00000018, 0x0000005a) TEST_SRL(0xda4e4434, 0x0000001c, 0x0000000d) TEST_SRL(0x0cd952a0, 0x00000002, 0x033654a8) TEST_SRL(0x7da4fba4, 0x00000008, 0x007da4fb) TEST_SRL(0x17d14b64, 0x00000013, 0x000002fa) TEST_SRL(0x3deae382, 0x00000003, 0x07bd5c70) TEST_SRL(0x5db91e00, 0x00000006, 0x0176e478) TEST_SRL(0xa13b5140, 0x00000018, 0x000000a1) TEST_SRL(0x4b125b37, 0x00000005, 0x025892d9) TEST_SRL(0x2821de00, 0x00000010, 0x00002821) TEST_SRL(0xa1e10762, 0x00000013, 0x0000143c) TEST_SRL(0xbd6ea4d8, 0x0000001b, 0x00000017) TEST_SRL(0x1751c2f2, 0x00000013, 0x000002ea) TEST_SRL(0x5746f770, 0x00000011, 0x00002ba3) TEST_SRL(0x18f47ec0, 0x0000000a, 0x00063d1f) TEST_SRL(0x18377db1, 0x00000013, 0x00000306) TEST_SRL(0x9612ed20, 0x00000017, 0x0000012c) TEST_SRL(0x3ff833c1, 0x00000002, 0x0ffe0cf0) TEST_SRL(0x90de3f60, 0x00000003, 0x121bc7ec) TEST_SRL(0x0fcdca28, 0x00000003, 0x01f9b945) TEST_SRL(0xd42d71c0, 0x00000017, 0x000001a8) TEST_SRL(0x5de13940, 0x0000000a, 0x0017784e) TEST_SRL(0xf6a0da2a, 0x00000016, 0x000003da) TEST_SRL(0x9960cb98, 0x00000012, 0x00002658) TEST_SRL(0x48c70640, 0x00000013, 0x00000918) TEST_SRL(0x6ade3a10, 0x00000018, 0x0000006a) TEST_SRL(0xa818867c, 0x0000001f, 0x00000001) TEST_SRL(0x21742cc4, 0x00000011, 0x000010ba) TEST_SRL(0xa991afba, 0x0000001e, 0x00000002) TEST_SRL(0x1044822e, 0x0000001f, 0x00000000) TEST_SRL(0x594eb0c9, 0x0000000c, 0x000594eb) TEST_SRL(0xcab845e0, 0x0000001a, 0x00000032) TEST_SRL(0xb885f1b0, 0x00000019, 0x0000005c) TEST_SRL(0xbb4da25e, 0x0000001c, 0x0000000b) TEST_SRL(0x9913d5a8, 0x00000001, 0x4c89ead4) TEST_SRL(0xdeb2a9ac, 0x0000000b, 0x001bd655) TEST_SRL(0x0ceceeef, 0x00000007, 0x0019d9dd) TEST_SRL(0xc689d515, 0x00000014, 0x00000c68) TEST_SRL(0x5322069a, 0x00000000, 0x5322069a) TEST_SRL(0xc01153e0, 0x00000008, 0x00c01153) TEST_SRL(0x8ad531ce, 0x0000001e, 0x00000002) TEST_SRL(0x7cbe7e40, 0x0000001c, 0x00000007) TEST_SRL(0x248cac4c, 0x0000001b, 0x00000004) TEST_SRL(0x193c9e68, 0x00000009, 0x000c9e4f) TEST_SRL(0x96fcb75e, 0x00000016, 0x0000025b) TEST_SRL(0x7c66d8a8, 0x00000017, 0x000000f8) TEST_SRL(0x97c68582, 0x00000013, 0x000012f8) TEST_SRL(0x67e9d088, 0x00000016, 0x0000019f) TEST_SRL(0xac7ca5f0, 0x00000017, 0x00000158) TEST_SRL(0x36ea27a0, 0x00000018, 0x00000036) TEST_SRL(0x8edc8558, 0x0000001c, 0x00000008) TEST_SRL(0xc81762b0, 0x00000012, 0x00003205) TEST_SRL(0x07643feb, 0x00000002, 0x01d90ffa) TEST_SRL(0x03cb5a9a, 0x00000019, 0x00000001) TEST_SRL(0x5f6e9b04, 0x0000000e, 0x00017dba) TEST_SRL(0xf9381ef8, 0x0000000d, 0x0007c9c0) TEST_SRL(0x9f2ae4bd, 0x0000000a, 0x0027cab9) TEST_SRL(0xfccd6510, 0x00000003, 0x1f99aca2) TEST_SRL(0xf4d022a3, 0x0000001d, 0x00000007) TEST_SRL(0xd01e1628, 0x00000000, 0xd01e1628) TEST_SRL(0x50d2eb64, 0x00000017, 0x000000a1) TEST_SRL(0xf7fe1380, 0x0000000a, 0x003dff84) TEST_SRL(0x3f208b00, 0x0000001d, 0x00000001) TEST_SRL(0xb050fbc4, 0x00000005, 0x058287de) TEST_SRL(0xd7cf9260, 0x00000018, 0x000000d7) TEST_SRL(0xc9f5e6f8, 0x0000000d, 0x00064faf) TEST_SRL(0x13c13f3c, 0x00000014, 0x0000013c) TEST_SRL(0x5609a2fa, 0x00000005, 0x02b04d17) TEST_SRL(0x82b7b880, 0x00000002, 0x20adee20) TEST_SRL(0x10e01b20, 0x00000019, 0x00000008) TEST_SRL(0x54c74415, 0x00000012, 0x00001531) TEST_SRL(0x4bcc116e, 0x0000000f, 0x00009798) TEST_SRL(0x644c3ef8, 0x00000016, 0x00000191) TEST_SRL(0x48d18780, 0x00000000, 0x48d18780) TEST_SRL(0xb4bf57b8, 0x00000000, 0xb4bf57b8) TEST_SRL(0x71000c2b, 0x00000000, 0x71000c2b) TEST_SRL(0xccaebba5, 0x00000000, 0xccaebba5) TEST_SRL(0x35d5c040, 0x00000000, 0x35d5c040) TEST_SRL(0xbbafbe33, 0x00000000, 0xbbafbe33) TEST_SRL(0x3098b297, 0x00000000, 0x3098b297) TEST_SRL(0x840418eb, 0x00000000, 0x840418eb) TEST_SRL(0x9889fdd0, 0x00000000, 0x9889fdd0) TEST_SRL(0xeb662556, 0x00000000, 0xeb662556) TEST_SRL(0xd92dd10e, 0x00000000, 0xd92dd10e) TEST_SRL(0xeb6240b4, 0x00000000, 0xeb6240b4) TEST_SRL(0x79368c54, 0x00000000, 0x79368c54) TEST_SRL(0xfdaa8940, 0x00000000, 0xfdaa8940) TEST_SRL(0xf3e99110, 0x00000000, 0xf3e99110) TEST_SRL(0x05260ce8, 0x00000000, 0x05260ce8) TEST_SRL(0x9d3f7cee, 0x00000000, 0x9d3f7cee) TEST_SRL(0xae5fb658, 0x00000000, 0xae5fb658) TEST_SRL(0x316638e8, 0x00000000, 0x316638e8) TEST_SRL(0x5251b1e0, 0x00000000, 0x5251b1e0) TEST_SRL(0xa1ca69a0, 0x00000000, 0xa1ca69a0) TEST_SRL(0x02086f98, 0x00000000, 0x02086f98) TEST_SRL(0x266ef6d8, 0x00000000, 0x266ef6d8) TEST_SRL(0xf57bd214, 0x00000000, 0xf57bd214) TEST_SRL(0xddce5bbc, 0x00000000, 0xddce5bbc) TEST_SRL(0x6f276284, 0x00000000, 0x6f276284) TEST_SRL(0x59c04a2c, 0x00000000, 0x59c04a2c) TEST_SRL(0xaa2f0e2a, 0x00000000, 0xaa2f0e2a) TEST_SRL(0xee783ae8, 0x00000000, 0xee783ae8) TEST_SRL(0x3e2275b4, 0x00000000, 0x3e2275b4) TEST_SRL(0x553adec3, 0x00000000, 0x553adec3) TEST_SRL(0x8189671d, 0x00000000, 0x8189671d) TEST_SRL(0xcab12b0e, 0x00000000, 0xcab12b0e) TEST_SRL(0xd5916d44, 0x00000000, 0xd5916d44) TEST_SRL(0x29d542b4, 0x00000000, 0x29d542b4) TEST_SRL(0x62738600, 0x00000000, 0x62738600) TEST_SRL(0xce753aa8, 0x00000000, 0xce753aa8) TEST_SRL(0xb145be00, 0x00000000, 0xb145be00) TEST_SRL(0xb56d9f5e, 0x00000000, 0xb56d9f5e) TEST_SRL(0x880f0d04, 0x00000000, 0x880f0d04) TEST_SRL(0x8a4d6fa0, 0x00000000, 0x8a4d6fa0) TEST_SRL(0x217aa622, 0x00000000, 0x217aa622) TEST_SRL(0xa80fa30b, 0x00000000, 0xa80fa30b) TEST_SRL(0x3eb636b0, 0x00000000, 0x3eb636b0) TEST_SRL(0xed86d00a, 0x00000000, 0xed86d00a) TEST_SRL(0xdf7334a0, 0x00000000, 0xdf7334a0) TEST_SRL(0x03e1477c, 0x00000000, 0x03e1477c) TEST_SRL(0xfd67f422, 0x00000000, 0xfd67f422) TEST_SRL(0x38b1ac50, 0x00000000, 0x38b1ac50) TEST_SRL(0x1acb5040, 0x00000000, 0x1acb5040) TEST_SRL(0x00000000, 0x00000009, 0x00000000) TEST_SRL(0x00000000, 0x0000000c, 0x00000000) TEST_SRL(0x00000000, 0x00000003, 0x00000000) TEST_SRL(0x00000000, 0x0000000c, 0x00000000) TEST_SRL(0x00000000, 0x00000010, 0x00000000) TEST_SRL(0x00000000, 0x0000000f, 0x00000000) TEST_SRL(0x00000000, 0x00000016, 0x00000000) TEST_SRL(0x00000000, 0x00000006, 0x00000000) TEST_SRL(0x00000000, 0x00000013, 0x00000000) TEST_SRL(0x00000000, 0x00000017, 0x00000000) TEST_SRL(0x00000000, 0x00000010, 0x00000000) TEST_SRL(0x00000000, 0x0000000d, 0x00000000) TEST_SRL(0x00000000, 0x00000017, 0x00000000) TEST_SRL(0x00000000, 0x0000000f, 0x00000000) TEST_SRL(0x00000000, 0x00000011, 0x00000000) TEST_SRL(0x00000000, 0x0000000d, 0x00000000) TEST_SRL(0x00000000, 0x00000019, 0x00000000) TEST_SRL(0x00000000, 0x0000000b, 0x00000000) TEST_SRL(0x00000000, 0x00000008, 0x00000000) TEST_SRL(0x00000000, 0x0000000c, 0x00000000) TEST_SRL(0x00000000, 0x00000013, 0x00000000) TEST_SRL(0x00000000, 0x00000002, 0x00000000) TEST_SRL(0x00000000, 0x00000014, 0x00000000) TEST_SRL(0x00000000, 0x00000007, 0x00000000) TEST_SRL(0x00000000, 0x00000010, 0x00000000) TEST_SRL(0x00000000, 0x0000000a, 0x00000000) TEST_SRL(0x00000000, 0x0000000f, 0x00000000) TEST_SRL(0x00000000, 0x00000018, 0x00000000) TEST_SRL(0x00000000, 0x00000009, 0x00000000) TEST_SRL(0x00000000, 0x0000000a, 0x00000000) TEST_SRL(0x00000000, 0x00000017, 0x00000000) TEST_SRL(0x00000000, 0x0000001c, 0x00000000) TEST_SRL(0x00000000, 0x00000010, 0x00000000) TEST_SRL(0x00000000, 0x00000000, 0x00000000) TEST_SRL(0x00000000, 0x0000001f, 0x00000000) TEST_SRL(0x00000000, 0x00000013, 0x00000000) TEST_SRL(0x00000000, 0x00000013, 0x00000000) TEST_SRL(0x00000000, 0x00000016, 0x00000000) TEST_SRL(0x00000000, 0x00000004, 0x00000000) TEST_SRL(0x00000000, 0x00000018, 0x00000000) TEST_SRL(0x00000000, 0x00000002, 0x00000000) TEST_SRL(0x00000000, 0x0000001d, 0x00000000) TEST_SRL(0x00000000, 0x00000010, 0x00000000) TEST_SRL(0x00000000, 0x00000010, 0x00000000) TEST_SRL(0x00000000, 0x00000018, 0x00000000) TEST_SRL(0x00000000, 0x00000009, 0x00000000) TEST_SRL(0x00000000, 0x0000001a, 0x00000000) TEST_SRL(0x00000000, 0x0000001c, 0x00000000) TEST_SRL(0x00000000, 0x00000018, 0x00000000) TEST_SRL(0x00000000, 0x00000004, 0x00000000) TEST_SRL(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(n35_srl_test)