530 lines
7.7 KiB
ArmAsm
530 lines
7.7 KiB
ArmAsm
.file "evalAt.c"
|
|
.text
|
|
.globl evalAt ; -- Begin function evalAt
|
|
.type evalAt,@function
|
|
evalAt: ; @evalAt
|
|
; %bb.0: ; %entry
|
|
rep #0x30
|
|
tay
|
|
tsc
|
|
sec
|
|
sbc #0x2e
|
|
tcs
|
|
tya
|
|
pha
|
|
lda 0xc0
|
|
sta 0xb, s
|
|
lda 0xc4
|
|
sta 0x9, s
|
|
lda 0xc6
|
|
sta 0x7, s
|
|
lda 0xc8
|
|
sta 0x5, s
|
|
lda 0xca
|
|
sta 0x3, s
|
|
pla
|
|
stx 0xc0
|
|
sta 0x1b, s
|
|
clc
|
|
adc #0x2
|
|
sta 0x1f, s
|
|
lda 0xc0
|
|
sta 0x21, s
|
|
adc #0x0
|
|
sta 0x21, s
|
|
lda 0x1f, s
|
|
sta 0xe0
|
|
lda 0x21, s
|
|
sta 0xe2
|
|
ldy #0x0
|
|
lda [0xe0], y
|
|
sta 0x1f, s
|
|
pha
|
|
lda 0xc0
|
|
sta 0x2f, s
|
|
pla
|
|
lda 0x1b, s
|
|
sta 0xe0
|
|
lda 0x2d, s
|
|
sta 0xe2
|
|
lda [0xe0], y
|
|
sta 0x21, s
|
|
lda 0x32, s
|
|
sta 0xb, s
|
|
lda #0x0
|
|
sta 0xc4
|
|
sta 0xc6
|
|
lda 0x21, s
|
|
sta 0xe0
|
|
lda 0x1f, s
|
|
sta 0xe2
|
|
lda [0xe0], y
|
|
and #0xff
|
|
sta 0x1d, s
|
|
sep #0x20
|
|
clc
|
|
adc #0xd0
|
|
rep #0x20
|
|
and #0xff
|
|
cmp #0xa
|
|
pha
|
|
lda 0xc4
|
|
sta 0xc8
|
|
pla
|
|
pha
|
|
lda 0xc6
|
|
sta 0xca
|
|
pla
|
|
bcc .LBB0_1
|
|
; %bb.15: ; %entry
|
|
brl .LBB0_4
|
|
.LBB0_1: ; %while.body.preheader
|
|
lda 0x21, s
|
|
inc a
|
|
sta 0x21, s
|
|
bne .Ltmp0
|
|
lda 0x1f, s
|
|
inc a
|
|
sta 0x1f, s
|
|
.Ltmp0:
|
|
lda #0x0
|
|
sta 0x15, s
|
|
sta 0x13, s
|
|
sta 0x11, s
|
|
sta 0xf, s
|
|
lda 0x1f, s
|
|
sta 0x17, s
|
|
.LBB0_2: ; %while.body
|
|
; =>This Inner Loop Header: Depth=1
|
|
sta 0x1f, s
|
|
lda 0x1b, s
|
|
tax
|
|
pha
|
|
lda 0xc0
|
|
sta 0x2d, s
|
|
pla
|
|
txa
|
|
sta 0xe0
|
|
lda 0x2b, s
|
|
sta 0xe2
|
|
lda 0x21, s
|
|
ldy #0x0
|
|
sta [0xe0], y
|
|
lda 0x1b, s
|
|
clc
|
|
adc #0x2
|
|
sta 0xd, s
|
|
lda 0xc0
|
|
sta 0x19, s
|
|
adc #0x0
|
|
sta 0x19, s
|
|
lda 0xd, s
|
|
sta 0xe0
|
|
lda 0x19, s
|
|
sta 0xe2
|
|
lda 0x1f, s
|
|
sta [0xe0], y
|
|
pea 0x4024
|
|
lda #0x0
|
|
pha
|
|
pha
|
|
pha
|
|
lda 0x17, s
|
|
pha
|
|
lda 0x1b, s
|
|
pha
|
|
lda 0x1f, s
|
|
tax
|
|
lda 0x21, s
|
|
jsl __muldf3
|
|
sta 0xe0
|
|
tsc
|
|
clc
|
|
adc #0xc
|
|
tcs
|
|
lda 0xe0
|
|
sta 0x19, s
|
|
txa
|
|
sta 0x15, s
|
|
tya
|
|
sta 0x13, s
|
|
lda 0xf0
|
|
sta 0x11, s
|
|
lda 0x1d, s
|
|
sep #0x20
|
|
clc
|
|
adc #0xd0
|
|
rep #0x20
|
|
and #0xff
|
|
sta 0x1d, s
|
|
ldx #0x0
|
|
lda 0x1d, s
|
|
jsl __floatunsidf
|
|
sta 0x1d, s
|
|
txa
|
|
sta 0xf, s
|
|
tya
|
|
sta 0xd, s
|
|
pei 0xf0
|
|
lda 0xf, s
|
|
pha
|
|
lda 0x13, s
|
|
tax
|
|
phx
|
|
lda 0x23, s
|
|
pha
|
|
lda 0x19, s
|
|
pha
|
|
lda 0x1d, s
|
|
pha
|
|
lda 0x21, s
|
|
tax
|
|
lda 0x25, s
|
|
jsl __adddf3
|
|
sta 0xe0
|
|
tsc
|
|
clc
|
|
adc #0xc
|
|
tcs
|
|
lda 0xe0
|
|
sta 0x15, s
|
|
txa
|
|
sta 0x13, s
|
|
tya
|
|
sta 0x11, s
|
|
lda 0xf0
|
|
sta 0xf, s
|
|
lda 0x21, s
|
|
sta 0xd0
|
|
tax
|
|
lda 0x21, s
|
|
clc
|
|
adc #0x1
|
|
sta 0x21, s
|
|
txa
|
|
lda 0xd0
|
|
sta 0x1d, s
|
|
lda 0x17, s
|
|
adc #0x0
|
|
sta 0x17, s
|
|
lda 0x11, s
|
|
sta 0xc8
|
|
lda 0xf, s
|
|
sta 0xca
|
|
lda 0x15, s
|
|
sta 0xc4
|
|
lda 0x13, s
|
|
sta 0xc6
|
|
lda 0x1d, s
|
|
sta 0xe0
|
|
lda 0x1f, s
|
|
sta 0xe2
|
|
ldy #0x0
|
|
lda [0xe0], y
|
|
and #0xff
|
|
sta 0x1d, s
|
|
sep #0x20
|
|
clc
|
|
adc #0xd0
|
|
rep #0x20
|
|
and #0xff
|
|
cmp #0xa
|
|
lda 0x17, s
|
|
bcs .LBB0_3
|
|
; %bb.16: ; %while.body
|
|
; in Loop: Header=BB0_2 Depth=1
|
|
brl .LBB0_2
|
|
.LBB0_3: ; %while.cond7.preheader.loopexit
|
|
lda 0x21, s
|
|
clc
|
|
adc #0xffff
|
|
sta 0x21, s
|
|
lda 0x17, s
|
|
adc #0xffff
|
|
sta 0x1f, s
|
|
.LBB0_4: ; %while.cond7.preheader
|
|
lda 0xb, s
|
|
eor #0x8000
|
|
sta 0xb, s
|
|
lda 0x1d, s
|
|
brl .LBB0_5
|
|
.LBB0_11: ; %if.then33
|
|
; in Loop: Header=BB0_5 Depth=1
|
|
lda 0xc6
|
|
sta 0x1d, s
|
|
lda 0xc4
|
|
sta 0x15, s
|
|
lda 0xca
|
|
sta 0x13, s
|
|
lda 0xc8
|
|
sta 0x11, s
|
|
lda 0x17, s
|
|
pha
|
|
lda 0x1b, s
|
|
pha
|
|
lda 0x23, s
|
|
pha
|
|
lda 0x27, s
|
|
pha
|
|
lda 0x1b, s
|
|
pha
|
|
lda 0x1b, s
|
|
pha
|
|
lda 0x29, s
|
|
tax
|
|
lda 0x21, s
|
|
jsl __muldf3
|
|
.LBB0_12: ; %cleanup
|
|
; in Loop: Header=BB0_5 Depth=1
|
|
sta 0xe0
|
|
tsc
|
|
clc
|
|
adc #0xc
|
|
tcs
|
|
lda 0xe0
|
|
sta 0x21, s
|
|
txa
|
|
sta 0x1f, s
|
|
tya
|
|
sta 0x1d, s
|
|
lda 0xf0
|
|
sta 0x19, s
|
|
lda 0x1d, s
|
|
sta 0xc8
|
|
lda 0x19, s
|
|
sta 0xca
|
|
lda 0x21, s
|
|
sta 0xc4
|
|
lda 0x1f, s
|
|
sta 0xc6
|
|
.LBB0_13: ; %cleanup
|
|
; in Loop: Header=BB0_5 Depth=1
|
|
lda 0x1b, s
|
|
clc
|
|
adc #0x2
|
|
sta 0x1f, s
|
|
lda 0xc0
|
|
sta 0x21, s
|
|
adc #0x0
|
|
sta 0x21, s
|
|
lda 0x1f, s
|
|
sta 0xe0
|
|
lda 0x21, s
|
|
sta 0xe2
|
|
ldy #0x0
|
|
lda [0xe0], y
|
|
sta 0x1f, s
|
|
lda 0x1b, s
|
|
tax
|
|
pha
|
|
lda 0xc0
|
|
sta 0x25, s
|
|
pla
|
|
txa
|
|
sta 0xe0
|
|
lda 0x23, s
|
|
sta 0xe2
|
|
lda [0xe0], y
|
|
sta 0x21, s
|
|
sta 0xe0
|
|
lda 0x1f, s
|
|
sta 0xe2
|
|
lda [0xe0], y
|
|
and #0xff
|
|
.LBB0_5: ; %while.cond7
|
|
; =>This Inner Loop Header: Depth=1
|
|
sta 0x1d, s
|
|
sep #0x20
|
|
clc
|
|
adc #0xd6
|
|
rep #0x20
|
|
and #0xff
|
|
sta 0x19, s
|
|
lda 0x19, s
|
|
pha
|
|
lda #0x2b
|
|
jsl __lshrhi3
|
|
ply
|
|
sta 0x17, s
|
|
lda 0x19, s
|
|
cmp #0x6
|
|
bcc .LBB0_6
|
|
; %bb.17: ; %while.cond7
|
|
brl .LBB0_14
|
|
.LBB0_6: ; %while.cond7
|
|
; in Loop: Header=BB0_5 Depth=1
|
|
lda 0x17, s
|
|
and #0x1
|
|
sta 0x17, s
|
|
lda #0x0
|
|
sta 0x29, s
|
|
lda 0x17, s
|
|
ora 0x29, s
|
|
bne .LBB0_7
|
|
; %bb.18: ; %while.cond7
|
|
brl .LBB0_14
|
|
.LBB0_7: ; %switch.lookup
|
|
; in Loop: Header=BB0_5 Depth=1
|
|
lda 0x19, s
|
|
asl a
|
|
tax
|
|
lda .Lswitch.table.evalAt, x
|
|
sta 0x19, s
|
|
eor #0x8000
|
|
sta 0x27, s
|
|
lda 0xb, s
|
|
cmp 0x27, s
|
|
bcc .LBB0_8
|
|
; %bb.19: ; %switch.lookup
|
|
brl .LBB0_14
|
|
.LBB0_8: ; %if.end25
|
|
; in Loop: Header=BB0_5 Depth=1
|
|
lda 0x21, s
|
|
inc a
|
|
sta 0x21, s
|
|
bne .Ltmp1
|
|
lda 0x1f, s
|
|
inc a
|
|
sta 0x1f, s
|
|
.Ltmp1:
|
|
lda 0x1b, s
|
|
tax
|
|
pha
|
|
lda 0xc0
|
|
sta 0x27, s
|
|
pla
|
|
txa
|
|
sta 0xe0
|
|
lda 0x25, s
|
|
sta 0xe2
|
|
lda 0x21, s
|
|
ldy #0x0
|
|
sta [0xe0], y
|
|
lda 0x1b, s
|
|
sta 0xd0
|
|
clc
|
|
adc #0x2
|
|
sta 0x17, s
|
|
lda 0xd0
|
|
sta 0x21, s
|
|
lda 0xc0
|
|
adc #0x0
|
|
sta 0x15, s
|
|
lda 0x17, s
|
|
sta 0xe0
|
|
lda 0x15, s
|
|
sta 0xe2
|
|
lda 0x1f, s
|
|
sta [0xe0], y
|
|
lda 0x19, s
|
|
pha
|
|
ldx 0xc0
|
|
lda 0x23, s
|
|
jsl evalAt
|
|
sta 0xe0
|
|
tsc
|
|
clc
|
|
adc #0x2
|
|
tcs
|
|
lda 0xe0
|
|
sta 0x21, s
|
|
txa
|
|
sta 0x1f, s
|
|
tya
|
|
sta 0x19, s
|
|
lda 0xf0
|
|
sta 0x17, s
|
|
lda 0x1d, s
|
|
and #0xff
|
|
cmp #0x2a
|
|
bne .LBB0_9
|
|
; %bb.20: ; %if.end25
|
|
; in Loop: Header=BB0_5 Depth=1
|
|
brl .LBB0_11
|
|
.LBB0_9: ; %if.end25
|
|
; in Loop: Header=BB0_5 Depth=1
|
|
cmp #0x2b
|
|
beq .LBB0_10
|
|
; %bb.21: ; %if.end25
|
|
; in Loop: Header=BB0_5 Depth=1
|
|
brl .LBB0_13
|
|
.LBB0_10: ; %if.then29
|
|
; in Loop: Header=BB0_5 Depth=1
|
|
lda 0xc6
|
|
sta 0x1d, s
|
|
lda 0xc4
|
|
sta 0x15, s
|
|
lda 0xca
|
|
sta 0x13, s
|
|
lda 0xc8
|
|
sta 0x11, s
|
|
lda 0x17, s
|
|
pha
|
|
lda 0x1b, s
|
|
pha
|
|
lda 0x23, s
|
|
pha
|
|
lda 0x27, s
|
|
pha
|
|
lda 0x1b, s
|
|
pha
|
|
lda 0x1b, s
|
|
pha
|
|
lda 0x29, s
|
|
tax
|
|
lda 0x21, s
|
|
jsl __adddf3
|
|
brl .LBB0_12
|
|
.LBB0_14: ; %cleanup37
|
|
lda 0xc6
|
|
sta 0x21, s
|
|
lda 0xc4
|
|
sta 0x1f, s
|
|
lda 0xca
|
|
sta 0x1b, s
|
|
lda 0xc8
|
|
sta 0x1d, s
|
|
lda 0x1b, s
|
|
sta 0xf0
|
|
lda 0x1d, s
|
|
tay
|
|
lda 0x21, s
|
|
tax
|
|
lda 0x1f, s
|
|
pha
|
|
lda 0x3, s
|
|
sta 0xca
|
|
lda 0x5, s
|
|
sta 0xc8
|
|
lda 0x7, s
|
|
sta 0xc6
|
|
lda 0x9, s
|
|
sta 0xc4
|
|
lda 0xb, s
|
|
sta 0xc0
|
|
pla
|
|
sta 0xe0
|
|
tsc
|
|
clc
|
|
adc #0x2e
|
|
tcs
|
|
lda 0xe0
|
|
rtl
|
|
.Lfunc_end0:
|
|
.size evalAt, .Lfunc_end0-evalAt
|
|
; -- End function
|
|
.type .Lswitch.table.evalAt,@object ; @switch.table.evalAt
|
|
.section .rodata,"a",@progbits
|
|
.p2align 1, 0x0
|
|
.Lswitch.table.evalAt:
|
|
.short 4 ; 0x4
|
|
.short 3 ; 0x3
|
|
.zero 2
|
|
.short 3 ; 0x3
|
|
.zero 2
|
|
.short 4 ; 0x4
|
|
.size .Lswitch.table.evalAt, 12
|
|
|
|
.ident "clang version 23.0.0git (https://github.com/llvm-mos/llvm-mos.git c798c31416f72b395c658b5502d281a162387ab1)"
|
|
.section ".note.GNU-stack","",@progbits
|
|
.addrsig
|