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