         Edinburgh IMP77 Compiler - Version 8.4
    1 ! A test of dynamic loading!  (not yet implemented.  See dltest.c for the mechanism.)
				.section .mdebug.abi32
				.previous
				.nan	legacy
				.module	fp=xx
				.module	nooddspreg
				.abicalls
		$Ltext0:
				.align	2
				.globl	main
				LFB185 = .
    2 %begin
				.set	nomips16
				.set	nomicromips
				.ent	main
		main:
				.frame	$sp,552,$31		# vars= 520, regs= 1/0, args= 16, gp= 8
				.mask	0x80000000,-4
				.fmask	0x00000000,0
				.set	noreorder
				.set	nomacro
				LVL0 = .
				addiu	$sp,$sp,-552
				sw	$31,548($sp)
				lui	$28,%hi(__gnu_local_gp)
				addiu	$28,$28,%lo(__gnu_local_gp)
				.cprestore	16
				lw	$2,%got(__stack_chk_guard)($28)
				lw	$2,0($2)
				sw	$2,540($sp)
    3   %dynamic %routine %spec system(%longinteger pointer64)
				lw	$25,%call16(_imp_initialise)($28)
				.reloc	1f,R_MIPS_JALR,_imp_initialise
			1:	jalr	$25
				nop
				LVL1 = .
				lw	$28,16($sp)
				LVL2 = .
    4   ! By making this dynamic, it is linked *at run time*
    5
    6   %string (255) command = "/bin/ls -la"
    7
    8   charno(command, length(command)+1) = 0
				lbu	$2,28($sp)
				addiu	$3,$sp,544
				addu	$2,$3,$2
				sb	$0,-515($2)
				addiu	$4,$sp,29
				lw	$25,%call16(SYSTEM)($28)
				.reloc	1f,R_MIPS_JALR,SYSTEM
			1:	jalr	$25
				nop
				LVL4 = .
				lw	$28,16($sp)
				LVL5 = .
				LBB12 = .
				LBB13 = .
				move	$4,$0
				lw	$25,%call16(exit)($28)
				.reloc	1f,R_MIPS_JALR,exit
			1:	jalr	$25
				nop
				LVL6 = .
				LBE13 = .
				LBE12 = .
				.set	macro
				.set	reorder
				.end	main
		$LFE185:
		$Letext0:
    9   system(ADDR(command)+1)
				li	$6,255			# 0xff
				addiu	$5,$sp,284
				addiu	$4,$sp,28
				lw	$25,%call16(_imp_strncpy)($28)
				.reloc	1f,R_MIPS_JALR,_imp_strncpy
			1:	jalr	$25
				nop
				LVL3 = .
				lw	$28,16($sp)
   10
   11 %endofprogram
    6 Statements compiled
