#ifdef __STDC__
#define CAT(a,b) a##b
#else
#define CAT(a,b) a/**/b
#endif
#ifdef ELF
#define SPACE \
! .text! .align 4
#define GSYM(sym) \
! .export sym,millicode!sym:
#define LSYM(sym) \
!CAT(.L,sym:)
#define LREF(sym) CAT(.L,sym)
#else
#define SPACE \
! .space $TEXT$! .subspa $MILLICODE$,quad=0,align=8,access=0x2c,sort=8! .align 4
#define GSYM(sym) \
! .export sym,millicode!sym
#define LSYM(sym) \
!CAT(L$,sym)
#define LREF(sym) CAT(L$,sym)
#endif
#ifdef L_dyncall
SPACE
GSYM($$dyncall)
.proc
.callinfo frame=0,no_calls
.entry
bb,>=,n %r22,30,LREF(1) ldw 4(%r22),%r19 LSYM(1)
#ifdef LINUX
bv %r0(%r22) ldsid (%sr0,%r22),%r1 be 0(%sr0,%r22) stw %r2,-24(%r30) .procend
#endif
#ifdef L_multiply
#define op0 %r26
#define op1 %r25
#define res %r29
#define ret %r31
#define tmp %r1
SPACE
GSYM($$mulU)
GSYM($$mulI)
.proc
.callinfo frame=0,no_calls
.entry
addi,tr 0,%r0,res zdep op1,26,27,op1 zdep op0,30,5,tmp extru op0,26,27,op0 comib,<> 0,op0,LREF(lo)
zdep op1,26,27,op1 nop
LSYM(1)
b LREF(loop)
addl op1,res,res
nop
nop
LSYM(2)
b LREF(loop)
sh1addl op1,res,res
nop
nop
LSYM(3)
sh1addl op1,op1,tmp addl tmp,res,res
nop
LSYM(4)
b LREF(loop)
sh2addl op1,res,res
nop
nop
LSYM(5)
sh2addl op1,op1,tmp addl tmp,res,res
nop
LSYM(6)
sh1addl op1,op1,tmp sh1addl tmp,res,res
nop
LSYM(7)
zdep op1,28,29,tmp b LREF(loop)
addl tmp,res,res
LSYM(8)
b LREF(loop)
sh3addl op1,res,res
nop
nop
LSYM(9)
sh3addl op1,op1,tmp addl tmp,res,res
nop
LSYM(10)
sh2addl op1,op1,tmp sh1addl tmp,res,res
nop
LSYM(11)
sh2addl op1,op1,tmp b LREF(loop)
addl tmp,res,res
LSYM(12)
sh1addl op1,op1,tmp sh2addl tmp,res,res
nop
LSYM(13)
sh1addl op1,op1,tmp b LREF(loop)
addl tmp,res,res
LSYM(14)
zdep op1,28,29,tmp b LREF(loop)
sh1addl tmp,res,res
LSYM(15)
zdep op1,27,28,tmp b LREF(loop)
addl tmp,res,res
LSYM(16)
zdep op1,27,28,tmp addl tmp,res,res
nop
LSYM(17)
zdep op1,27,28,tmp b LREF(loop)
addl tmp,res,res
LSYM(18)
sh3addl op1,op1,tmp sh1addl tmp,res,res
nop
LSYM(19)
sh3addl op1,op1,tmp b LREF(loop)
addl tmp,res,res
LSYM(20)
sh2addl op1,op1,tmp sh2addl tmp,res,res
nop
LSYM(21)
sh2addl op1,op1,tmp b LREF(loop)
addl tmp,res,res
LSYM(22)
sh2addl op1,op1,tmp b LREF(loop)
sh1addl tmp,res,res
LSYM(23)
sh1addl op1,op1,tmp b LREF(loop)
sub res,op1,res sh1addl op1,op1,tmp sh3addl tmp,res,res LSYM(25)
sh2addl op1,op1,tmp b LREF(loop)
addl tmp,res,res
LSYM(26)
sh1addl op1,op1,tmp b LREF(loop)
sh1addl tmp,res,res sh1addl op1,op1,tmp b LREF(loop)
addl tmp,res,res
LSYM(28)
zdep op1,28,29,tmp b LREF(loop)
sh2addl tmp,res,res sh1addl op1,op1,tmp b LREF(foo)
zdep op1,26,27,tmp zdep op1,27,28,tmp b LREF(loop)
sh1addl tmp,res,res zdep op1,26,27,tmp LSYM(foo)
b LREF(loop)
addl tmp,res,res
.exit
.procend
#endif
#ifdef L_divU
#define dividend %r26
#define divisor %r25
#define tmp %r1
#define quotient %r29
#define ret %r31
SPACE
GSYM($$divU)
.proc
.callinfo frame=0,no_calls
.entry
comb,< divisor,0,LREF(largedivisor)
sub %r0,divisor,%r1 addc dividend,dividend,dividend
ds %r0,divisor,%r1
addc dividend,dividend,dividend
ds %r1,divisor,%r1
addc dividend,dividend,dividend
ds %r1,divisor,%r1
addc dividend,dividend,dividend
ds %r1,divisor,%r1
addc dividend,dividend,dividend
ds %r1,divisor,%r1
addc dividend,dividend,dividend
ds %r1,divisor,%r1
addc dividend,dividend,dividend
ds %r1,divisor,%r1
addc dividend,dividend,dividend
ds %r1,divisor,%r1
addc dividend,dividend,dividend
ds %r1,divisor,%r1
addc dividend,dividend,dividend
ds %r1,divisor,%r1
addc dividend,dividend,dividend
ds %r1,divisor,%r1
addc dividend,dividend,dividend
ds %r1,divisor,%r1
addc dividend,dividend,dividend
ds %r1,divisor,%r1
addc dividend,dividend,dividend
ds %r1,divisor,%r1
addc dividend,dividend,dividend
ds %r1,divisor,%r1
addc dividend,dividend,dividend
ds %r1,divisor,%r1
addc dividend,dividend,dividend
ds %r1,divisor,%r1
addc dividend,dividend,dividend
ds %r1,divisor,%r1
addc dividend,dividend,dividend
ds %r1,divisor,%r1
addc dividend,dividend,dividend
ds %r1,divisor,%r1
addc dividend,dividend,dividend
ds %r1,divisor,%r1
addc dividend,dividend,dividend
ds %r1,divisor,%r1
addc dividend,dividend,dividend
ds %r1,divisor,%r1
addc dividend,dividend,dividend
ds %r1,divisor,%r1
addc dividend,dividend,dividend
ds %r1,divisor,%r1
addc dividend,dividend,dividend
ds %r1,divisor,%r1
addc dividend,dividend,dividend
ds %r1,divisor,%r1
addc dividend,dividend,dividend
ds %r1,divisor,%r1
addc dividend,dividend,dividend
ds %r1,divisor,%r1
addc dividend,dividend,dividend
ds %r1,divisor,%r1
addc dividend,dividend,dividend
ds %r1,divisor,%r1
addc dividend,dividend,quotient
ds %r1,divisor,%r1
bv %r0(ret)
addc quotient,quotient,quotient
LSYM(largedivisor)
comclr,<< dividend,divisor,quotient
ldi 1,quotient
bv,n %r0(ret)
.exit
.procend
#endif
#ifdef L_remU
#define dividend %r26
#define divisor %r25
#define quotient %r29
#define tmp %r1
#define ret %r31
SPACE
GSYM($$remU)
.proc
.callinfo frame=0,no_calls
.entry
comb,< divisor,0,LREF(largedivisor)
sub %r0,divisor,%r1 addc dividend,dividend,dividend
ds %r0,divisor,%r1
addc dividend,dividend,dividend
ds %r1,divisor,%r1
addc dividend,dividend,dividend
ds %r1,divisor,%r1
addc dividend,dividend,dividend
ds %r1,divisor,%r1
addc dividend,dividend,dividend
ds %r1,divisor,%r1
addc dividend,dividend,dividend
ds %r1,divisor,%r1
addc dividend,dividend,dividend
ds %r1,divisor,%r1
addc dividend,dividend,dividend
ds %r1,divisor,%r1
addc dividend,dividend,dividend
ds %r1,divisor,%r1
addc dividend,dividend,dividend
ds %r1,divisor,%r1
addc dividend,dividend,dividend
ds %r1,divisor,%r1
addc dividend,dividend,dividend
ds %r1,divisor,%r1
addc dividend,dividend,dividend
ds %r1,divisor,%r1
addc dividend,dividend,dividend
ds %r1,divisor,%r1
addc dividend,dividend,dividend
ds %r1,divisor,%r1
addc dividend,dividend,dividend
ds %r1,divisor,%r1
addc dividend,dividend,dividend
ds %r1,divisor,%r1
addc dividend,dividend,dividend
ds %r1,divisor,%r1
addc dividend,dividend,dividend
ds %r1,divisor,%r1
addc dividend,dividend,dividend
ds %r1,divisor,%r1
addc dividend,dividend,dividend
ds %r1,divisor,%r1
addc dividend,dividend,dividend
ds %r1,divisor,%r1
addc dividend,dividend,dividend
ds %r1,divisor,%r1
addc dividend,dividend,dividend
ds %r1,divisor,%r1
addc dividend,dividend,dividend
ds %r1,divisor,%r1
addc dividend,dividend,dividend
ds %r1,divisor,%r1
addc dividend,dividend,dividend
ds %r1,divisor,%r1
addc dividend,dividend,dividend
ds %r1,divisor,%r1
addc dividend,dividend,dividend
ds %r1,divisor,%r1
addc dividend,dividend,dividend
ds %r1,divisor,%r1
addc dividend,dividend,dividend
ds %r1,divisor,%r1
addc dividend,dividend,quotient
ds %r1,divisor,%r1
comclr,>= %r1,%r0,%r0
addl %r1,divisor,%r1
bv %r0(ret)
copy %r1,quotient
LSYM(largedivisor)
sub,>>= dividend,divisor,quotient
copy dividend,quotient
bv,n %r0(ret)
.exit
.procend
#endif
#ifdef L_divI
#define dividend %r26
#define divisor %r25
#define quotient %r29
#define tmp %r1
#define ret %r31
SPACE
GSYM($$divI)
.proc
.callinfo frame=0,no_calls
.entry
xor dividend,divisor,quotient sub %r0,divisor,divisor
comclr,>= dividend,%r0,%r0
sub %r0,dividend,dividend
comb,< divisor,0,LREF(largedivisor)
sub %r0,divisor,%r1 addc dividend,dividend,dividend
ds %r0,divisor,%r1
addc dividend,dividend,dividend
ds %r1,divisor,%r1
addc dividend,dividend,dividend
ds %r1,divisor,%r1
addc dividend,dividend,dividend
ds %r1,divisor,%r1
addc dividend,dividend,dividend
ds %r1,divisor,%r1
addc dividend,dividend,dividend
ds %r1,divisor,%r1
addc dividend,dividend,dividend
ds %r1,divisor,%r1
addc dividend,dividend,dividend
ds %r1,divisor,%r1
addc dividend,dividend,dividend
ds %r1,divisor,%r1
addc dividend,dividend,dividend
ds %r1,divisor,%r1
addc dividend,dividend,dividend
ds %r1,divisor,%r1
addc dividend,dividend,dividend
ds %r1,divisor,%r1
addc dividend,dividend,dividend
ds %r1,divisor,%r1
addc dividend,dividend,dividend
ds %r1,divisor,%r1
addc dividend,dividend,dividend
ds %r1,divisor,%r1
addc dividend,dividend,dividend
ds %r1,divisor,%r1
addc dividend,dividend,dividend
ds %r1,divisor,%r1
addc dividend,dividend,dividend
ds %r1,divisor,%r1
addc dividend,dividend,dividend
ds %r1,divisor,%r1
addc dividend,dividend,dividend
ds %r1,divisor,%r1
addc dividend,dividend,dividend
ds %r1,divisor,%r1
addc dividend,dividend,dividend
ds %r1,divisor,%r1
addc dividend,dividend,dividend
ds %r1,divisor,%r1
addc dividend,dividend,dividend
ds %r1,divisor,%r1
addc dividend,dividend,dividend
ds %r1,divisor,%r1
addc dividend,dividend,dividend
ds %r1,divisor,%r1
addc dividend,dividend,dividend
ds %r1,divisor,%r1
addc dividend,dividend,dividend
ds %r1,divisor,%r1
addc dividend,dividend,dividend
ds %r1,divisor,%r1
addc dividend,dividend,dividend
ds %r1,divisor,%r1
addc dividend,dividend,dividend
ds %r1,divisor,%r1
addc dividend,dividend,dividend
ds %r1,divisor,%r1
addc dividend,dividend,dividend
comclr,>= %r1,%r0,%r0
addl %r1,divisor,%r1
comclr,>= quotient,%r0,%r0 bv %r0(ret)
copy dividend,quotient
LSYM(largedivisor)
comclr,<< dividend,divisor,quotient
ldi 1,quotient
bv,n %r0(ret)
.exit
.procend
#endif
#ifdef L_remI
#define dividend %r26
#define divisor %r25
#define quotient %r29
#define tmp %r1
#define ret %r31
SPACE
GSYM($$remI)
.proc
.callinfo frame=0,no_calls
.entry
xor dividend,%r0,quotient sub %r0,divisor,divisor
comclr,>= dividend,%r0,%r0
sub %r0,dividend,dividend
comb,< divisor,0,LREF(largedivisor)
sub %r0,divisor,%r1 addc dividend,dividend,dividend
ds %r0,divisor,%r1
addc dividend,dividend,dividend
ds %r1,divisor,%r1
addc dividend,dividend,dividend
ds %r1,divisor,%r1
addc dividend,dividend,dividend
ds %r1,divisor,%r1
addc dividend,dividend,dividend
ds %r1,divisor,%r1
addc dividend,dividend,dividend
ds %r1,divisor,%r1
addc dividend,dividend,dividend
ds %r1,divisor,%r1
addc dividend,dividend,dividend
ds %r1,divisor,%r1
addc dividend,dividend,dividend
ds %r1,divisor,%r1
addc dividend,dividend,dividend
ds %r1,divisor,%r1
addc dividend,dividend,dividend
ds %r1,divisor,%r1
addc dividend,dividend,dividend
ds %r1,divisor,%r1
addc dividend,dividend,dividend
ds %r1,divisor,%r1
addc dividend,dividend,dividend
ds %r1,divisor,%r1
addc dividend,dividend,dividend
ds %r1,divisor,%r1
addc dividend,dividend,dividend
ds %r1,divisor,%r1
addc dividend,dividend,dividend
ds %r1,divisor,%r1
addc dividend,dividend,dividend
ds %r1,divisor,%r1
addc dividend,dividend,dividend
ds %r1,divisor,%r1
addc dividend,dividend,dividend
ds %r1,divisor,%r1
addc dividend,dividend,dividend
ds %r1,divisor,%r1
addc dividend,dividend,dividend
ds %r1,divisor,%r1
addc dividend,dividend,dividend
ds %r1,divisor,%r1
addc dividend,dividend,dividend
ds %r1,divisor,%r1
addc dividend,dividend,dividend
ds %r1,divisor,%r1
addc dividend,dividend,dividend
ds %r1,divisor,%r1
addc dividend,dividend,dividend
ds %r1,divisor,%r1
addc dividend,dividend,dividend
ds %r1,divisor,%r1
addc dividend,dividend,dividend
ds %r1,divisor,%r1
addc dividend,dividend,dividend
ds %r1,divisor,%r1
addc dividend,dividend,dividend
ds %r1,divisor,%r1
addc dividend,dividend,dividend
ds %r1,divisor,%r1
addc dividend,dividend,dividend
comclr,>= %r1,%r0,%r0
addl %r1,divisor,%r1
comclr,>= quotient,%r0,%r0 bv %r0(ret)
copy %r1,quotient
LSYM(largedivisor)
sub,>>= dividend,divisor,quotient
copy dividend,quotient
bv,n %r0(ret)
.exit
.procend
#endif
#if defined (L_divU_3) && !defined (SMALL_LIB)
#undef L_divU_3
#define dividend %r26
#define divisor %r25
#define tmp %r1
#define result %r29
#define ret %r31
SPACE
GSYM($$divU_3)
.proc
.callinfo frame=0,no_calls
.entry
sh2add %r26,%r26,%r29 addc %r1,%r0,%r1 zdep %r29,27,28,%r25 shd %r1,%r29,28,%r29 add %r1,%r25,%r1 addc %r25,%r29,%r25 zdep %r1,15,16,%r29
add %r29,%r1,%r29
shd %r25,%r1,16,%r1
addc %r1,%r25,%r1
shd %r1,%r29,31,%r29 bv %r0(ret)
extru %r29,30,31,result
.exit
.procend
#endif
#if defined (L_divU_5) && !defined (SMALL_LIB)
#undef L_divU_5
#define dividend %r26
#define divisor %r25
#define tmp %r1
#define result %r29
#define ret %r31
SPACE
GSYM($$divU_5)
.proc
.callinfo frame=0,no_calls
.entry
sh1add %r26,%r26,%r29 addc %r1,%r0,%r1 zdep %r29,27,28,%r25 shd %r1,%r29,28,%r29 add %r1,%r25,%r1 addc %r25,%r29,%r25 zdep %r1,15,16,%r29
add %r29,%r1,%r29
shd %r25,%r1,16,%r1
addc %r1,%r25,%r1
shd %r1,%r29,30,%r29 bv %r0(ret)
extru %r29,29,30,result
.exit
.procend
#endif
#if defined (L_divU_6) && !defined (SMALL_LIB)
#undef L_divU_6
#define dividend %r26
#define divisor %r25
#define tmp %r1
#define result %r29
#define ret %r31
SPACE
GSYM($$divU_6)
.proc
.callinfo frame=0,no_calls
.entry
sh2add %r26,%r26,%r29 addc %r1,%r0,%r1 zdep %r29,27,28,%r25 shd %r1,%r29,28,%r29 add %r1,%r25,%r1 addc %r25,%r29,%r25 zdep %r1,15,16,%r29
add %r29,%r1,%r29
shd %r25,%r1,16,%r1
addc %r1,%r25,%r1
shd %r1,%r29,31,%r29 bv %r0(ret)
extru %r29,29,30,result
.exit
.procend
#endif
#if defined (L_divU_9) && !defined (SMALL_LIB)
#undef L_divU_9
#define dividend %r26
#define divisor %r25
#define tmp %r1
#define result %r29
#define ret %r31
SPACE
GSYM($$divU_9)
.proc
.callinfo frame=0,no_calls
.entry
zdep %r26,28,29,%r29
sub %r29,%r26,%r29
shd 0,%r26,29,%r1
subb %r1,0,%r1 /* 111 */
zdep %r29,25,26,%r25
add %r25,%r29,%r25
shd %r1,%r29,26,%r29
addc %r29,%r1,%r29 /* 111000111 */
sh3add %r25,%r26,%r1
shd %r29,%r25,29,%r25
addc %r25,0,%r25 /* 111000111001 */
zdep %r1,16,17,%r29
sub %r29,%r1,%r29
shd %r25,%r1,17,%r1
subb %r1,%r25,%r1 /* 111000111000111000111000111 */
sh3add %r29,%r26,%r0
shd %r1,%r29,29,%r29
addc %r29,0,%r29 /* 111000111000111000111000111001 */
bv %r0(ret)
extru %r29,30,31,result
.exit
.procend
#endif
#if defined (L_divU_10) && !defined (SMALL_LIB)
#undef L_divU_10
#define dividend %r26
#define divisor %r25
#define tmp %r1
#define result %r29
#define ret %r31
SPACE
GSYM($$divU_10)
.proc
.callinfo frame=0,no_calls
.entry
sh1add %r26,%r26,%r29 addc %r1,%r0,%r1 zdep %r29,27,28,%r25 shd %r1,%r29,28,%r29 add %r1,%r25,%r1 addc %r25,%r29,%r25 zdep %r1,15,16,%r29
add %r29,%r1,%r29
shd %r25,%r1,16,%r1
addc %r1,%r25,%r1
shd %r1,%r29,30,%r29 bv %r0(ret)
extru %r29,28,29,result
.exit
.procend
#endif
#if defined (L_divU_12) && !defined (SMALL_LIB)
#undef L_divU_12
#define dividend %r26
#define divisor %r25
#define tmp %r1
#define result %r29
#define ret %r31
SPACE
GSYM($$divU_12)
.proc
.callinfo frame=0,no_calls
.entry
sh2add %r26,%r26,%r29 addc %r1,%r0,%r1 zdep %r29,27,28,%r25 shd %r1,%r29,28,%r29 add %r1,%r25,%r1 addc %r25,%r29,%r25 zdep %r1,15,16,%r29
add %r29,%r1,%r29
shd %r25,%r1,16,%r1
addc %r1,%r25,%r1
shd %r1,%r29,31,%r29 bv %r0(ret)
extru %r29,28,29,result
.exit
.procend
#endif
#ifdef L_divU_3
SPACE
GSYM($$divU_3)
.proc
.callinfo frame=0,no_calls
.entry
b $$divU
ldi 3,%r25
.exit
.procend
.import $$divU,MILLICODE
#endif
#ifdef L_divU_5
SPACE
GSYM($$divU_5)
.proc
.callinfo frame=0,no_calls
.entry
b $$divU
ldi 5,%r25
.exit
.procend
.import $$divU,MILLICODE
#endif
#ifdef L_divU_6
SPACE
GSYM($$divU_6)
.proc
.callinfo frame=0,no_calls
.entry
b $$divU
ldi 6,%r25
.exit
.procend
.import $$divU,MILLICODE
#endif
#ifdef L_divU_7
SPACE
GSYM($$divU_7)
.proc
.callinfo frame=0,no_calls
.entry
b $$divU
ldi 7,%r25
.exit
.procend
.import $$divU,MILLICODE
#endif
#ifdef L_divU_9
SPACE
GSYM($$divU_9)
.proc
.callinfo frame=0,no_calls
.entry
b $$divU
ldi 9,%r25
.exit
.procend
.import $$divU,MILLICODE
#endif
#ifdef L_divU_10
SPACE
GSYM($$divU_10)
.proc
.callinfo frame=0,no_calls
.entry
b $$divU
ldi 10,%r25
.exit
.procend
.import $$divU,MILLICODE
#endif
#ifdef L_divU_12
SPACE
GSYM($$divU_12)
.proc
.callinfo frame=0,no_calls
.entry
b $$divU
ldi 12,%r25
.exit
.procend
.import $$divU,MILLICODE
#endif
#ifdef L_divU_14
SPACE
GSYM($$divU_14)
.proc
.callinfo frame=0,no_calls
.entry
b $$divU
ldi 14,%r25
.exit
.procend
.import $$divU,MILLICODE
#endif
#ifdef L_divU_15
SPACE
GSYM($$divU_15)
.proc
.callinfo frame=0,no_calls
.entry
b $$divU
ldi 15,%r25
.exit
.procend
.import $$divU,MILLICODE
#endif
#ifdef L_divI_3
SPACE
GSYM($$divI_3)
.proc
.callinfo frame=0,no_calls
.entry
b $$divI
ldi 3,%r25
.exit
.procend
.import $$divI,MILLICODE
#endif
#ifdef L_divI_5
SPACE
GSYM($$divI_5)
.proc
.callinfo frame=0,no_calls
.entry
b $$divI
ldi 5,%r25
.exit
.procend
.import $$divI,MILLICODE
#endif
#ifdef L_divI_6
SPACE
GSYM($$divI_6)
.proc
.callinfo frame=0,no_calls
.entry
b $$divI
ldi 6,%r25
.exit
.procend
.import $$divI,MILLICODE
#endif
#ifdef L_divI_7
SPACE
GSYM($$divI_7)
.proc
.callinfo frame=0,no_calls
.entry
b $$divI
ldi 7,%r25
.exit
.procend
.import $$divI,MILLICODE
#endif
#ifdef L_divI_9
SPACE
GSYM($$divI_9)
.proc
.callinfo frame=0,no_calls
.entry
b $$divI
ldi 9,%r25
.exit
.procend
.import $$divI,MILLICODE
#endif
#ifdef L_divI_10
SPACE
GSYM($$divI_10)
.proc
.callinfo frame=0,no_calls
.entry
b $$divI
ldi 10,%r25
.exit
.procend
.import $$divI,MILLICODE
#endif
#ifdef L_divI_12
SPACE
GSYM($$divI_12)
.proc
.callinfo frame=0,no_calls
.entry
b $$divI
ldi 12,%r25
.exit
.procend
.import $$divI,MILLICODE
#endif
#ifdef L_divI_14
SPACE
GSYM($$divI_14)
.proc
.callinfo frame=0,no_calls
.entry
b $$divI
ldi 14,%r25
.exit
.procend
.import $$divI,MILLICODE
#endif
#ifdef L_divI_15
SPACE
GSYM($$divI_15)
.proc
.callinfo frame=0,no_calls
.entry
b $$divI
ldi 15,%r25
.exit
.procend
.import $$divI,MILLICODE
#endif