|
|
1.1 root 1: /
2: / unix-format floating point (most sign. part in lowest address)
3: /
4: .text
5: .globl __ffrl,__ftol,__fadd,__fsub,__fmul,__fdiv
6: .globl __lton,__ntol,__fton,__ffrn,__ntoi,__iton,__uton,__ntou
7: .globl __ftoi,__ffri,__ffru,__ftou
8: .globl __fsign,__fsign2
9: .globl __one
10: .globl ret / fltg-pt interrupt level code should save/restore ret
11:
12: .globl fad,fsb,fmp,fdv,int,float
13: __ffrl:
14: mov (sp)+,ret
15: jsr pc,float
16: mov (sp)+,r0
17: mov (sp),r1
18: jsr pc,*ret
19:
20: __ffri: mov (sp)+,ret
21: tst (sp)
22: sxt -(sp)
23: jsr pc,float
24: mov (sp)+,r0
25: mov (sp),r1
26: jmp *ret
27:
28: __ffru: mov (sp)+,ret
29: clr -(sp)
30: jsr pc,float
31: mov (sp)+,r0
32: mov (sp),r1
33: jmp *ret
34:
35: __ftol: mov (sp)+,ret
36: jsr pc,int
37: mov (sp)+,r0
38: mov (sp),r1
39: jsr pc,*ret
40:
41: __ftou:
42: __ftoi: mov (sp)+,ret
43: jsr pc,int
44: mov 2(sp),r0
45: jmp *ret
46:
47: __fadd: mov $fad,r0
48:
49: binop: mov (sp)+,ret
50: jsr pc,(r0)
51: mov (sp)+,r0
52: mov (sp)+,r1
53: sub $8.,sp
54: jmp *ret
55:
56: __fsub: mov $fsb,r0
57: jbr binop
58:
59: __fmul: mov $fmp,r0
60: jbr binop
61:
62: __fdiv: mov $fdv,r0
63: jbr binop
64:
65: __lton:
66: __ntol: mov 2(sp),r1
67: mov 4(sp),r0
68: rts pc
69:
70: __ntou:
71: __ntoi: mov 2(sp),r0
72: rts pc
73:
74: __iton: mov 2(sp),r0
75: sxt r1
76: rts pc
77:
78: __uton: mov 2(sp),r0
79: clr r1
80: rts pc
81:
82: __fton: mov (sp)+,ret
83: jsr pc,int
84: mov (sp)+,r1
85: mov (sp),r0
86: jsr pc,*ret
87:
88: __ffrn: mov 2(sp),-(sp)
89: mov 6(sp),-(sp)
90: jsr pc,float
91: mov (sp)+,r0
92: mov (sp)+,r1
93: rts pc
94:
95: .data
96: ret:0
97: __fsign:__fsign2: 100000
98: 0
99: __one: 40200
100: 0
This archive runs on limited infrastructure. Preserving old code on modern bandwidth. Automated agents are requested to crawl responsibly.