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