input:
++++++++++[>+++++++>++++++++++>+++>+<<<<-]>++.>+.+++++++..+++.>++.<<+++++++++++++++.>.+++.------.--------.>+.>.

output:
:main
	SET PUSH, X
	SUB SP, 30000
	SET X, SP

	ADD [X], 10

:L00
	IFE [X], 0
	SET PC, L01
	ADD X, 1
	ADD [X], 7
	ADD X, 1
	ADD [X], 10
	ADD X, 1
	ADD [X], 3
	ADD X, 1
	ADD [X], 1
	SUB X, 4
	SUB [X], 1
	SET PC, L00
:L01

	ADD X, 1
	ADD [X], 2
	SET Y, [X]
	JSR printchar
	ADD X, 1
	ADD [X], 1
	SET Y, [X]
	JSR printchar
	ADD [X], 7
	SET Y, [X]
	JSR printchar
	SET Y, [X]
	JSR printchar
	ADD [X], 3
	SET Y, [X]
	JSR printchar
	ADD X, 1
	ADD [X], 2
	SET Y, [X]
	JSR printchar
	SUB X, 2
	ADD [X], 15
	SET Y, [X]
	JSR printchar
	ADD X, 1
	SET Y, [X]
	JSR printchar
	ADD [X], 3
	SET Y, [X]
	JSR printchar
	SUB [X], 6
	SET Y, [X]
	JSR printchar
	SUB [X], 8
	SET Y, [X]
	JSR printchar
	ADD X, 1
	ADD [X], 1
	SET Y, [X]
	JSR printchar
	ADD X, 1
	SET Y, [X]
	JSR printchar

	ADD SP, 30000
	SET X, POP
	SET PC, crash