📄 fparc32.s
字号:
divscc %i2,%i5,%i2 divscc %i2,%i5,%i2 divscc %i2,%i5,%i2 divscc %i2,%i5,%i2 divscc %i2,%i5,%i2 divscc %i2,%i5,%i2 divscc %i2,%i5,%i2 divscc %i2,%i5,%i2 divscc %i2,%i5,%i2 divscc %i2,%i5,%i2 divscc %i2,%i5,%i2 divscc %i2,%i5,%i2 divscc %i2,%i5,%i2 divscc %i2,%i5,%i2 divscc %i2,%i5,%i2 divscc %i2,%i5,%i2 divscc %i2,%i5,%i2#else DIVSCC | (in2 << 14) | in5 | (in2 << 25) DIVSCC | (in2 << 14) | in5 | (in2 << 25) DIVSCC | (in2 << 14) | in5 | (in2 << 25) DIVSCC | (in2 << 14) | in5 | (in2 << 25) DIVSCC | (in2 << 14) | in5 | (in2 << 25) DIVSCC | (in2 << 14) | in5 | (in2 << 25) DIVSCC | (in2 << 14) | in5 | (in2 << 25) DIVSCC | (in2 << 14) | in5 | (in2 << 25) DIVSCC | (in2 << 14) | in5 | (in2 << 25) DIVSCC | (in2 << 14) | in5 | (in2 << 25) DIVSCC | (in2 << 14) | in5 | (in2 << 25) DIVSCC | (in2 << 14) | in5 | (in2 << 25) DIVSCC | (in2 << 14) | in5 | (in2 << 25) DIVSCC | (in2 << 14) | in5 | (in2 << 25) DIVSCC | (in2 << 14) | in5 | (in2 << 25) DIVSCC | (in2 << 14) | in5 | (in2 << 25) DIVSCC | (in2 << 14) | in5 | (in2 << 25) DIVSCC | (in2 << 14) | in5 | (in2 << 25) DIVSCC | (in2 << 14) | in5 | (in2 << 25) DIVSCC | (in2 << 14) | in5 | (in2 << 25) DIVSCC | (in2 << 14) | in5 | (in2 << 25) DIVSCC | (in2 << 14) | in5 | (in2 << 25) DIVSCC | (in2 << 14) | in5 | (in2 << 25) DIVSCC | (in2 << 14) | in5 | (in2 << 25) DIVSCC | (in2 << 14) | in5 | (in2 << 25) DIVSCC | (in2 << 14) | in5 | (in2 << 25) DIVSCC | (in2 << 14) | in5 | (in2 << 25) DIVSCC | (in2 << 14) | in5 | (in2 << 25) DIVSCC | (in2 << 14) | in5 | (in2 << 25) DIVSCC | (in2 << 14) | in5 | (in2 << 25) DIVSCC | (in2 << 14) | in5 | (in2 << 25) DIVSCC | (in2 << 14) | in5 | (in2 << 25)#endif subcc %i2,0,%i2 ble i12 NOP sll %i2,1,%i2 sub %i3,1,%i3i12: or %g0,%i2,%o0 or %g0,%i3,%o1 call _fpexatan or %g0,%i4,%o2 or %g0,%o0,%i5 or %g0,%o1,%l0 or %g0,%o2,%l1 subcc %i1,0,%i1 bpos i13 NOP or %g0,0x80,%l2 sub %l2,%l0,%l2 or %g0,0x80,%l0 subcc %l2,32,%g0 bcc,a L5 or %g0,0,%i5L5: srl %i5,%l2,%i5 sethi %hi(0xc90fdaa2),%l6 or %l6,0x2a2,%l6 sub %l6,%i5,%i5/* scan %i5,0,%l2 */ SCAN | (in5 << 14) | 0 | (lo2 << 25) sll %i5,%l2,%i5 subcc %l0,%l2,%l0i13: subcc %l0,0,%l0 bg i14 NOP or %g0,1,%l2 sub %l2,%l0,%l2 subcc %l2,32,%g0 bcc,a L6 or %g0,0,%i5L6: srl %i5,%l2,%i5 or %g0,0,%l0i14: sll %i5,1,%i2 srl %i2,9,%i2 sll %l0,23,%l6 or %i2,%l6,%i2Cret: or %i2,%i4,%i0C999: jmpl %i7+8,%g0 restore %g0,0,%g0CspecA: subcc %i3,0,%i3 be i15 addcc %i2,%i2,%l6 bne Cnan NOP ba Clab1 or %g0,0x100,%i3i15: addcc %i2,%i2,%i2 be Clab1 NOP/* scan %i2,0,%l2 */ SCAN | (in2 << 14) | 0 | (lo2 << 25) sll %i2,%l2,%i2 subcc %i3,%l2,%i3 ba,a Clab1 CspecB: subcc %l0,0,%l0 be i17 addcc %i5,%i5,%l6 bne Cnan NOP or %g0,0x100,%l0 subcc %i3,%l0,%g0 be Cnan NOP ba,a Clab2 i17: addcc %i5,%i5,%i5 be Clab2 NOP/* scan %i5,0,%l2 */ SCAN | (in5 << 14) | 0 | (lo2 << 25) sll %i5,%l2,%i5 subcc %l0,%l2,%l0 ba,a Clab2 Cnan: ba C999 sethi %hi(0xffc00000),%i0 .global _fpasin_fpasin: .global _asinf_asinf: save %sp,-96,%sp srl %i0,23,%l0 and %l0,0xff,%l0 sethi %hi(0x80000000),%l1 sll %i0,8,%i5 or %i5,%l1,%i5 and %l1,%i0,%l1 umul %i5,%i5,%l2 rd %y,%l2 add %l0,%l0,%l3 sub %l3,0x7e,%l3 subcc %l2,0,%l2 bneg i19 NOP sll %l2,1,%l2 sub %l3,1,%l3i19: or %g0,0x7f,%i1 subcc %i1,%l3,%i1 bneg Dnan NOP or %g0,0x7f,%l3 subcc %i1,32,%g0 bcc,a L7 or %g0,0,%l2L7: srl %l2,%i1,%l2 sethi %hi(0x80000000),%i1 subcc %l2,%i1,%g0 bgu Dnan NOP subcc %i1,%l2,%l2 bne i20 NOP ba Dlab4 or %g0,0xff,%l0i20:/* scan %l2,0,%i1 */ SCAN | (lo2 << 14) | 0 | (in1 << 25) sll %l2,%i1,%l2 subcc %l3,%i1,%l3 or %g0,%l2,%o0 call _fpexsqrt or %g0,%l3,%o1 orcc %g0,%o0,%l2 or %g0,%o1,%l3 bne i21 or %g0,%o2,%l4 ba,a D999 i21: add %l0,0x7f,%l0 sub %l0,%l3,%l0 srl %i5,1,%i5 wr %i5,0,%y or %g0,0x0,%i5 orcc %g0,0,%g0#if 0 divscc %i5,%l2,%i5 divscc %i5,%l2,%i5 divscc %i5,%l2,%i5 divscc %i5,%l2,%i5 divscc %i5,%l2,%i5 divscc %i5,%l2,%i5 divscc %i5,%l2,%i5 divscc %i5,%l2,%i5 divscc %i5,%l2,%i5 divscc %i5,%l2,%i5 divscc %i5,%l2,%i5 divscc %i5,%l2,%i5 divscc %i5,%l2,%i5 divscc %i5,%l2,%i5 divscc %i5,%l2,%i5 divscc %i5,%l2,%i5 divscc %i5,%l2,%i5 divscc %i5,%l2,%i5 divscc %i5,%l2,%i5 divscc %i5,%l2,%i5 divscc %i5,%l2,%i5 divscc %i5,%l2,%i5 divscc %i5,%l2,%i5 divscc %i5,%l2,%i5 divscc %i5,%l2,%i5 divscc %i5,%l2,%i5 divscc %i5,%l2,%i5 divscc %i5,%l2,%i5 divscc %i5,%l2,%i5 divscc %i5,%l2,%i5 divscc %i5,%l2,%i5 divscc %i5,%l2,%i5#else DIVSCC | (in5 << 14) | lo2 | (in5 << 25) DIVSCC | (in5 << 14) | lo2 | (in5 << 25) DIVSCC | (in5 << 14) | lo2 | (in5 << 25) DIVSCC | (in5 << 14) | lo2 | (in5 << 25) DIVSCC | (in5 << 14) | lo2 | (in5 << 25) DIVSCC | (in5 << 14) | lo2 | (in5 << 25) DIVSCC | (in5 << 14) | lo2 | (in5 << 25) DIVSCC | (in5 << 14) | lo2 | (in5 << 25) DIVSCC | (in5 << 14) | lo2 | (in5 << 25) DIVSCC | (in5 << 14) | lo2 | (in5 << 25) DIVSCC | (in5 << 14) | lo2 | (in5 << 25) DIVSCC | (in5 << 14) | lo2 | (in5 << 25) DIVSCC | (in5 << 14) | lo2 | (in5 << 25) DIVSCC | (in5 << 14) | lo2 | (in5 << 25) DIVSCC | (in5 << 14) | lo2 | (in5 << 25) DIVSCC | (in5 << 14) | lo2 | (in5 << 25) DIVSCC | (in5 << 14) | lo2 | (in5 << 25) DIVSCC | (in5 << 14) | lo2 | (in5 << 25) DIVSCC | (in5 << 14) | lo2 | (in5 << 25) DIVSCC | (in5 << 14) | lo2 | (in5 << 25) DIVSCC | (in5 << 14) | lo2 | (in5 << 25) DIVSCC | (in5 << 14) | lo2 | (in5 << 25) DIVSCC | (in5 << 14) | lo2 | (in5 << 25) DIVSCC | (in5 << 14) | lo2 | (in5 << 25) DIVSCC | (in5 << 14) | lo2 | (in5 << 25) DIVSCC | (in5 << 14) | lo2 | (in5 << 25) DIVSCC | (in5 << 14) | lo2 | (in5 << 25) DIVSCC | (in5 << 14) | lo2 | (in5 << 25) DIVSCC | (in5 << 14) | lo2 | (in5 << 25) DIVSCC | (in5 << 14) | lo2 | (in5 << 25) DIVSCC | (in5 << 14) | lo2 | (in5 << 25) DIVSCC | (in5 << 14) | lo2 | (in5 << 25)#endif subcc %i5,0,%i5 ble Dlab4 NOP sll %i5,1,%i5 sub %l0,1,%l0Dlab4: or %g0,%i5,%o0 or %g0,%l0,%o1 call _fpexatan or %g0,%l1,%o2 or %g0,%o0,%l2 or %g0,%o1,%l3 or %g0,%o2,%l4 sll %l2,1,%i5 srl %i5,9,%i5 sll %l3,23,%l5 or %i5,%l5,%i5 or %i5,%l1,%i0D999: jmpl %i7+8,%g0 restore %g0,0,%g0Dnan: ba D999 sethi %hi(0xffc00000),%i0 .global _fpacos_fpacos: .global _acosf_acosf: save %sp,-96,%sp srl %i0,23,%l0 and %l0,0xff,%l0 sethi %hi(0x80000000),%l1 sll %i0,8,%i5 or %i5,%l1,%i5 and %l1,%i0,%l1 umul %i5,%i5,%l2 rd %y,%l2 add %l0,%l0,%l3 sub %l3,0x7e,%l3 subcc %l2,0,%l2 bneg i23 NOP sll %l2,1,%l2 sub %l3,1,%l3i23: or %g0,0x7f,%i1 subcc %i1,%l3,%i1 bneg Enan NOP or %g0,0x7f,%l3 subcc %i1,32,%g0 bcc,a L8 or %g0,0,%l2L8: srl %l2,%i1,%l2 sethi %hi(0x80000000),%i1 subcc %l2,%i1,%g0 bgu Enan NOP sub %i1,%l2,%l2/* scan %l2,0,%i1 */ SCAN | (lo2 << 14) | 0 | (in1 << 25) sll %l2,%i1,%l2 subcc %l3,%i1,%l3 or %g0,%l2,%o0 call _fpexsqrt or %g0,%l3,%o1 or %g0,%o0,%l2 or %g0,%o1,%l3 or %g0,%o2,%l4 sub %l3,%l0,%l0 add %l0,0x7f,%l0 srl %l2,1,%l2 or %g0,%i5,%i2 wr %l2,0,%y or %g0,0x0,%i5 orcc %g0,0,%g0#if 0 divscc %i5,%i2,%i5 divscc %i5,%i2,%i5 divscc %i5,%i2,%i5 divscc %i5,%i2,%i5 divscc %i5,%i2,%i5 divscc %i5,%i2,%i5 divscc %i5,%i2,%i5 divscc %i5,%i2,%i5 divscc %i5,%i2,%i5 divscc %i5,%i2,%i5 divscc %i5,%i2,%i5 divscc %i5,%i2,%i5 divscc %i5,%i2,%i5 divscc %i5,%i2,%i5 divscc %i5,%i2,%i5 divscc %i5,%i2,%i5 divscc %i5,%i2,%i5 divscc %i5,%i2,%i5 divscc %i5,%i2,%i5 divscc %i5,%i2,%i5 divscc %i5,%i2,%i5 divscc %i5,%i2,%i5 divscc %i5,%i2,%i5 divscc %i5,%i2,%i5 divscc %i5,%i2,%i5 divscc %i5,%i2,%i5 divscc %i5,%i2,%i5 divscc %i5,%i2,%i5 divscc %i5,%i2,%i5 divscc %i5,%i2,%i5 divscc %i5,%i2,%i5 divscc %i5,%i2,%i5#else DIVSCC | (in5 << 14) | in2 | (in5 << 25) DIVSCC | (in5 << 14) | in2 | (in5 << 25) DIVSCC | (in5 << 14) | in2 | (in5 << 25) DIVSCC | (in5 << 14) | in2 | (in5 << 25) DIVSCC | (in5 << 14) | in2 | (in5 << 25) DIVSCC | (in5 << 14) | in2 | (in5 << 25) DIVSCC | (in5 << 14) | in2 | (in5 << 25) DIVSCC | (in5 << 14) | in2 | (in5 << 25) DIVSCC | (in5 << 14) | in2 | (in5 << 25) DIVSCC | (in5 << 14) | in2 | (in5 << 25) DIVSCC | (in5 << 14) | in2 | (in5 << 25) DIVSCC | (in5 << 14) | in2 | (in5 << 25) DIVSCC | (in5 << 14) | in2 | (in5 << 25) DIVSCC | (in5 << 14) | in2 | (in5 << 25) DIVSCC | (in5 << 14) | in2 | (in5 << 25) DIVSCC | (in5 << 14) | in2 | (in5 << 25) DIVSCC | (in5 << 14) | in2 | (in5 << 25) DIVSCC | (in5 << 14) | in2 | (in5 << 25) DIVSCC | (in5 << 14) | in2 | (in5 << 25) DIVSCC | (in5 << 14) | in2 | (in5 << 25) DIVSCC | (in5 << 14) | in2 | (in5 << 25) DIVSCC | (in5 << 14) | in2 | (in5 << 25) DIVSCC | (in5 << 14) | in2 | (in5 << 25) DIVSCC | (in5 << 14) | in2 | (in5 << 25) DIVSCC | (in5 << 14) | in2 | (in5 << 25) DIVSCC | (in5 << 14) | in2 | (in5 << 25) DIVSCC | (in5 << 14) | in2 | (in5 << 25) DIVSCC | (in5 << 14) | in2 | (in5 << 25) DIVSCC | (in5 << 14) | in2 | (in5 << 25) DIVSCC | (in5 << 14) | in2 | (in5 << 25) DIVSCC | (in5 << 14) | in2 | (in5 << 25) DIVSCC | (in5 << 14) | in2 | (in5 << 25)#endif subcc %i5,0,%i5 ble i24 NOP sll %i5,1,%i5 sub %l0,1,%l0i24: or %g0,%i5,%o0 or %g0,%l0,%o1 call _fpexatan or %g0,%l1,%o2 or %g0,%o0,%l2 or %g0,%o1,%l3 or %g0,%o2,%l4 subcc %l1,0,%l1 be i25 NOP or %g0,0x80,%i1 sub %i1,%l3,%i1 or %g0,0x80,%l3 subcc %i1,32,%g0 bcc,a L9 or %g0,0,%l2L9: srl %l2,%i1,%l2 sethi %hi(0xc90fdaa2),%l5 or %l5,0x2a2,%l5 subcc %l5,%l2,%l2 be,a i26 or %g0,0,%l3i26:/* scan %l2,0,%i1 */ SCAN | (lo2 << 14) | 0 | (in1 << 25) sll %l2,%i1,%l2 subcc %l3,%i1,%l3i25: sll %l2,1,%i5 srl %i5,9,%i5 sll %l3,23,%l5 or %i5,%l5,%i5 or %g0,%i5,%i0E999: jmpl %i7+8,%g0 restore %g0,0,%g0Enan: ba E999 sethi %hi(0xffc00000),%i0! .end
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -