1.ps2 2.create "output.bin",0 3 4; li 5 6li a0,0x123456 ; standard li 7li a0,-0x123456 ; negative value, lower half MSB set 8li a0,0xFFFFF123 ; li that turns into addiu from r0 9li a0,-0xEDD ; should give the same result 10li a0,0x120000 ; only lui 11li a0,0x7FF0 ; li that turns into ori from r0 12 13li a0, 1.0 ; float 14li a0, -1.0 15li a0, 325.0 16 17; load/store 18lb a0,0x123456 19lbu a0,0xFFFFF123 20lh a0,0x12000000 21lhu a0,0x7FF0 22lw a0,0x7FF0 23lwu a0,0xFFE0 24ld a0,0xFFE0 25 26.resetdelay 27 28sb a0,0x123456 29sh a0,0xFFFFF123 30sw a0,0x7FF0 31sd a0,0xFFE0 32 33lb.u a0,0x1234 ; should turn into nop 34lb.l a0,0x123456 ; should just be the second instruction 35lb.u a0,0x123456 ; should just be first instruction 36 37 38; load/store unaligned 39ulh a0,0x1234(a1) 40ulhu a0,0x1234(a1) 41ulw a0,0x1234(a1) 42uld a0,0x1234(a1) 43ush a0,0x1234(a1) 44usw a0,0x1234(a1) 45usd a0,0x1234(a1) 46 47; absolute value 48 49abs a0,a1 50dabs a0,a1 51 52; branch macros 53 54bne a0, 0x1234, 0x4444 55beq a0, 0x1234, 0x4444 56bnel a0, 0x1234, 0x4444 57beql a0, 0x1234, 0x4444 58 59bne a0, 0x12345, 0x4444 60beq a0, 0x12345, 0x4444 61bnel a0, 0x12345, 0x4444 62beql a0, 0x12345, 0x4444 63 64blt a0, a1, 0x4444 65bltu a0, a1, 0x4444 66bgt a0, a1, 0x4444 67bgtu a0, a1, 0x4444 68bge a0, a1, 0x4444 69bgeu a0, a1, 0x4444 70ble a0, a1, 0x4444 71bleu a0, a1, 0x4444 72bltl a0, a1, 0x4444 73bltul a0, a1, 0x4444 74bgtl a0, a1, 0x4444 75bgtul a0, a1, 0x4444 76bgel a0, a1, 0x4444 77bgeul a0, a1, 0x4444 78blel a0, a1, 0x4444 79bleul a0, a1, 0x4444 80 81blt a0, 0x1234, 0x4444 82bltu a0, 0x1234, 0x4444 83bgt a0, 0x1234, 0x4444 84bgtu a0, 0x1234, 0x4444 85bge a0, 0x1234, 0x4444 86bgeu a0, 0x1234, 0x4444 87ble a0, 0x1234, 0x4444 88bleu a0, 0x1234, 0x4444 89bltl a0, 0x1234, 0x4444 90bltul a0, 0x1234, 0x4444 91bgtl a0, 0x1234, 0x4444 92bgtul a0, 0x1234, 0x4444 93bgel a0, 0x1234, 0x4444 94bgeul a0, 0x1234, 0x4444 95blel a0, 0x1234, 0x4444 96bleul a0, 0x1234, 0x4444 97 98blt a0, 0x12345, 0x4444 99bltu a0, 0x12345, 0x4444 100bgt a0, 0x12345, 0x4444 101bgtu a0, 0x12345, 0x4444 102bge a0, 0x12345, 0x4444 103bgeu a0, 0x12345, 0x4444 104ble a0, 0x12345, 0x4444 105bleu a0, 0x12345, 0x4444 106bltl a0, 0x12345, 0x4444 107bltul a0, 0x12345, 0x4444 108bgtl a0, 0x12345, 0x4444 109bgtul a0, 0x12345, 0x4444 110bgel a0, 0x12345, 0x4444 111bgeul a0, 0x12345, 0x4444 112blel a0, 0x12345, 0x4444 113bleul a0, 0x12345, 0x4444 114 115 116; set macros 117 118sne a0, a1, a2 119seq a0, a1, a2 120sge a0, a1, a2 121sgeu a0, a1, a2 122sle a0, a1, a2 123sleu a0, a1, a2 124 125sne a0, a1, 0x1234 126seq a0, a1, 0x1234 127slt a0, a1, 0x1234 128sltu a0, a1, 0x1234 129sgt a0, a1, 0x1234 130sgtu a0, a1, 0x1234 131sge a0, a1, 0x1234 132sgeu a0, a1, 0x1234 133sle a0, a1, 0x1234 134sleu a0, a1, 0x1234 135 136sne a0, a1, 0x12345 137seq a0, a1, 0x12345 138slt a0, a1, 0x12345 139sltu a0, a1, 0x12345 140sgt a0, a1, 0x12345 141sgtu a0, a1, 0x12345 142sge a0, a1, 0x12345 143sgeu a0, a1, 0x12345 144sle a0, a1, 0x12345 145sleu a0, a1, 0x12345 146 147; rotate macros 148rol a0,a1,a2 149rol a0,a1,12 150ror a0,a1,a2 151ror a0,a1,12 152 153.close 154