         Edinburgh IMP77 Compiler - Version 8.4
    1 %begin
		.Ltext0:
				.align	1
				.global	main
				.thumb
				.thumb_func
		main:
		.LFB185:
				@ args = 0, pretend = 0, frame = 0
				@ frame_needed = 0, uses_anonymous_args = 0
		.LVL0:
				push	{r3, lr}
    2   %integer res, fred, jim
				bl	_imp_initialise(PLT)
		.LVL1:
		.LBB4:
		.LBB5:
				movs	r0, #0
				bl	exit(PLT)
		.LVL2:
		.LBE5:
		.LBE4:
		.LFE185:
		.Letext0:
    3   fred = 1
    4   jim = fred + 2
    5   ! how do you do integer exponentiation?
    6   res = ((fred * jim) + jim) - ((fred << jim) // jim)
    7   res = fred >> (fred ! jim) & jim;
    8 %endofprogram
    7 Statements compiled
