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