1	.set		mips16
2	.set		noreorder
3foo:
4	addiu.t		$16, $29, 0	# ADDIUSP
5	addu.t		$16, $29, 0
6
7	.align		2
8	addiu.t		$16, $pc, 0	# ADDIUPC
9	addu.t		$16, $pc, 0
10	la.t		$16, . - 1
11
12	b.t		. + 2		# B
13
14	jal.t		0		# JAL(X)
15	 nop
16	jalx.t		0
17	 nop
18
19	beqz.t		$16, . + 2	# BEQZ
20
21	bnez.t		$16, . + 2	# BNEZ
22
23	sll.t		$16, $16, 8	# SHIFT		# SLL
24	dsll.t		$16, $16, 8			# DSLL
25	srl.t		$16, $16, 8			# SRL
26	sra.t		$16, $16, 8			# SRA
27
28	ld.t		$16, 0($16)	# LD
29
30	addiu.t		$16, $16, 0	# RRI-A		# ADDIU
31	addu.t		$16, $16, 0
32	daddiu.t	$16, $16, 0			# DADDIU
33	daddu.t		$16, $16, 0
34
35	addiu.t		$16, 0		# ADDIU8
36	addu.t		$16, 0
37
38	slti.t		$16, 0		# SLTI
39	slt.t		$16, 0
40
41	sltiu.t		$16, 0		# SLTIU
42	sltu.t		$16, 0
43
44	bteqz.t		. + 2		# I8		# BTEQZ
45	btnez.t		. + 2				# BTNEZ
46	sw.t		$31, 0($29)			# SWRASP
47	addiu.t		$29, 0				# ADJSP
48	addiu.t		$29, $29, 0
49	addu.t		$29, 0
50	addu.t		$29, $29, 0
51	restore.t	128				# SVRS	     # RESTORE
52	save.t		128						# SAVE
53	nop.t						# MOV32R
54	move.t		$0, $16
55	move.t		$16, $0				# MOVR32
56
57	li.t		$16, 0		# LI
58
59	cmpi.t		$16, 0		# CMPI
60	cmp.t		$16, 0
61
62	sd.t		$16, 0($16)	# SD
63
64	lb.t		$16, 0($16)	# LB
65
66	lh.t		$16, 0($16)	# LH
67
68	lw.t		$16, 0($29)	# LWSP
69
70	lw.t		$16, 0($16)	# LW
71
72	lbu.t		$16, 0($16)	# LBU
73
74	lhu.t		$16, 0($16)	# LHU
75
76	.align	2
77	lw.t		$16, 0($pc)	# LWPC
78	lw.t		$16, . - 3
79
80	lwu.t		$16, 0($16)	# LWU
81
82	sb.t		$16, 0($16)	# SB
83
84	sh.t		$16, 0($16)	# SH
85
86	sw.t		$16, 0($29)	# SWSP
87
88	sw.t		$16, 0($16)	# SW
89
90	daddu.t		$16, $16, $16	# RRR		# DADDU
91	addu.t		$16, $16, $16			# ADDU
92	dsubu.t		$16, $16, $16			# DSUBU
93	subu.t		$16, $16, $16			# SUBU
94
95	jr.t		$16		# RR		# J(AL)R(C)	# JR rx
96	 nop
97	j.t		$16
98	 nop
99	jr.t		$31						# JR ra
100	 nop
101	j.t		$31
102	 nop
103	jalr.t		$16						# JALR
104	 nop
105	jalr.t		$31, $16
106	 nop
107	jal.t		$16
108	 nop
109	jal.t		$31, $16
110	 nop
111	jrc.t		$16					       # JRC rx
112	jrc.t		$31					       # JRC ra
113	jalrc.t		$16						# JALRC
114	jalrc.t		$31, $16
115	sdbbp.t		0				# SDBBP
116	slt.t		$16, $16			# SLT
117	sltu.t		$16, $16			# SLTU
118	sllv.t		$16, $16			# SLLV
119	sll.t		$16, $16
120	break.t		0				# BREAK
121	srlv.t		$16, $16			# SRLV
122	srl.t		$16, $16
123	srav.t		$16, $16			# SRAV
124	sra.t		$16, $16
125	dsrl.t		$16, 8				# DSRL
126	entry.t						# ENTRY/EXIT
127	entry.t		$31
128	exit.t		$f0
129	exit.t
130	cmp.t		$16, $16			# CMP
131	neg.t		$16, $16			# NEG
132	and.t		$16, $16			# AND
133	or.t		$16, $16			# OR
134	xor.t		$16, $16			# XOR
135	not.t		$16, $16			# NOT
136	mfhi.t		$16				# MFHI
137	zeb.t		$16				# CNVT		# ZEB
138	zeh.t		$16						# ZEH
139	zew.t		$16						# ZEW
140	seb.t		$16						# SEB
141	seh.t		$16						# SEH
142	sew.t		$16						# SEW
143	mflo.t		$16				# MFLO
144	dsra.t		$16, 8				# DSRA
145	dsllv.t		$16, $16			# DSLLV
146	dsll.t		$16, $16
147	dsrlv.t		$16, $16			# DSRLV
148	dsrl.t		$16, $16
149	dsrav.t		$16, $16			# DSRAV
150	dsra.t		$16, $16
151	mult.t		$16, $16			# MULT
152	multu.t		$16, $16			# MULTU
153	div.t		$0, $16, $16			# DIV
154	rem.t		$0, $16, $16
155	divu.t		$0, $16, $16			# DIVU
156	remu.t		$0, $16, $16
157	dmult.t		$16, $16			# DMULT
158	dmultu.t	$16, $16			# DMULTU
159	ddiv.t		$0, $16, $16			# DDIV
160	drem.t		$0, $16, $16
161	ddivu.t		$0, $16, $16			# DDIVU
162	dremu.t		$0, $16, $16
163
164	extend.t	0		# EXTEND
165
166	ld.t		$16, 0($29)	# I64		# LDSP
167	sd.t		$16, 0($29)			# SDSP
168	sd.t		$31, 0($29)			# SDRASP
169	daddiu.t	$29, 0				# DADJSP
170	daddiu.t	$29, $29, 0
171	daddu.t		$29, 0
172	daddu.t		$29, $29, 0
173	.align		3
174	ld.t		$16, 0($pc)			# LDPC
175	ld.t		$16, . - 3
176	daddiu.t	$16, 0				# DADDIU5
177	daddu.t		$16, 0
178	.align		2
179	daddiu.t	$16, $pc, 0			# DADDIUPC
180	daddu.t		$16, $pc, 0
181	dla.t		$16, . - 1
182	daddiu.t	$16, $sp, 0			# DADDIUSP
183	daddu.t		$16, $sp, 0
184
185# Force some (non-delay-slot) zero bytes, to make 'objdump' print ...
186	.align		4, 0
187	.space		16
188