         Edinburgh IMP77 Compiler - Version 8.4
    1 %external %real %function S To R (%string (255) Input)
				.machinemode zarch
				.machine "zEC12"
		.text
		.Ltext0:
				.align	8
		NEXT.6694:
		.LFB186:
				stmg	%r6,%r15,48(%r15)
				larl	%r13,.L36
				lgr	%r14,%r15
				lay	%r15,-2008(%r15)
				aghi	%r14,-16
				std	%f8,0(%r14)
				std	%f10,8(%r14)
				lgr	%r9,%r2
				ear	%r1,%a0
				sllg	%r1,%r1,32
				ear	%r1,%a1
				mvc	1984(8,%r15),40(%r1)
				la	%r1,2168(%r15)
				stg	%r1,696(%r15)
				stg	%r2,680(%r15)
		.LVL0:
    2   %integer Sign = 0,
    3            Sym,
				lhi	%r11,0
		.LVL1:
		.L7:
    4            Pos = 1
    5   %long %real Value,
    6               Exp
				mvhi	692(%r15),1
    7
    8    %routine Next
				lgr	%r1,%r0
    9       Pos = Pos + 1
				l	%r2,12(%r1)
				ahi	%r2,1
				st	%r2,12(%r1)
   10       %if Pos > Length (Input) %start
				lg	%r3,0(%r1)
				llc	%r4,0(%r3)
				crjl	%r4,%r2,.L4
		.L2:
   11          Sym = 0
				mvhi	8(%r1),0
   12       %else
				j	.L1
		.LFE186:
				.section	.rodata.str1.2,"aMS",@progbits,1
				.align	2
		.LC1:
				.string	""
				.section	.rodata
				.align	2
		.LC0:
				.byte	20
				.string	"test-new/test153.imp"
				.zero	234
		.text
				.align	8
		.globl STOR
		STOR:
		.LFB185:
   13          Sym = Char No (Input, Pos)
				lgfr	%r2,%r2
				llc	%r2,0(%r2,%r3)
				st	%r2,8(%r1)
		.L3:
		.L1:
   14       %finish
   15    %end
   16
				br	%r14
		.L4:
   17    Sym = Char No (Input, Pos)
				llc	%r1,1(%r2)
				st	%r1,688(%r15)
   18    %if Sym = '-' %start
				cije	%r1,45,.L32
   19       Sign = 1
				lhi	%r11,1
				j	.L7
		.LVL18:
		.L11:
		.LBB23:
   20       Next
				aghik	%r0,%r15,680
				brasl	%r14,NEXT.6694
		.LVL17:
   21    %finish
   22    Value = 0
				lzdr	%f8
		.LVL20:
		.L8:
   23    %if Sym # '.' %start
				l	%r1,688(%r15)
				cije	%r1,46,.L27
		.LVL2:
		.LBB21:
   24       %signal 6, 5, Pos %unless '0' <= Sym <= '9'           {Char No out of range}
   25       %cycle
   26          Value = Value*10.0 + (Sym - '0')
				mdb	%f8,.L37-.L36(%r13)
		.LVL8:
				l	%r1,688(%r15)
				ahi	%r1,-48
				cdfbr	%f0,%r1
				adbr	%f8,%f0
		.LVL9:
   27          Next
				ahi	%r1,-48
		.LVL3:
				clijle	%r1,9,.L9
		.L10:
		.LBE21:
				aghik	%r10,%r15,680
		.LVL7:
		.L14:
				lgr	%r0,%r10
				brasl	%r14,NEXT.6694
		.LVL10:
		.LBB22:
   28       %repeat %until %not '0' <= Sym <= '9'
   29    %finish
   30    %if Sym = '.' %start
				cije	%r1,46,.L8
		.L17:
		.L20:
		.LVL12:
		.L21:
   31       Exp = 10.0
				l	%r1,688(%r15)
		.LVL11:
				ahik	%r2,%r1,-48
				clijle	%r2,9,.L14
		.L15:
		.L16:
		.LBE22:
   32       %cycle
				lgrl	%r1,_imp_current_file@GOTENT
				ltg	%r3,0(%r1)
				je	.L11
				la	%r2,1216(%r15)
				brasl	%r14,_imp_c2istr@PLT
		.LVL4:
		.L12:
				lgrl	%r1,_imp_current_line@GOTENT
				lt	%r10,0(%r1)
				ltr	%r10,%r10
				lhi	%r1,32
				locrne	%r1,%r10
				lr	%r10,%r1
				larl	%r3,.LC1
				la	%r2,1472(%r15)
				brasl	%r14,_imp_c2istr@PLT
		.LVL5:
				mvc	424(256,%r15),1216(%r15)
				mvc	168(256,%r15),1472(%r15)
				lgf	%r1,692(%r15)
				stg	%r1,160(%r15)
				lghi	%r6,5
				lghi	%r5,6
				la	%r4,168(%r15)
				lgfr	%r3,%r10
				la	%r2,424(%r15)
				brasl	%r14,_signal_event@PLT
		.LVL6:
		.L9:
				lzdr	%f8
				larl	%r1,.LC0
				mvc	1728(256,%r15),0(%r1)
				mvc	704(256,%r15),1728(%r15)
		.LBE23:
				mvc	1216(256,%r15),704(%r15)
				j	.L12
		.LVL19:
		.L27:
				ld	%f10,.L37-.L36(%r13)
   33          Next
				aghik	%r10,%r15,680
		.L19:
		.LVL21:
				lgr	%r0,%r10
				brasl	%r14,NEXT.6694
		.LVL22:
		.LBB24:
   34          %exit %unless '0' <= Sym <= '9'
   35          Value = Value + (Sym - '0')/Exp
				cdfbr	%f0,%r2
				ddbr	%f0,%f10
				adbr	%f8,%f0
		.LVL24:
   36          Exp = Exp * 10.0
				mdb	%f10,.L37-.L36(%r13)
		.LVL25:
   37       %repeat
				l	%r1,688(%r15)
		.LVL23:
				ahik	%r2,%r1,-48
				clijh	%r2,9,.L21
		.L18:
		.LBE24:
				j	.L19
		.LVL26:
		.L33:
		.LBB25:
   38    %finish
   39    %if Sym = '@' %start
				l	%r1,688(%r15)
				chi	%r1,64
				je	.L33
		.L22:
   40       Sym = S To I (Sub String (Input, Pos + 1, Length (Input)))
				st	%r2,688(%r15)
   41       Value = Value * 10.0\Sym
				cdfbr	%f2,%r2
		.LVL30:
		.LBB30:
		.LBB31:
				cdb	%f2,.L38-.L36(%r13)
				jne	.L35
				ld	%f0,.L39-.L36(%r13)
		.LVL31:
		.L23:
		.LBE31:
		.LBE30:
				mdbr	%f8,%f0
		.LVL32:
				j	.L22
		.LVL33:
		.L35:
		.LBB33:
		.LBB32:
				ld	%f0,.L37-.L36(%r13)
				brasl	%r14,pow@PLT
		.LVL34:
				j	.L23
		.LVL35:
		.L34:
		.LBE32:
		.LBE33:
				brasl	%r14,__stack_chk_fail@PLT
		.LVL36:
				.section	.rodata
				.align	8
		.L36:
		.L39:
				.long	1079574528
				.long	0
		.L38:
				.long	1073741824
				.long	0
		.L37:
				.long	1076101120
				.long	0
				.align	2
		.text
		.LFE185:
		.Letext0:
   42    %finish
				l	%r1,692(%r15)
				ahik	%r4,%r1,1
		.LVL27:
		.LBB26:
		.LBB27:
				llgc	%r5,0(%r9)
				lgfr	%r4,%r4
				lgr	%r3,%r9
				la	%r2,960(%r15)
				brasl	%r14,_imp_substring@PLT
		.LVL28:
				mvc	1728(256,%r15),960(%r15)
		.LBE27:
		.LBE26:
		.LBE25:
		.LBB28:
		.LBB29:
				mvc	168(256,%r15),1728(%r15)
				aghik	%r2,%r15,168
				brasl	%r14,_imp_stoi@PLT
		.LVL29:
		.LBE29:
		.LBE28:
   43    Value = -Value %if Sign # 0
				cije	%r11,0,.L24
   44    %result = Value
				lcdbr	%f8,%f8
		.LVL13:
		.L24:
   45 %end {S To R}
				ledbr	%f0,%f8
				ear	%r1,%a0
				sllg	%r1,%r1,32
				ear	%r1,%a1
				clc	1984(8,%r15),40(%r1)
				jne	.L34
				ld	%f8,1992(%r15)
		.LVL14:
				ld	%f10,2000(%r15)
				lg	%r4,2120(%r15)
				lmg	%r6,%r15,2056(%r15)
		.LVL15:
				br	%r4
		.LVL16:
		.L32:
   46
   47 %endoffile
   41 Statements compiled
