⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 paranoia.sbk

📁 3D 游戏界的大牛人 John Carmack 终于放出了 Q3 的源代码
💻 SBK
📖 第 1 页 / 共 5 页
字号:
.set reorder
.globl Zero
.sdata
.align 3
Zero:
.word 0x0
.word 0x0
.globl Half
.sdata
.align 3
Half:
.word 0x3fe00000
.word 0x0
.globl One
.sdata
.align 3
One:
.word 0x3ff00000
.word 0x0
.globl Two
.sdata
.align 3
Two:
.word 0x40000000
.word 0x0
.globl Three
.sdata
.align 3
Three:
.word 0x40080000
.word 0x0
.globl Four
.sdata
.align 3
Four:
.word 0x40100000
.word 0x0
.globl Five
.sdata
.align 3
Five:
.word 0x40140000
.word 0x0
.globl Eight
.sdata
.align 3
Eight:
.word 0x40200000
.word 0x0
.globl Nine
.sdata
.align 3
Nine:
.word 0x40220000
.word 0x0
.globl TwentySeven
.sdata
.align 3
TwentySeven:
.word 0x403b0000
.word 0x0
.globl ThirtyTwo
.sdata
.align 3
ThirtyTwo:
.word 0x40400000
.word 0x0
.globl TwoForty
.sdata
.align 3
TwoForty:
.word 0x406e0000
.word 0x0
.globl MinusOne
.sdata
.align 3
MinusOne:
.word 0xbff00000
.word 0x0
.globl OneAndHalf
.sdata
.align 3
OneAndHalf:
.word 0x3ff80000
.word 0x0
.globl NoTrials
.sdata
.align 2
NoTrials:
.word 0x14
.globl sigfpe
.text
.text
.align 2
.ent sigfpe
sigfpe:
.frame $sp,24,$31
.set noreorder
.cpload $25
.set reorder
addu $sp,$sp,-24
.mask 0x82000000,-4
.cprestore 16
sw $31,20($sp)
sw $4,24($sp)
lw $24,fpecount
la $24,1($24)
sw $24,fpecount
la $4,L.2
jal printf
la $4,_iob+16
jal fflush
lw $24,sigsave
beq $24,$0,L.4
la $4,8
lw $5,sigsave
jal signal
sw $0,sigsave
la $4,ovfl_buf
la $5,1
jal longjmp
L.4:
jal abort
L.1:
lw $25,16($sp)
lw $31,20($sp)
addu $sp,$sp,24
j $31
.end sigfpe
.data
.align 2
L.757:
.word L.758
.word L.759
.word L.760
.word L.761
.globl main
.text
.text
.align 2
.ent main
main:
.frame $sp,240,$31
.set noreorder
.cpload $25
.set reorder
addu $sp,$sp,-240
.mask 0xc2ff0000,-168
sw $16,32($sp)
sw $17,36($sp)
sw $18,40($sp)
sw $19,44($sp)
sw $20,48($sp)
sw $21,52($sp)
sw $22,56($sp)
sw $23,60($sp)
.cprestore 64
sw $30,68($sp)
sw $31,72($sp)
l.d $f18,L.7
s.d $f18,Zero
l.d $f18,L.8
s.d $f18,One
l.d $f18,One
add.d $f16,$f18,$f18
s.d $f16,Two
l.d $f16,Two
add.d $f10,$f16,$f18
s.d $f10,Three
l.d $f10,Three
add.d $f8,$f10,$f18
s.d $f8,Four
l.d $f8,Four
add.d $f6,$f8,$f18
s.d $f6,Five
add.d $f6,$f8,$f8
s.d $f6,Eight
mul.d $f6,$f10,$f10
s.d $f6,Nine
l.d $f6,Nine
mul.d $f6,$f6,$f10
s.d $f6,TwentySeven
l.d $f6,Eight
mul.d $f6,$f8,$f6
s.d $f6,ThirtyTwo
l.d $f6,Five
mul.d $f6,$f8,$f6
mul.d $f10,$f6,$f10
mul.d $f10,$f10,$f8
s.d $f10,TwoForty
neg.d $f10,$f18
s.d $f10,MinusOne
div.d $f16,$f18,$f16
s.d $f16,Half
l.d $f16,Half
add.d $f18,$f18,$f16
s.d $f18,OneAndHalf
sw $0,ErrCnt
sw $0,ErrCnt+4
sw $0,ErrCnt+8
sw $0,ErrCnt+12
la $24,1
sw $24,PageNo
sw $0,Milestone
la $4,8
la $5,sigfpe
jal signal
jal Instructions
jal Pause
jal Heading
jal Pause
jal Characteristics
jal Pause
jal History
jal Pause
la $24,7
sw $24,Milestone
la $4,L.12
jal printf
move $4,$0
l.d $f18,Zero
add.d $f16,$f18,$f18
c.eq.d $f16,$f18; bc1f L.15
l.d $f16,One
sub.d $f10,$f16,$f16
c.eq.d $f10,$f18; bc1f L.15
c.le.d $f16,$f18; bc1t L.15
add.d $f18,$f16,$f16
l.d $f16,Two
c.eq.d $f18,$f16; bc1f L.15
la $30,1
b L.16
L.15:
move $30,$0
L.16:
move $5,$30
la $6,L.14
jal TstCond
l.d $f18,Zero
neg.d $f18,$f18
s.d $f18,Z
l.d $f18,Z
l.d $f16,L.7
c.eq.d $f18,$f16; bc1t L.17
lw $24,ErrCnt
la $24,1($24)
sw $24,ErrCnt
la $4,L.19
jal printf
l.d $f18,L.20
s.d $f18,U1
l.d $f18,L.8
s.d $f18,Radix
jal TstPtUf
L.17:
move $4,$0
l.d $f18,Three
l.d $f16,Two
l.d $f10,One
add.d $f8,$f16,$f10
c.eq.d $f18,$f8; bc1f L.23
l.d $f8,Four
add.d $f6,$f18,$f10
c.eq.d $f8,$f6; bc1f L.23
l.d $f6,Zero
neg.d $f4,$f16
mul.d $f16,$f16,$f4
add.d $f16,$f8,$f16
c.eq.d $f16,$f6; bc1f L.23
sub.d $f18,$f8,$f18
sub.d $f18,$f18,$f10
c.eq.d $f18,$f6; bc1f L.23
la $23,1
b L.24
L.23:
move $23,$0
L.24:
move $5,$23
la $6,L.22
jal TstCond
l.d $f18,MinusOne
s.d $f18,-8+240($sp)
l.d $f16,One
l.d $f10,L.7
sub.d $f10,$f10,$f16
c.eq.d $f18,$f10; bc1f L.27
l.d $f10,Zero
add.d $f8,$f18,$f16
c.eq.d $f8,$f10; bc1f L.27
add.d $f8,$f16,$f18
c.eq.d $f8,$f10; bc1f L.27
mov.d $f12,$f16
jal fabs
l.d $f16,Zero
l.d $f10,-8+240($sp)
add.d $f18,$f10,$f0
c.eq.d $f18,$f16; bc1f L.27
l.d $f18,MinusOne
mul.d $f10,$f18,$f18
add.d $f18,$f18,$f10
c.eq.d $f18,$f16; bc1f L.27
la $22,1
b L.28
L.27:
move $22,$0
L.28:
move $4,$0
move $5,$22
la $6,L.26
jal TstCond
move $4,$0
l.d $f18,Half
l.d $f16,MinusOne
add.d $f16,$f18,$f16
add.d $f18,$f16,$f18
l.d $f16,Zero
c.eq.d $f18,$f16; bc1f L.31
la $21,1
b L.32
L.31:
move $21,$0
L.32:
move $5,$21
la $6,L.30
jal TstCond
la $24,10
sw $24,Milestone
move $4,$0
l.d $f18,Nine
l.d $f16,Three
mul.d $f10,$f16,$f16
c.eq.d $f18,$f10; bc1f L.35
l.d $f10,TwentySeven
mul.d $f18,$f18,$f16
c.eq.d $f10,$f18; bc1f L.35
l.d $f18,Eight
l.d $f16,Four
add.d $f8,$f16,$f16
c.eq.d $f18,$f8; bc1f L.35
l.d $f8,ThirtyTwo
mul.d $f18,$f18,$f16
c.eq.d $f8,$f18; bc1f L.35
sub.d $f18,$f8,$f10
sub.d $f18,$f18,$f16
l.d $f16,One
sub.d $f18,$f18,$f16
l.d $f16,Zero
c.eq.d $f18,$f16; bc1f L.35
la $20,1
b L.36
L.35:
move $20,$0
L.36:
move $5,$20
la $6,L.34
jal TstCond
move $4,$0
l.d $f18,Five
l.d $f16,Four
l.d $f10,One
add.d $f10,$f16,$f10
c.eq.d $f18,$f10; bc1f L.39
l.d $f10,TwoForty
l.d $f8,Three
s.d $f8,-16+240($sp)
mul.d $f6,$f16,$f18
mul.d $f6,$f6,$f8
mul.d $f6,$f6,$f16
c.eq.d $f10,$f6; bc1f L.39
l.d $f6,Zero
div.d $f4,$f10,$f8
mul.d $f8,$f16,$f16
mul.d $f8,$f8,$f18
sub.d $f8,$f4,$f8
c.eq.d $f8,$f6; bc1f L.39
div.d $f8,$f10,$f16
l.d $f4,-16+240($sp)
mul.d $f4,$f18,$f4
mul.d $f4,$f4,$f16
sub.d $f8,$f8,$f4
c.eq.d $f8,$f6; bc1f L.39
div.d $f18,$f10,$f18
l.d $f10,-16+240($sp)
mul.d $f10,$f16,$f10
mul.d $f16,$f10,$f16
sub.d $f18,$f18,$f16
c.eq.d $f18,$f6; bc1f L.39
la $19,1
b L.40
L.39:
move $19,$0
L.40:
move $5,$19
la $6,L.38
jal TstCond
lw $24,ErrCnt
bne $24,$0,L.41
la $4,L.43
jal printf
la $4,L.44
jal printf
L.41:
la $4,L.45
jal printf
l.d $f18,One
s.d $f18,W
L.46:
l.d $f18,W
add.d $f18,$f18,$f18
s.d $f18,W
l.d $f18,W
l.d $f16,One
add.d $f10,$f18,$f16
s.d $f10,Y
l.d $f10,Y
sub.d $f18,$f10,$f18
s.d $f18,Z
l.d $f18,Z
sub.d $f18,$f18,$f16
s.d $f18,Y
L.47:
l.d $f12,Y
jal fabs
l.d $f16,MinusOne
add.d $f18,$f16,$f0
l.d $f16,Zero
c.lt.d $f18,$f16; bc1t L.46
l.d $f18,Zero
s.d $f18,Precision
l.d $f18,One
s.d $f18,Y
L.49:
l.d $f18,W
l.d $f16,Y
add.d $f10,$f18,$f16
s.d $f10,Radix
add.d $f16,$f16,$f16
s.d $f16,Y
l.d $f16,Radix
sub.d $f18,$f16,$f18
s.d $f18,Radix
L.50:
l.d $f18,Radix
l.d $f16,Zero
c.eq.d $f18,$f16; bc1t L.49
l.d $f18,Radix
l.d $f16,Two
c.lt.d $f18,$f16; bc1f L.52
l.d $f18,One
s.d $f18,Radix
L.52:
la $4,L.54
l.d $f18,Radix
mfc1.d $6,$f18
jal printf
l.d $f18,Radix
l.d $f16,L.8
c.eq.d $f18,$f16; bc1t L.55
l.d $f18,One
s.d $f18,W
L.57:
l.d $f18,One
l.d $f16,Precision
add.d $f16,$f16,$f18
s.d $f16,Precision
l.d $f16,W
l.d $f10,Radix
mul.d $f16,$f16,$f10
s.d $f16,W
l.d $f16,W
add.d $f18,$f16,$f18
s.d $f18,Y
L.58:
l.d $f18,Y
l.d $f16,W
sub.d $f18,$f18,$f16
l.d $f16,One
c.eq.d $f18,$f16; bc1t L.57
L.55:
l.d $f18,One
l.d $f16,W
div.d $f18,$f18,$f16
s.d $f18,U1
l.d $f18,U1
l.d $f16,Radix
mul.d $f16,$f16,$f18
s.d $f16,U2
la $4,L.60
mfc1.d $6,$f18
jal printf
la $4,L.61
jal printf
l.d $f18,Radix
s.d $f18,E0
l.d $f18,U1
s.d $f18,E1
l.d $f18,U2
s.d $f18,E9
l.d $f18,Precision
s.d $f18,E3
l.d $f18,Four
l.d $f16,Three
div.d $f18,$f18,$f16
s.d $f18,X
l.d $f18,X
l.d $f16,One
sub.d $f18,$f18,$f16
s.d $f18,Third
l.d $f18,Third
l.d $f16,Half
sub.d $f16,$f16,$f18
s.d $f16,F6
l.d $f16,F6
add.d $f16,$f16,$f16
s.d $f16,X
l.d $f16,X
sub.d $f12,$f16,$f18
jal fabs
s.d $f0,X
l.d $f18,X
l.d $f16,U2
c.lt.d $f18,$f16; bc1f L.62
l.d $f18,U2
s.d $f18,X
L.62:
L.64:
l.d $f18,X
s.d $f18,U2
l.d $f18,U2
l.d $f16,Half
mul.d $f16,$f16,$f18
l.d $f10,ThirtyTwo
mul.d $f10,$f10,$f18
mul.d $f18,$f10,$f18
add.d $f18,$f16,$f18
s.d $f18,Y
l.d $f18,One
l.d $f16,Y
add.d $f16,$f18,$f16
s.d $f16,Y
l.d $f16,Y
sub.d $f18,$f16,$f18
s.d $f18,X
L.65:
l.d $f18,X
l.d $f16,U2
c.le.d $f16,$f18; bc1t L.67
l.d $f16,Zero
c.le.d $f18,$f16; bc1f L.64
L.67:
l.d $f18,Two
l.d $f16,Three
div.d $f18,$f18,$f16
s.d $f18,X
l.d $f18,Half
l.d $f16,X
sub.d $f16,$f16,$f18
s.d $f16,F6
l.d $f16,F6
add.d $f10,$f16,$f16
s.d $f10,Third
l.d $f10,Third
sub.d $f18,$f10,$f18
s.d $f18,X
l.d $f18,X
add.d $f12,$f18,$f16
jal fabs
s.d $f0,X
l.d $f18,X
l.d $f16,U1
c.lt.d $f18,$f16; bc1f L.68
l.d $f18,U1
s.d $f18,X
L.68:
L.70:
l.d $f18,X
s.d $f18,U1
l.d $f18,Half
l.d $f16,U1
mul.d $f10,$f18,$f16
l.d $f8,ThirtyTwo
mul.d $f8,$f8,$f16
mul.d $f16,$f8,$f16
add.d $f16,$f10,$f16
s.d $f16,Y
l.d $f16,Y
sub.d $f16,$f18,$f16
s.d $f16,Y
l.d $f16,Y
add.d $f16,$f18,$f16
s.d $f16,X
l.d $f16,X
sub.d $f16,$f18,$f16
s.d $f16,Y
l.d $f16,Y
add.d $f18,$f18,$f16
s.d $f18,X
L.71:
l.d $f18,X
l.d $f16,U1
c.le.d $f16,$f18; bc1t L.73
l.d $f16,Zero
c.le.d $f18,$f16; bc1f L.70
L.73:
l.d $f18,U1
l.d $f16,E1
c.eq.d $f18,$f16; bc1f L.74
la $4,L.76
jal printf
b L.75
L.74:
la $4,L.77
l.d $f18,U1
mfc1.d $6,$f18
jal printf
L.75:
l.d $f18,U1
l.d $f16,One
div.d $f16,$f16,$f18
s.d $f16,W
l.d $f16,Half
sub.d $f10,$f16,$f18
add.d $f16,$f10,$f16
s.d $f16,F9
l.d $f16,U2
div.d $f18,$f16,$f18
l.d $f16,L.78
add.d $f12,$f18,$f16
jal floor
s.d $f0,Radix
l.d $f18,Radix
l.d $f16,E0
c.eq.d $f18,$f16; bc1f L.79
la $4,L.81
jal printf
b L.80
L.79:
la $4,L.82
l.d $f18,Radix
mfc1.d $6,$f18
jal printf
L.80:
la $4,2
l.d $f18,Eight
l.d $f16,Radix
add.d $f18,$f18,$f18
c.le.d $f16,$f18; bc1f L.85
la $18,1
b L.86
L.85:
move $18,$0
L.86:
move $5,$18
la $6,L.84
jal TstCond
la $4,3
l.d $f18,Radix
l.d $f16,Two
c.eq.d $f18,$f16; bc1t L.92
l.d $f16,L.93
c.eq.d $f18,$f16; bc1t L.92
l.d $f16,One
c.eq.d $f18,$f16; bc1f L.89
L.92:
la $17,1
b L.90
L.89:
move $17,$0
L.90:
move $5,$17
la $6,L.88
jal TstCond
la $24,20
sw $24,Milestone
move $4,$0
l.d $f18,Half
l.d $f16,F9
sub.d $f16,$f16,$f18
c.lt.d $f16,$f18; bc1f L.96
la $16,1
b L.97
L.96:
move $16,$0
L.97:
move $5,$16
la $6,L.95
jal TstCond
l.d $f18,F9
s.d $f18,X
la $24,1
sw $24,I
l.d $f18,Half
l.d $f16,X
sub.d $f16,$f16,$f18
s.d $f16,Y
l.d $f16,Y
sub.d $f18,$f16,$f18
s.d $f18,Z
move $4,$0
l.d $f18,X
l.d $f16,One
c.eq.d $f18,$f16; bc1f L.102
l.d $f18,Z
l.d $f16,Zero
c.eq.d $f18,$f16; bc1f L.100
L.102:
la $24,1
sw $24,-20+240($sp)
b L.101
L.100:
sw $0,-20+240($sp)
L.101:
lw $5,-20+240($sp)
la $6,L.99
jal TstCond
l.d $f18,One
l.d $f16,U2
add.d $f10,$f18,$f16
s.d $f10,X
sw $0,I
la $24,25
sw $24,Milestone
l.d $f10,Radix
sub.d $f8,$f10,$f18
s.d $f8,BMinusU2
l.d $f8,BMinusU2
sub.d $f16,$f8,$f16
add.d $f16,$f16,$f18
s.d $f16,BMinusU2
c.eq.d $f10,$f18; bc1t L.103
l.d $f12,U1
jal log
mov.d $f18,$f0
s.d $f18,-32+240($sp)
l.d $f12,Radix
jal log
l.d $f16,TwoForty
neg.d $f16,$f16
l.d $f10,-32+240($sp)
mul.d $f16,$f16,$f10
div.d $f18,$f16,$f0
s.d $f18,X
l.d $f18,Half
l.d $f16,X
add.d $f12,$f18,$f16
jal floor
s.d $f0,Y
l.d $f18,X
l.d $f16,Y
sub.d $f12,$f18,$f16
jal fabs
l.d $f16,Four
mul.d $f18,$f0,$f16
l.d $f16,One
c.lt.d $f18,$f16; bc1f L.105
l.d $f18,Y
s.d $f18,X
L.105:
l.d $f18,X
l.d $f16,TwoForty
div.d $f18,$f18,$f16
s.d $f18,Precision
l.d $f18,Half
l.d $f16,Precision
add.d $f12,$f18,$f16
jal floor
s.d $f0,Y
l.d $f18,Precision
l.d $f16,Y
sub.d $f12,$f18,$f16
jal fabs
l.d $f16,TwoForty
mul.d $f18,$f0,$f16
l.d $f16,Half
c.lt.d $f18,$f16; bc1f L.107
l.d $f18,Y
s.d $f18,Precision
L.107:
L.103:
l.d $f18,Precision
s.d $f18,-32+240($sp)
mov.d $f12,$f18
jal floor
l.d $f16,-32+240($sp)
c.eq.d $f16,$f0; bc1f L.111
l.d $f18,Radix
l.d $f16,One
c.eq.d $f18,$f16; bc1f L.109
L.111:
la $4,L.112
jal printf
la $4,L.113
jal printf
L.109:
l.d $f18,Radix
l.d $f16,One
c.eq.d $f18,$f16; bc1f L.114
la $4,L.116
jal printf
b L.115
L.114:
la $4,L.117
l.d $f18,Precision
mfc1.d $6,$f18
jal printf
L.115:
la $4,1
l.d $f18,Nine
l.d $f16,U2
mul.d $f16,$f16,$f18
mul.d $f18,$f16,$f18
l.d $f16,TwoForty
mul.d $f18,$f18,$f16
l.d $f16,One
c.lt.d $f18,$f16; bc1f L.120
la $24,1
sw $24,-36+240($sp)
b L.121
L.120:
sw $0,-36+240($sp)
L.121:
lw $5,-36+240($sp)
la $6,L.119
jal TstCond
la $24,30
sw $24,Milestone
l.d $f18,Four
l.d $f16,Three
l.d $f10,One
div.d $f8,$f10,$f18
div.d $f18,$f18,$f16
sub.d $f18,$f18,$f10
sub.d $f18,$f18,$f8
mul.d $f18,$f18,$f16
sub.d $f12,$f18,$f8
jal fabs
s.d $f0,X
L.122:
l.d $f18,X
s.d $f18,Z2
l.d $f18,One
l.d $f16,Z2
l.d $f10,Half
mul.d $f10,$f10,$f16
l.d $f8,ThirtyTwo
mul.d $f8,$f8,$f16
mul.d $f16,$f8,$f16
add.d $f16,$f10,$f16
add.d $f16,$f18,$f16
sub.d $f18,$f16,$f18
s.d $f18,X
L.123:
l.d $f18,X
l.d $f16,Z2
c.le.d $f16,$f18; bc1t L.125
l.d $f16,Zero
c.le.d $f18,$f16; bc1f L.122
L.125:
l.d $f18,Three

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -