add LCC - a better C-Compiler for WEGA
This commit is contained in:
parent
cdebbf4121
commit
7aeef07457
|
|
@ -0,0 +1,102 @@
|
||||||
|
.line 1 ""
|
||||||
|
.seg
|
||||||
|
fp := r13
|
||||||
|
FP := rr12
|
||||||
|
sp := r15
|
||||||
|
SP := rr14
|
||||||
|
.psec data
|
||||||
|
.data
|
||||||
|
.psec
|
||||||
|
.code
|
||||||
|
mul_hwt::
|
||||||
|
dec sp,#12
|
||||||
|
ldm @SP,r8,#6
|
||||||
|
ld fp,sp
|
||||||
|
inc fp,#8
|
||||||
|
sub sp,#~L2-12
|
||||||
|
ldl rr2,#%80000000
|
||||||
|
ldl _stkseg+%ffe4(fp),rr2
|
||||||
|
ldl rr2,_stkseg+%8(fp)
|
||||||
|
sral rr2,#%10
|
||||||
|
ldl _stkseg+%fff4(fp),rr2
|
||||||
|
ldl rr2,#%ffff
|
||||||
|
and r2,_stkseg+%8(fp)
|
||||||
|
and r3,_stkseg+%a(fp)
|
||||||
|
ldl _stkseg+%fff0(fp),rr2
|
||||||
|
ldl rr2,_stkseg+%c(fp)
|
||||||
|
sral rr2,#%10
|
||||||
|
ldl _stkseg+%ffec(fp),rr2
|
||||||
|
ldl rr2,#%ffff
|
||||||
|
and r2,_stkseg+%c(fp)
|
||||||
|
and r3,_stkseg+%e(fp)
|
||||||
|
ldl _stkseg+%ffe8(fp),rr2
|
||||||
|
ldl rr2,_stkseg+%ffe8(fp)
|
||||||
|
ldl rr6,rr2
|
||||||
|
multl rq4,_stkseg+%fff0(fp)
|
||||||
|
ldl rr2,rr6
|
||||||
|
ldl _stkseg+%ffd4(fp),rr2
|
||||||
|
xor r3,r3
|
||||||
|
ld r2,r3
|
||||||
|
ldl _stkseg+%ffe0(fp),rr2
|
||||||
|
ldl rr2,_stkseg+%fff0(fp)
|
||||||
|
ldl rr6,rr2
|
||||||
|
multl rq4,_stkseg+%ffec(fp)
|
||||||
|
ldl rr2,rr6
|
||||||
|
ldl _stkseg+%ffdc(fp),rr2
|
||||||
|
ldl rr2,#%ffff
|
||||||
|
and r2,_stkseg+%ffdc(fp)
|
||||||
|
and r3,_stkseg+%ffde(fp)
|
||||||
|
slal rr2,#%10
|
||||||
|
ldl _stkseg+%ffd8(fp),rr2
|
||||||
|
ldl rr2,_stkseg+%ffdc(fp)
|
||||||
|
sral rr2,#%10
|
||||||
|
ldl _stkseg+%ffdc(fp),rr2
|
||||||
|
ldl rr2,_stkseg+%ffd8(fp)
|
||||||
|
addl rr2,_stkseg+%ffd4(fp)
|
||||||
|
ldl _stkseg+%ffd8(fp),rr2
|
||||||
|
callr carry
|
||||||
|
ld _stkseg+%ffd2(fp),r2
|
||||||
|
ld r3,_stkseg+%ffd2(fp)
|
||||||
|
exts rr2
|
||||||
|
addl rr2,_stkseg+%ffdc(fp)
|
||||||
|
addl rr2,_stkseg+%ffe0(fp)
|
||||||
|
ldl _stkseg+%ffdc(fp),rr2
|
||||||
|
ldl rr2,_stkseg+%ffe8(fp)
|
||||||
|
ldl rr6,rr2
|
||||||
|
multl rq4,_stkseg+%fff4(fp)
|
||||||
|
ldl rr2,rr6
|
||||||
|
ldl _stkseg+%ffe0(fp),rr2
|
||||||
|
ldl rr2,#%ffff
|
||||||
|
and r2,_stkseg+%ffe0(fp)
|
||||||
|
and r3,_stkseg+%ffe2(fp)
|
||||||
|
slal rr2,#%10
|
||||||
|
ldl _stkseg+%ffd4(fp),rr2
|
||||||
|
ldl rr2,_stkseg+%ffe0(fp)
|
||||||
|
sral rr2,#%10
|
||||||
|
ldl _stkseg+%ffe0(fp),rr2
|
||||||
|
ldl rr2,_stkseg+%ffd8(fp)
|
||||||
|
addl rr2,_stkseg+%ffd4(fp)
|
||||||
|
ldl _stkseg+%ffd8(fp),rr2
|
||||||
|
callr carry
|
||||||
|
ld _stkseg+%ffd2(fp),r2
|
||||||
|
ld r3,_stkseg+%ffd2(fp)
|
||||||
|
exts rr2
|
||||||
|
addl rr2,_stkseg+%ffdc(fp)
|
||||||
|
addl rr2,_stkseg+%ffe0(fp)
|
||||||
|
ldl _stkseg+%ffdc(fp),rr2
|
||||||
|
ldl rr2,_stkseg+%fff4(fp)
|
||||||
|
ldl rr6,rr2
|
||||||
|
multl rq4,_stkseg+%ffec(fp)
|
||||||
|
ldl rr2,rr6
|
||||||
|
addl rr2,_stkseg+%ffdc(fp)
|
||||||
|
ldl _stkseg+%ffdc(fp),rr2
|
||||||
|
ldl rr2,FP(#%ffdc)
|
||||||
|
jpr L22
|
||||||
|
L22:
|
||||||
|
ld sp,fp
|
||||||
|
ldm r8,_stkseg-8(sp),#6
|
||||||
|
inc sp,#4
|
||||||
|
ret
|
||||||
|
~L1 := 46
|
||||||
|
~L2 := 50
|
||||||
|
}
|
||||||
Loading…
Reference in New Issue