mirror of
https://gitlab.com/camelot/kickc.git
synced 2025-04-09 21:37:31 +00:00
Fixed lo/hi of dwords in constants.
This commit is contained in:
parent
37bfd18716
commit
6702baa875
@ -4,6 +4,7 @@ import dk.camelot64.kickc.model.*;
|
||||
|
||||
/** Formatting of numbers, constants, names and more for KickAssembler */
|
||||
public class AsmFormat {
|
||||
|
||||
/**
|
||||
* Get ASM code for a constant value
|
||||
*
|
||||
@ -83,6 +84,28 @@ public class AsmFormat {
|
||||
} else {
|
||||
return "$ffffffff & " + getAsmConstant(program, operand, Operator.BOOL_AND.getPrecedence(), codeScope);
|
||||
}
|
||||
} else if(Operator.LOWBYTE.equals(operator)) {
|
||||
SymbolType operandType = SymbolTypeInference.inferType(program.getScope(), operand);
|
||||
if(SymbolType.isByte(operandType) || SymbolType.isSByte(operandType)) {
|
||||
return getAsmConstant(program, operand, outerPrecedence, codeScope);
|
||||
} else if(SymbolType.isWord(operandType) || SymbolType.isSWord(operandType)) {
|
||||
return "<" + getAsmConstant(program, operand, outerPrecedence, codeScope);
|
||||
} else if(SymbolType.isDWord(operandType) || SymbolType.isSDWord(operandType)) {
|
||||
return getAsmConstant(program, operand, outerPrecedence, codeScope) + "&$ffff";
|
||||
} else {
|
||||
throw new CompileError("Unhandled type "+operand);
|
||||
}
|
||||
} else if(Operator.HIBYTE.equals(operator)) {
|
||||
SymbolType operandType = SymbolTypeInference.inferType(program.getScope(), operand);
|
||||
if(SymbolType.isByte(operandType) || SymbolType.isSByte(operandType)) {
|
||||
return getAsmConstant(program, operand, outerPrecedence, codeScope);
|
||||
} else if(SymbolType.isWord(operandType) || SymbolType.isSWord(operandType)) {
|
||||
return ">" + getAsmConstant(program, operand, outerPrecedence, codeScope);
|
||||
} else if(SymbolType.isDWord(operandType) || SymbolType.isSDWord(operandType)) {
|
||||
return getAsmConstant(program, operand, outerPrecedence, codeScope) + ">>16";
|
||||
} else {
|
||||
throw new CompileError("Unhandled type "+operand);
|
||||
}
|
||||
} else if(Operator.INCREMENT.equals(operator)) {
|
||||
return getAsmConstant(program, operand, Operator.PLUS.getPrecedence(), codeScope) + "+1";
|
||||
} else if(Operator.DECREMENT.equals(operator)) {
|
||||
|
@ -0,0 +1,12 @@
|
||||
asl {z1}
|
||||
rol {z1}+1
|
||||
rol {z1}+2
|
||||
rol {z1}+3
|
||||
asl {z1}
|
||||
rol {z1}+1
|
||||
rol {z1}+2
|
||||
rol {z1}+3
|
||||
asl {z1}
|
||||
rol {z1}+1
|
||||
rol {z1}+2
|
||||
rol {z1}+3
|
@ -0,0 +1,20 @@
|
||||
lda {z2}
|
||||
sta {z1}
|
||||
lda {z2}+1
|
||||
sta {z1}+1
|
||||
lda {z2}+2
|
||||
sta {z1}+2
|
||||
lda {z2}+3
|
||||
sta {z1}+3
|
||||
asl {z1}
|
||||
rol {z1}+1
|
||||
rol {z1}+2
|
||||
rol {z1}+3
|
||||
asl {z1}
|
||||
rol {z1}+1
|
||||
rol {z1}+2
|
||||
rol {z1}+3
|
||||
asl {z1}
|
||||
rol {z1}+1
|
||||
rol {z1}+2
|
||||
rol {z1}+3
|
@ -0,0 +1,8 @@
|
||||
lda {z1}+1
|
||||
cmp #>{c1}
|
||||
bcc !+
|
||||
bne {la1}
|
||||
lda {z1}
|
||||
cmp #<{c1}
|
||||
bcs {la1}
|
||||
!:
|
@ -45,6 +45,11 @@ public class TestPrograms {
|
||||
AsmFragmentTemplateUsages.logUsages(log, false, false, false, false, false, false);
|
||||
}
|
||||
|
||||
@Test
|
||||
public void testLoHiConst() throws IOException, URISyntaxException {
|
||||
compileAndCompare("test-lohiconst");
|
||||
}
|
||||
|
||||
@Test
|
||||
public void testSinusGen() throws IOException, URISyntaxException {
|
||||
compileAndCompare("sinusgen");
|
||||
|
@ -19,12 +19,6 @@ void main() {
|
||||
}
|
||||
}
|
||||
|
||||
// PI*2 in u[4.12] format
|
||||
const word PI2_u4f12 = $6488;
|
||||
// PI in u[4.12] format
|
||||
const word PI_u4f12 = $3244;
|
||||
// PI/2 in u[4.12] format
|
||||
const word PI_HALF_u4f12 = $1922;
|
||||
// PI*2 in u[4.28] format
|
||||
const dword PI2_u4f28 = $6487ed51;
|
||||
// PI in u[4.28] format
|
||||
@ -32,26 +26,29 @@ const dword PI_u4f28 = $3243f6a9;
|
||||
// PI/2 in u[4.28] format
|
||||
const dword PI_HALF_u4f28 = $1921FB54;
|
||||
|
||||
// PI*2 in u[4.12] format
|
||||
const word PI2_u4f12 = $6488;
|
||||
// PI in u[4.12] format
|
||||
const word PI_u4f12 = $3244;
|
||||
// PI/2 in u[4.12] format
|
||||
const word PI_HALF_u4f12 = $1922;
|
||||
|
||||
// Generate signed word sinus table
|
||||
// sintab - the table to generate into
|
||||
// wavelength - the number of sinus points in a total sinus wavelength (the size of the table)
|
||||
void sin16s_gen(signed word* sintab, word wavelength) {
|
||||
// u[4.12] step = PI*2/wavelength
|
||||
word stepi = divr16u(PI2_u4f12, wavelength, 0);
|
||||
word stepf = divr16u(0, wavelength, rem16u);
|
||||
word stepi = divr16u(>PI2_u4f28, wavelength, 0);
|
||||
word stepf = divr16u(<PI2_u4f28, wavelength, rem16u);
|
||||
dword step = { stepi, stepf }; // u[4.12]
|
||||
// Iterate over the table
|
||||
dword x = 0; // u[4.28]
|
||||
// u[0.16] div6 = 1/6 ;
|
||||
word div6 = $10000/6; //$2aab;
|
||||
// u[0.16] div128 = 1/128 ;
|
||||
word div128 = $10000/128; //$0200;
|
||||
for( word i=0; i<wavelength; i++) {
|
||||
// Move x1 into the range 0-PI/2 using sinus mirror symmetries
|
||||
word x1 = >x; // u[4.12]
|
||||
byte isUpper = 0;
|
||||
if(x1 >= PI_u4f12 ) {
|
||||
x1 = x1-PI_u4f12;
|
||||
x1 = x1 - PI_u4f12;
|
||||
isUpper = 1;
|
||||
}
|
||||
if(x1 >= PI_HALF_u4f12 ) {
|
||||
@ -60,22 +57,22 @@ void sin16s_gen(signed word* sintab, word wavelength) {
|
||||
// s[4.12] sinx = x - x^3/6 + x5/128;
|
||||
word x2 = mul_u4f12(x1, x1); // u[4.12]
|
||||
word x3 = mul_u4f12(x2, x1); // u[4.12]
|
||||
word x3_6 = >mul16u(x3, div6); // u[4.12]
|
||||
word x3_6 = >mul16u(x3, $10000/6); // u[4.12] - u[0.16] div6 = 1/6;
|
||||
word usinx = x1 - x3_6; // u[4.12]
|
||||
word x4 = mul_u4f12(x3, x1); // u[4.12]
|
||||
word x5 = mul_u4f12(x4, x1); // u[4.12]
|
||||
word x5_128 = >mul16u(x5, div128); // u[4.12]
|
||||
word x5_128 = >mul16u(x5, $10000/128); // u[4.12] - u[0.16] div128 = 1/128;
|
||||
usinx = usinx + x5_128;
|
||||
signed word sinx = (signed word)usinx; // s[4.12]
|
||||
signed word sinx;
|
||||
if(isUpper!=0) {
|
||||
sinx = -sinx;
|
||||
}
|
||||
sinx = -(signed word)usinx; // s[4.12];
|
||||
} else {
|
||||
sinx = (signed word)usinx; // s[4.12]
|
||||
}
|
||||
*sintab = sinx;
|
||||
sintab = sintab + 2;
|
||||
x = x + step;
|
||||
}
|
||||
|
||||
|
||||
}
|
||||
|
||||
// Calculate val*val for val u[4.12] to val*val u[4.28]
|
||||
|
10
src/test/java/dk/camelot64/kickc/test/kc/test-lohiconst.kc
Normal file
10
src/test/java/dk/camelot64/kickc/test/kc/test-lohiconst.kc
Normal file
@ -0,0 +1,10 @@
|
||||
// PI in u[4.28] format
|
||||
const dword PI_u4f28 = $3243f6a9;
|
||||
|
||||
void main() {
|
||||
byte* SCREEN = $400;
|
||||
SCREEN[0] = > > PI_u4f28;
|
||||
SCREEN[1] = < > PI_u4f28;
|
||||
SCREEN[2] = > < PI_u4f28;
|
||||
SCREEN[3] = < < PI_u4f28;
|
||||
}
|
@ -2,7 +2,7 @@
|
||||
:BasicUpstart(main)
|
||||
.pc = $80d "Program"
|
||||
.label SCREEN = $400
|
||||
.const PI2_u4f12 = $6488
|
||||
.const PI2_u4f28 = $6487ed51
|
||||
.const PI_u4f12 = $3244
|
||||
.const PI_HALF_u4f12 = $1922
|
||||
.label rem16u = 4
|
||||
@ -151,10 +151,8 @@ print_cls: {
|
||||
rts
|
||||
}
|
||||
sin16s_gen: {
|
||||
.const div6 = $10000/6
|
||||
.const div128 = $10000/$80
|
||||
.label _13 = $12
|
||||
.label _18 = $12
|
||||
.label _14 = $12
|
||||
.label _20 = $12
|
||||
.label stepi = $e
|
||||
.label stepf = $c
|
||||
.label step = $1a
|
||||
@ -164,17 +162,17 @@ sin16s_gen: {
|
||||
.label usinx = $c
|
||||
.label x4 = $10
|
||||
.label x5 = $10
|
||||
.label sinx = $c
|
||||
.label sintab = 2
|
||||
.label x = 8
|
||||
.label i = 4
|
||||
.label sinx = $c
|
||||
lda #<main.wavelength
|
||||
sta divr16u.divisor
|
||||
lda #>main.wavelength
|
||||
sta divr16u.divisor+1
|
||||
lda #<PI2_u4f12
|
||||
lda #<PI2_u4f28>>16
|
||||
sta divr16u.dividend
|
||||
lda #>PI2_u4f12
|
||||
lda #>PI2_u4f28>>16
|
||||
sta divr16u.dividend+1
|
||||
lda #<0
|
||||
sta divr16u.rem
|
||||
@ -188,8 +186,9 @@ sin16s_gen: {
|
||||
sta divr16u.divisor
|
||||
lda #>main.wavelength
|
||||
sta divr16u.divisor+1
|
||||
lda #<0
|
||||
lda #<PI2_u4f28&$ffff
|
||||
sta divr16u.dividend
|
||||
lda #>PI2_u4f28&$ffff
|
||||
sta divr16u.dividend+1
|
||||
jsr divr16u
|
||||
lda stepi
|
||||
@ -218,11 +217,11 @@ sin16s_gen: {
|
||||
lda x+3
|
||||
sta x1+1
|
||||
cmp #>PI_u4f12
|
||||
bcc b5
|
||||
bcc b4
|
||||
bne !+
|
||||
lda x1
|
||||
cmp #<PI_u4f12
|
||||
bcc b5
|
||||
bcc b4
|
||||
!:
|
||||
lda x1
|
||||
sec
|
||||
@ -233,7 +232,7 @@ sin16s_gen: {
|
||||
sta x1+1
|
||||
ldx #1
|
||||
jmp b2
|
||||
b5:
|
||||
b4:
|
||||
ldx #0
|
||||
b2:
|
||||
lda x1+1
|
||||
@ -266,17 +265,17 @@ sin16s_gen: {
|
||||
sta mul16u.a
|
||||
lda x3+1
|
||||
sta mul16u.a+1
|
||||
lda #<div6
|
||||
lda #<$10000/6
|
||||
sta mul16u.b
|
||||
lda #>div6
|
||||
lda #>$10000/6
|
||||
sta mul16u.b+1
|
||||
jsr mul16u
|
||||
lda x1
|
||||
sec
|
||||
sbc _13+2
|
||||
sbc _14+2
|
||||
sta usinx
|
||||
lda x1+1
|
||||
sbc _13+3
|
||||
sbc _14+3
|
||||
sta usinx+1
|
||||
lda x3
|
||||
sta mul_u4f12.v1
|
||||
@ -284,20 +283,20 @@ sin16s_gen: {
|
||||
sta mul_u4f12.v1+1
|
||||
jsr mul_u4f12
|
||||
jsr mul_u4f12
|
||||
lda #<div128
|
||||
lda #<$10000/$80
|
||||
sta mul16u.b
|
||||
lda #>div128
|
||||
lda #>$10000/$80
|
||||
sta mul16u.b+1
|
||||
jsr mul16u
|
||||
lda usinx
|
||||
clc
|
||||
adc _18+2
|
||||
adc _20+2
|
||||
sta usinx
|
||||
lda usinx+1
|
||||
adc _18+3
|
||||
adc _20+3
|
||||
sta usinx+1
|
||||
cpx #0
|
||||
beq b4
|
||||
beq b5
|
||||
sec
|
||||
lda sinx
|
||||
eor #$ff
|
||||
@ -307,7 +306,7 @@ sin16s_gen: {
|
||||
eor #$ff
|
||||
adc #0
|
||||
sta sinx+1
|
||||
b4:
|
||||
b5:
|
||||
ldy #0
|
||||
lda sinx
|
||||
sta (sintab),y
|
||||
|
@ -117,103 +117,103 @@ sin16s_gen: scope:[sin16s_gen] from main
|
||||
[53] phi() [ ] ( main:2::sin16s_gen:5 [ ] )
|
||||
[54] call divr16u param-assignment [ divr16u::return#0 rem16u#1 ] ( main:2::sin16s_gen:5 [ divr16u::return#0 rem16u#1 ] )
|
||||
[55] (word) divr16u::return#2 ← (word) divr16u::return#0 [ divr16u::return#2 rem16u#1 ] ( main:2::sin16s_gen:5 [ divr16u::return#2 rem16u#1 ] )
|
||||
to:sin16s_gen::@9
|
||||
sin16s_gen::@9: scope:[sin16s_gen] from sin16s_gen
|
||||
to:sin16s_gen::@11
|
||||
sin16s_gen::@11: scope:[sin16s_gen] from sin16s_gen
|
||||
[56] (word) sin16s_gen::stepi#0 ← (word) divr16u::return#2 [ sin16s_gen::stepi#0 rem16u#1 ] ( main:2::sin16s_gen:5 [ sin16s_gen::stepi#0 rem16u#1 ] )
|
||||
[57] (word) divr16u::rem#4 ← (word) rem16u#1 [ sin16s_gen::stepi#0 divr16u::rem#4 ] ( main:2::sin16s_gen:5 [ sin16s_gen::stepi#0 divr16u::rem#4 ] )
|
||||
[58] call divr16u param-assignment [ divr16u::return#0 sin16s_gen::stepi#0 ] ( main:2::sin16s_gen:5 [ divr16u::return#0 sin16s_gen::stepi#0 ] )
|
||||
[59] (word) divr16u::return#3 ← (word) divr16u::return#0 [ sin16s_gen::stepi#0 divr16u::return#3 ] ( main:2::sin16s_gen:5 [ sin16s_gen::stepi#0 divr16u::return#3 ] )
|
||||
to:sin16s_gen::@10
|
||||
sin16s_gen::@10: scope:[sin16s_gen] from sin16s_gen::@9
|
||||
to:sin16s_gen::@12
|
||||
sin16s_gen::@12: scope:[sin16s_gen] from sin16s_gen::@11
|
||||
[60] (word) sin16s_gen::stepf#0 ← (word) divr16u::return#3 [ sin16s_gen::stepi#0 sin16s_gen::stepf#0 ] ( main:2::sin16s_gen:5 [ sin16s_gen::stepi#0 sin16s_gen::stepf#0 ] )
|
||||
[61] (dword) sin16s_gen::step#0 ← (word) sin16s_gen::stepi#0 dw= (word) sin16s_gen::stepf#0 [ sin16s_gen::step#0 ] ( main:2::sin16s_gen:5 [ sin16s_gen::step#0 ] )
|
||||
to:sin16s_gen::@1
|
||||
sin16s_gen::@1: scope:[sin16s_gen] from sin16s_gen::@10 sin16s_gen::@4
|
||||
[62] (word) sin16s_gen::i#10 ← phi( sin16s_gen::@10/(byte/signed byte/word/signed word/dword/signed dword) 0 sin16s_gen::@4/(word) sin16s_gen::i#1 ) [ sin16s_gen::step#0 sin16s_gen::x#10 sin16s_gen::sintab#10 sin16s_gen::i#10 ] ( main:2::sin16s_gen:5 [ sin16s_gen::step#0 sin16s_gen::x#10 sin16s_gen::sintab#10 sin16s_gen::i#10 ] )
|
||||
[62] (signed word*) sin16s_gen::sintab#10 ← phi( sin16s_gen::@10/(const signed word[128]) main::sintab1#0 sin16s_gen::@4/(signed word*) sin16s_gen::sintab#1 ) [ sin16s_gen::step#0 sin16s_gen::x#10 sin16s_gen::sintab#10 sin16s_gen::i#10 ] ( main:2::sin16s_gen:5 [ sin16s_gen::step#0 sin16s_gen::x#10 sin16s_gen::sintab#10 sin16s_gen::i#10 ] )
|
||||
[62] (dword) sin16s_gen::x#10 ← phi( sin16s_gen::@10/(byte/signed byte/word/signed word/dword/signed dword) 0 sin16s_gen::@4/(dword) sin16s_gen::x#1 ) [ sin16s_gen::step#0 sin16s_gen::x#10 sin16s_gen::sintab#10 sin16s_gen::i#10 ] ( main:2::sin16s_gen:5 [ sin16s_gen::step#0 sin16s_gen::x#10 sin16s_gen::sintab#10 sin16s_gen::i#10 ] )
|
||||
sin16s_gen::@1: scope:[sin16s_gen] from sin16s_gen::@12 sin16s_gen::@5
|
||||
[62] (word) sin16s_gen::i#10 ← phi( sin16s_gen::@12/(byte/signed byte/word/signed word/dword/signed dword) 0 sin16s_gen::@5/(word) sin16s_gen::i#1 ) [ sin16s_gen::step#0 sin16s_gen::x#10 sin16s_gen::sintab#10 sin16s_gen::i#10 ] ( main:2::sin16s_gen:5 [ sin16s_gen::step#0 sin16s_gen::x#10 sin16s_gen::sintab#10 sin16s_gen::i#10 ] )
|
||||
[62] (signed word*) sin16s_gen::sintab#10 ← phi( sin16s_gen::@12/(const signed word[128]) main::sintab1#0 sin16s_gen::@5/(signed word*) sin16s_gen::sintab#1 ) [ sin16s_gen::step#0 sin16s_gen::x#10 sin16s_gen::sintab#10 sin16s_gen::i#10 ] ( main:2::sin16s_gen:5 [ sin16s_gen::step#0 sin16s_gen::x#10 sin16s_gen::sintab#10 sin16s_gen::i#10 ] )
|
||||
[62] (dword) sin16s_gen::x#10 ← phi( sin16s_gen::@12/(byte/signed byte/word/signed word/dword/signed dword) 0 sin16s_gen::@5/(dword) sin16s_gen::x#1 ) [ sin16s_gen::step#0 sin16s_gen::x#10 sin16s_gen::sintab#10 sin16s_gen::i#10 ] ( main:2::sin16s_gen:5 [ sin16s_gen::step#0 sin16s_gen::x#10 sin16s_gen::sintab#10 sin16s_gen::i#10 ] )
|
||||
[63] (word) sin16s_gen::x1#0 ← > (dword) sin16s_gen::x#10 [ sin16s_gen::step#0 sin16s_gen::x#10 sin16s_gen::sintab#10 sin16s_gen::i#10 sin16s_gen::x1#0 ] ( main:2::sin16s_gen:5 [ sin16s_gen::step#0 sin16s_gen::x#10 sin16s_gen::sintab#10 sin16s_gen::i#10 sin16s_gen::x1#0 ] )
|
||||
[64] if((word) sin16s_gen::x1#0<(const word) PI_u4f12#0) goto sin16s_gen::@2 [ sin16s_gen::step#0 sin16s_gen::x#10 sin16s_gen::sintab#10 sin16s_gen::i#10 sin16s_gen::x1#0 ] ( main:2::sin16s_gen:5 [ sin16s_gen::step#0 sin16s_gen::x#10 sin16s_gen::sintab#10 sin16s_gen::i#10 sin16s_gen::x1#0 ] )
|
||||
to:sin16s_gen::@5
|
||||
sin16s_gen::@5: scope:[sin16s_gen] from sin16s_gen::@1
|
||||
to:sin16s_gen::@6
|
||||
sin16s_gen::@6: scope:[sin16s_gen] from sin16s_gen::@1
|
||||
[65] (word) sin16s_gen::x1#1 ← (word) sin16s_gen::x1#0 - (const word) PI_u4f12#0 [ sin16s_gen::step#0 sin16s_gen::x#10 sin16s_gen::sintab#10 sin16s_gen::i#10 sin16s_gen::x1#1 ] ( main:2::sin16s_gen:5 [ sin16s_gen::step#0 sin16s_gen::x#10 sin16s_gen::sintab#10 sin16s_gen::i#10 sin16s_gen::x1#1 ] )
|
||||
to:sin16s_gen::@2
|
||||
sin16s_gen::@2: scope:[sin16s_gen] from sin16s_gen::@1 sin16s_gen::@5
|
||||
[66] (byte) sin16s_gen::isUpper#10 ← phi( sin16s_gen::@1/(byte/signed byte/word/signed word/dword/signed dword) 0 sin16s_gen::@5/(byte/signed byte/word/signed word/dword/signed dword) 1 ) [ sin16s_gen::step#0 sin16s_gen::x#10 sin16s_gen::sintab#10 sin16s_gen::i#10 sin16s_gen::x1#3 sin16s_gen::isUpper#10 ] ( main:2::sin16s_gen:5 [ sin16s_gen::step#0 sin16s_gen::x#10 sin16s_gen::sintab#10 sin16s_gen::i#10 sin16s_gen::x1#3 sin16s_gen::isUpper#10 ] )
|
||||
[66] (word) sin16s_gen::x1#3 ← phi( sin16s_gen::@1/(word) sin16s_gen::x1#0 sin16s_gen::@5/(word) sin16s_gen::x1#1 ) [ sin16s_gen::step#0 sin16s_gen::x#10 sin16s_gen::sintab#10 sin16s_gen::i#10 sin16s_gen::x1#3 sin16s_gen::isUpper#10 ] ( main:2::sin16s_gen:5 [ sin16s_gen::step#0 sin16s_gen::x#10 sin16s_gen::sintab#10 sin16s_gen::i#10 sin16s_gen::x1#3 sin16s_gen::isUpper#10 ] )
|
||||
sin16s_gen::@2: scope:[sin16s_gen] from sin16s_gen::@1 sin16s_gen::@6
|
||||
[66] (byte) sin16s_gen::isUpper#10 ← phi( sin16s_gen::@1/(byte/signed byte/word/signed word/dword/signed dword) 0 sin16s_gen::@6/(byte/signed byte/word/signed word/dword/signed dword) 1 ) [ sin16s_gen::step#0 sin16s_gen::x#10 sin16s_gen::sintab#10 sin16s_gen::i#10 sin16s_gen::x1#3 sin16s_gen::isUpper#10 ] ( main:2::sin16s_gen:5 [ sin16s_gen::step#0 sin16s_gen::x#10 sin16s_gen::sintab#10 sin16s_gen::i#10 sin16s_gen::x1#3 sin16s_gen::isUpper#10 ] )
|
||||
[66] (word) sin16s_gen::x1#3 ← phi( sin16s_gen::@1/(word) sin16s_gen::x1#0 sin16s_gen::@6/(word) sin16s_gen::x1#1 ) [ sin16s_gen::step#0 sin16s_gen::x#10 sin16s_gen::sintab#10 sin16s_gen::i#10 sin16s_gen::x1#3 sin16s_gen::isUpper#10 ] ( main:2::sin16s_gen:5 [ sin16s_gen::step#0 sin16s_gen::x#10 sin16s_gen::sintab#10 sin16s_gen::i#10 sin16s_gen::x1#3 sin16s_gen::isUpper#10 ] )
|
||||
[67] if((word) sin16s_gen::x1#3<(const word) PI_HALF_u4f12#0) goto sin16s_gen::@3 [ sin16s_gen::step#0 sin16s_gen::x#10 sin16s_gen::sintab#10 sin16s_gen::i#10 sin16s_gen::x1#3 sin16s_gen::isUpper#10 ] ( main:2::sin16s_gen:5 [ sin16s_gen::step#0 sin16s_gen::x#10 sin16s_gen::sintab#10 sin16s_gen::i#10 sin16s_gen::x1#3 sin16s_gen::isUpper#10 ] )
|
||||
to:sin16s_gen::@6
|
||||
sin16s_gen::@6: scope:[sin16s_gen] from sin16s_gen::@2
|
||||
to:sin16s_gen::@7
|
||||
sin16s_gen::@7: scope:[sin16s_gen] from sin16s_gen::@2
|
||||
[68] (word) sin16s_gen::x1#2 ← (const word) PI_u4f12#0 - (word) sin16s_gen::x1#3 [ sin16s_gen::step#0 sin16s_gen::x#10 sin16s_gen::sintab#10 sin16s_gen::i#10 sin16s_gen::isUpper#10 sin16s_gen::x1#2 ] ( main:2::sin16s_gen:5 [ sin16s_gen::step#0 sin16s_gen::x#10 sin16s_gen::sintab#10 sin16s_gen::i#10 sin16s_gen::isUpper#10 sin16s_gen::x1#2 ] )
|
||||
to:sin16s_gen::@3
|
||||
sin16s_gen::@3: scope:[sin16s_gen] from sin16s_gen::@2 sin16s_gen::@6
|
||||
[69] (word) sin16s_gen::x1#10 ← phi( sin16s_gen::@2/(word) sin16s_gen::x1#3 sin16s_gen::@6/(word) sin16s_gen::x1#2 ) [ sin16s_gen::step#0 sin16s_gen::x#10 sin16s_gen::sintab#10 sin16s_gen::i#10 sin16s_gen::isUpper#10 sin16s_gen::x1#10 ] ( main:2::sin16s_gen:5 [ sin16s_gen::step#0 sin16s_gen::x#10 sin16s_gen::sintab#10 sin16s_gen::i#10 sin16s_gen::isUpper#10 sin16s_gen::x1#10 ] )
|
||||
sin16s_gen::@3: scope:[sin16s_gen] from sin16s_gen::@2 sin16s_gen::@7
|
||||
[69] (word) sin16s_gen::x1#10 ← phi( sin16s_gen::@2/(word) sin16s_gen::x1#3 sin16s_gen::@7/(word) sin16s_gen::x1#2 ) [ sin16s_gen::step#0 sin16s_gen::x#10 sin16s_gen::sintab#10 sin16s_gen::i#10 sin16s_gen::isUpper#10 sin16s_gen::x1#10 ] ( main:2::sin16s_gen:5 [ sin16s_gen::step#0 sin16s_gen::x#10 sin16s_gen::sintab#10 sin16s_gen::i#10 sin16s_gen::isUpper#10 sin16s_gen::x1#10 ] )
|
||||
[70] (word) mul_u4f12::v1#0 ← (word) sin16s_gen::x1#10 [ sin16s_gen::step#0 sin16s_gen::x#10 sin16s_gen::sintab#10 sin16s_gen::i#10 sin16s_gen::isUpper#10 sin16s_gen::x1#10 mul_u4f12::v1#0 ] ( main:2::sin16s_gen:5 [ sin16s_gen::step#0 sin16s_gen::x#10 sin16s_gen::sintab#10 sin16s_gen::i#10 sin16s_gen::isUpper#10 sin16s_gen::x1#10 mul_u4f12::v1#0 ] )
|
||||
[71] (word) mul_u4f12::v2#0 ← (word) sin16s_gen::x1#10 [ sin16s_gen::step#0 sin16s_gen::x#10 sin16s_gen::sintab#10 sin16s_gen::i#10 sin16s_gen::isUpper#10 sin16s_gen::x1#10 mul_u4f12::v1#0 mul_u4f12::v2#0 ] ( main:2::sin16s_gen:5 [ sin16s_gen::step#0 sin16s_gen::x#10 sin16s_gen::sintab#10 sin16s_gen::i#10 sin16s_gen::isUpper#10 sin16s_gen::x1#10 mul_u4f12::v1#0 mul_u4f12::v2#0 ] )
|
||||
[72] call mul_u4f12 param-assignment [ sin16s_gen::step#0 sin16s_gen::x#10 sin16s_gen::sintab#10 sin16s_gen::i#10 sin16s_gen::isUpper#10 sin16s_gen::x1#10 mul_u4f12::return#10 ] ( main:2::sin16s_gen:5 [ sin16s_gen::step#0 sin16s_gen::x#10 sin16s_gen::sintab#10 sin16s_gen::i#10 sin16s_gen::isUpper#10 sin16s_gen::x1#10 mul_u4f12::return#10 ] )
|
||||
[73] (word) mul_u4f12::return#0 ← (word) mul_u4f12::return#10 [ sin16s_gen::step#0 sin16s_gen::x#10 sin16s_gen::sintab#10 sin16s_gen::i#10 sin16s_gen::isUpper#10 sin16s_gen::x1#10 mul_u4f12::return#0 ] ( main:2::sin16s_gen:5 [ sin16s_gen::step#0 sin16s_gen::x#10 sin16s_gen::sintab#10 sin16s_gen::i#10 sin16s_gen::isUpper#10 sin16s_gen::x1#10 mul_u4f12::return#0 ] )
|
||||
to:sin16s_gen::@11
|
||||
sin16s_gen::@11: scope:[sin16s_gen] from sin16s_gen::@3
|
||||
to:sin16s_gen::@13
|
||||
sin16s_gen::@13: scope:[sin16s_gen] from sin16s_gen::@3
|
||||
[74] (word) sin16s_gen::x2#0 ← (word) mul_u4f12::return#0 [ sin16s_gen::step#0 sin16s_gen::x#10 sin16s_gen::sintab#10 sin16s_gen::i#10 sin16s_gen::isUpper#10 sin16s_gen::x1#10 sin16s_gen::x2#0 ] ( main:2::sin16s_gen:5 [ sin16s_gen::step#0 sin16s_gen::x#10 sin16s_gen::sintab#10 sin16s_gen::i#10 sin16s_gen::isUpper#10 sin16s_gen::x1#10 sin16s_gen::x2#0 ] )
|
||||
[75] (word) mul_u4f12::v1#1 ← (word) sin16s_gen::x2#0 [ sin16s_gen::step#0 sin16s_gen::x#10 sin16s_gen::sintab#10 sin16s_gen::i#10 sin16s_gen::isUpper#10 sin16s_gen::x1#10 mul_u4f12::v1#1 ] ( main:2::sin16s_gen:5 [ sin16s_gen::step#0 sin16s_gen::x#10 sin16s_gen::sintab#10 sin16s_gen::i#10 sin16s_gen::isUpper#10 sin16s_gen::x1#10 mul_u4f12::v1#1 ] )
|
||||
[76] (word) mul_u4f12::v2#1 ← (word) sin16s_gen::x1#10 [ sin16s_gen::step#0 sin16s_gen::x#10 sin16s_gen::sintab#10 sin16s_gen::i#10 sin16s_gen::isUpper#10 sin16s_gen::x1#10 mul_u4f12::v1#1 mul_u4f12::v2#1 ] ( main:2::sin16s_gen:5 [ sin16s_gen::step#0 sin16s_gen::x#10 sin16s_gen::sintab#10 sin16s_gen::i#10 sin16s_gen::isUpper#10 sin16s_gen::x1#10 mul_u4f12::v1#1 mul_u4f12::v2#1 ] )
|
||||
[77] call mul_u4f12 param-assignment [ sin16s_gen::step#0 sin16s_gen::x#10 sin16s_gen::sintab#10 sin16s_gen::i#10 sin16s_gen::isUpper#10 sin16s_gen::x1#10 mul_u4f12::return#10 ] ( main:2::sin16s_gen:5 [ sin16s_gen::step#0 sin16s_gen::x#10 sin16s_gen::sintab#10 sin16s_gen::i#10 sin16s_gen::isUpper#10 sin16s_gen::x1#10 mul_u4f12::return#10 ] )
|
||||
[78] (word) mul_u4f12::return#1 ← (word) mul_u4f12::return#10 [ sin16s_gen::step#0 sin16s_gen::x#10 sin16s_gen::sintab#10 sin16s_gen::i#10 sin16s_gen::isUpper#10 sin16s_gen::x1#10 mul_u4f12::return#1 ] ( main:2::sin16s_gen:5 [ sin16s_gen::step#0 sin16s_gen::x#10 sin16s_gen::sintab#10 sin16s_gen::i#10 sin16s_gen::isUpper#10 sin16s_gen::x1#10 mul_u4f12::return#1 ] )
|
||||
to:sin16s_gen::@12
|
||||
sin16s_gen::@12: scope:[sin16s_gen] from sin16s_gen::@11
|
||||
to:sin16s_gen::@14
|
||||
sin16s_gen::@14: scope:[sin16s_gen] from sin16s_gen::@13
|
||||
[79] (word) sin16s_gen::x3#0 ← (word) mul_u4f12::return#1 [ sin16s_gen::step#0 sin16s_gen::x#10 sin16s_gen::sintab#10 sin16s_gen::i#10 sin16s_gen::isUpper#10 sin16s_gen::x1#10 sin16s_gen::x3#0 ] ( main:2::sin16s_gen:5 [ sin16s_gen::step#0 sin16s_gen::x#10 sin16s_gen::sintab#10 sin16s_gen::i#10 sin16s_gen::isUpper#10 sin16s_gen::x1#10 sin16s_gen::x3#0 ] )
|
||||
[80] (word) mul16u::a#1 ← (word) sin16s_gen::x3#0 [ sin16s_gen::step#0 sin16s_gen::x#10 sin16s_gen::sintab#10 sin16s_gen::i#10 sin16s_gen::isUpper#10 sin16s_gen::x1#10 sin16s_gen::x3#0 mul16u::a#1 ] ( main:2::sin16s_gen:5 [ sin16s_gen::step#0 sin16s_gen::x#10 sin16s_gen::sintab#10 sin16s_gen::i#10 sin16s_gen::isUpper#10 sin16s_gen::x1#10 sin16s_gen::x3#0 mul16u::a#1 ] )
|
||||
[81] call mul16u param-assignment [ sin16s_gen::step#0 sin16s_gen::x#10 sin16s_gen::sintab#10 sin16s_gen::i#10 sin16s_gen::isUpper#10 sin16s_gen::x1#10 sin16s_gen::x3#0 mul16u::res#2 ] ( main:2::sin16s_gen:5 [ sin16s_gen::step#0 sin16s_gen::x#10 sin16s_gen::sintab#10 sin16s_gen::i#10 sin16s_gen::isUpper#10 sin16s_gen::x1#10 sin16s_gen::x3#0 mul16u::res#2 ] )
|
||||
[82] (dword) mul16u::return#2 ← (dword) mul16u::res#2 [ sin16s_gen::step#0 sin16s_gen::x#10 sin16s_gen::sintab#10 sin16s_gen::i#10 sin16s_gen::isUpper#10 sin16s_gen::x1#10 sin16s_gen::x3#0 mul16u::return#2 ] ( main:2::sin16s_gen:5 [ sin16s_gen::step#0 sin16s_gen::x#10 sin16s_gen::sintab#10 sin16s_gen::i#10 sin16s_gen::isUpper#10 sin16s_gen::x1#10 sin16s_gen::x3#0 mul16u::return#2 ] )
|
||||
to:sin16s_gen::@13
|
||||
sin16s_gen::@13: scope:[sin16s_gen] from sin16s_gen::@12
|
||||
[83] (dword~) sin16s_gen::$13 ← (dword) mul16u::return#2 [ sin16s_gen::step#0 sin16s_gen::x#10 sin16s_gen::sintab#10 sin16s_gen::i#10 sin16s_gen::isUpper#10 sin16s_gen::x1#10 sin16s_gen::x3#0 sin16s_gen::$13 ] ( main:2::sin16s_gen:5 [ sin16s_gen::step#0 sin16s_gen::x#10 sin16s_gen::sintab#10 sin16s_gen::i#10 sin16s_gen::isUpper#10 sin16s_gen::x1#10 sin16s_gen::x3#0 sin16s_gen::$13 ] )
|
||||
[84] (word) sin16s_gen::x3_6#0 ← > (dword~) sin16s_gen::$13 [ sin16s_gen::step#0 sin16s_gen::x#10 sin16s_gen::sintab#10 sin16s_gen::i#10 sin16s_gen::isUpper#10 sin16s_gen::x1#10 sin16s_gen::x3#0 sin16s_gen::x3_6#0 ] ( main:2::sin16s_gen:5 [ sin16s_gen::step#0 sin16s_gen::x#10 sin16s_gen::sintab#10 sin16s_gen::i#10 sin16s_gen::isUpper#10 sin16s_gen::x1#10 sin16s_gen::x3#0 sin16s_gen::x3_6#0 ] )
|
||||
to:sin16s_gen::@15
|
||||
sin16s_gen::@15: scope:[sin16s_gen] from sin16s_gen::@14
|
||||
[83] (dword~) sin16s_gen::$14 ← (dword) mul16u::return#2 [ sin16s_gen::step#0 sin16s_gen::x#10 sin16s_gen::sintab#10 sin16s_gen::i#10 sin16s_gen::isUpper#10 sin16s_gen::x1#10 sin16s_gen::x3#0 sin16s_gen::$14 ] ( main:2::sin16s_gen:5 [ sin16s_gen::step#0 sin16s_gen::x#10 sin16s_gen::sintab#10 sin16s_gen::i#10 sin16s_gen::isUpper#10 sin16s_gen::x1#10 sin16s_gen::x3#0 sin16s_gen::$14 ] )
|
||||
[84] (word) sin16s_gen::x3_6#0 ← > (dword~) sin16s_gen::$14 [ sin16s_gen::step#0 sin16s_gen::x#10 sin16s_gen::sintab#10 sin16s_gen::i#10 sin16s_gen::isUpper#10 sin16s_gen::x1#10 sin16s_gen::x3#0 sin16s_gen::x3_6#0 ] ( main:2::sin16s_gen:5 [ sin16s_gen::step#0 sin16s_gen::x#10 sin16s_gen::sintab#10 sin16s_gen::i#10 sin16s_gen::isUpper#10 sin16s_gen::x1#10 sin16s_gen::x3#0 sin16s_gen::x3_6#0 ] )
|
||||
[85] (word) sin16s_gen::usinx#0 ← (word) sin16s_gen::x1#10 - (word) sin16s_gen::x3_6#0 [ sin16s_gen::step#0 sin16s_gen::x#10 sin16s_gen::sintab#10 sin16s_gen::i#10 sin16s_gen::isUpper#10 sin16s_gen::x1#10 sin16s_gen::x3#0 sin16s_gen::usinx#0 ] ( main:2::sin16s_gen:5 [ sin16s_gen::step#0 sin16s_gen::x#10 sin16s_gen::sintab#10 sin16s_gen::i#10 sin16s_gen::isUpper#10 sin16s_gen::x1#10 sin16s_gen::x3#0 sin16s_gen::usinx#0 ] )
|
||||
[86] (word) mul_u4f12::v1#2 ← (word) sin16s_gen::x3#0 [ sin16s_gen::step#0 sin16s_gen::x#10 sin16s_gen::sintab#10 sin16s_gen::i#10 sin16s_gen::isUpper#10 sin16s_gen::x1#10 sin16s_gen::usinx#0 mul_u4f12::v1#2 ] ( main:2::sin16s_gen:5 [ sin16s_gen::step#0 sin16s_gen::x#10 sin16s_gen::sintab#10 sin16s_gen::i#10 sin16s_gen::isUpper#10 sin16s_gen::x1#10 sin16s_gen::usinx#0 mul_u4f12::v1#2 ] )
|
||||
[87] (word) mul_u4f12::v2#2 ← (word) sin16s_gen::x1#10 [ sin16s_gen::step#0 sin16s_gen::x#10 sin16s_gen::sintab#10 sin16s_gen::i#10 sin16s_gen::isUpper#10 sin16s_gen::x1#10 sin16s_gen::usinx#0 mul_u4f12::v1#2 mul_u4f12::v2#2 ] ( main:2::sin16s_gen:5 [ sin16s_gen::step#0 sin16s_gen::x#10 sin16s_gen::sintab#10 sin16s_gen::i#10 sin16s_gen::isUpper#10 sin16s_gen::x1#10 sin16s_gen::usinx#0 mul_u4f12::v1#2 mul_u4f12::v2#2 ] )
|
||||
[88] call mul_u4f12 param-assignment [ sin16s_gen::step#0 sin16s_gen::x#10 sin16s_gen::sintab#10 sin16s_gen::i#10 sin16s_gen::isUpper#10 sin16s_gen::x1#10 mul_u4f12::return#10 sin16s_gen::usinx#0 ] ( main:2::sin16s_gen:5 [ sin16s_gen::step#0 sin16s_gen::x#10 sin16s_gen::sintab#10 sin16s_gen::i#10 sin16s_gen::isUpper#10 sin16s_gen::x1#10 mul_u4f12::return#10 sin16s_gen::usinx#0 ] )
|
||||
[89] (word) mul_u4f12::return#2 ← (word) mul_u4f12::return#10 [ sin16s_gen::step#0 sin16s_gen::x#10 sin16s_gen::sintab#10 sin16s_gen::i#10 sin16s_gen::isUpper#10 sin16s_gen::x1#10 sin16s_gen::usinx#0 mul_u4f12::return#2 ] ( main:2::sin16s_gen:5 [ sin16s_gen::step#0 sin16s_gen::x#10 sin16s_gen::sintab#10 sin16s_gen::i#10 sin16s_gen::isUpper#10 sin16s_gen::x1#10 sin16s_gen::usinx#0 mul_u4f12::return#2 ] )
|
||||
to:sin16s_gen::@14
|
||||
sin16s_gen::@14: scope:[sin16s_gen] from sin16s_gen::@13
|
||||
to:sin16s_gen::@16
|
||||
sin16s_gen::@16: scope:[sin16s_gen] from sin16s_gen::@15
|
||||
[90] (word) sin16s_gen::x4#0 ← (word) mul_u4f12::return#2 [ sin16s_gen::step#0 sin16s_gen::x#10 sin16s_gen::sintab#10 sin16s_gen::i#10 sin16s_gen::isUpper#10 sin16s_gen::x1#10 sin16s_gen::usinx#0 sin16s_gen::x4#0 ] ( main:2::sin16s_gen:5 [ sin16s_gen::step#0 sin16s_gen::x#10 sin16s_gen::sintab#10 sin16s_gen::i#10 sin16s_gen::isUpper#10 sin16s_gen::x1#10 sin16s_gen::usinx#0 sin16s_gen::x4#0 ] )
|
||||
[91] (word) mul_u4f12::v1#3 ← (word) sin16s_gen::x4#0 [ sin16s_gen::step#0 sin16s_gen::x#10 sin16s_gen::sintab#10 sin16s_gen::i#10 sin16s_gen::isUpper#10 sin16s_gen::x1#10 sin16s_gen::usinx#0 mul_u4f12::v1#3 ] ( main:2::sin16s_gen:5 [ sin16s_gen::step#0 sin16s_gen::x#10 sin16s_gen::sintab#10 sin16s_gen::i#10 sin16s_gen::isUpper#10 sin16s_gen::x1#10 sin16s_gen::usinx#0 mul_u4f12::v1#3 ] )
|
||||
[92] (word) mul_u4f12::v2#3 ← (word) sin16s_gen::x1#10 [ sin16s_gen::step#0 sin16s_gen::x#10 sin16s_gen::sintab#10 sin16s_gen::i#10 sin16s_gen::isUpper#10 sin16s_gen::usinx#0 mul_u4f12::v1#3 mul_u4f12::v2#3 ] ( main:2::sin16s_gen:5 [ sin16s_gen::step#0 sin16s_gen::x#10 sin16s_gen::sintab#10 sin16s_gen::i#10 sin16s_gen::isUpper#10 sin16s_gen::usinx#0 mul_u4f12::v1#3 mul_u4f12::v2#3 ] )
|
||||
[93] call mul_u4f12 param-assignment [ sin16s_gen::step#0 sin16s_gen::x#10 sin16s_gen::sintab#10 sin16s_gen::i#10 sin16s_gen::isUpper#10 mul_u4f12::return#10 sin16s_gen::usinx#0 ] ( main:2::sin16s_gen:5 [ sin16s_gen::step#0 sin16s_gen::x#10 sin16s_gen::sintab#10 sin16s_gen::i#10 sin16s_gen::isUpper#10 mul_u4f12::return#10 sin16s_gen::usinx#0 ] )
|
||||
[94] (word) mul_u4f12::return#3 ← (word) mul_u4f12::return#10 [ sin16s_gen::step#0 sin16s_gen::x#10 sin16s_gen::sintab#10 sin16s_gen::i#10 sin16s_gen::isUpper#10 sin16s_gen::usinx#0 mul_u4f12::return#3 ] ( main:2::sin16s_gen:5 [ sin16s_gen::step#0 sin16s_gen::x#10 sin16s_gen::sintab#10 sin16s_gen::i#10 sin16s_gen::isUpper#10 sin16s_gen::usinx#0 mul_u4f12::return#3 ] )
|
||||
to:sin16s_gen::@15
|
||||
sin16s_gen::@15: scope:[sin16s_gen] from sin16s_gen::@14
|
||||
to:sin16s_gen::@17
|
||||
sin16s_gen::@17: scope:[sin16s_gen] from sin16s_gen::@16
|
||||
[95] (word) sin16s_gen::x5#0 ← (word) mul_u4f12::return#3 [ sin16s_gen::step#0 sin16s_gen::x#10 sin16s_gen::sintab#10 sin16s_gen::i#10 sin16s_gen::isUpper#10 sin16s_gen::usinx#0 sin16s_gen::x5#0 ] ( main:2::sin16s_gen:5 [ sin16s_gen::step#0 sin16s_gen::x#10 sin16s_gen::sintab#10 sin16s_gen::i#10 sin16s_gen::isUpper#10 sin16s_gen::usinx#0 sin16s_gen::x5#0 ] )
|
||||
[96] (word) mul16u::a#2 ← (word) sin16s_gen::x5#0 [ sin16s_gen::step#0 sin16s_gen::x#10 sin16s_gen::sintab#10 sin16s_gen::i#10 sin16s_gen::isUpper#10 sin16s_gen::usinx#0 mul16u::a#2 ] ( main:2::sin16s_gen:5 [ sin16s_gen::step#0 sin16s_gen::x#10 sin16s_gen::sintab#10 sin16s_gen::i#10 sin16s_gen::isUpper#10 sin16s_gen::usinx#0 mul16u::a#2 ] )
|
||||
[97] call mul16u param-assignment [ sin16s_gen::step#0 sin16s_gen::x#10 sin16s_gen::sintab#10 sin16s_gen::i#10 sin16s_gen::isUpper#10 mul16u::res#2 sin16s_gen::usinx#0 ] ( main:2::sin16s_gen:5 [ sin16s_gen::step#0 sin16s_gen::x#10 sin16s_gen::sintab#10 sin16s_gen::i#10 sin16s_gen::isUpper#10 mul16u::res#2 sin16s_gen::usinx#0 ] )
|
||||
[98] (dword) mul16u::return#3 ← (dword) mul16u::res#2 [ sin16s_gen::step#0 sin16s_gen::x#10 sin16s_gen::sintab#10 sin16s_gen::i#10 sin16s_gen::isUpper#10 sin16s_gen::usinx#0 mul16u::return#3 ] ( main:2::sin16s_gen:5 [ sin16s_gen::step#0 sin16s_gen::x#10 sin16s_gen::sintab#10 sin16s_gen::i#10 sin16s_gen::isUpper#10 sin16s_gen::usinx#0 mul16u::return#3 ] )
|
||||
to:sin16s_gen::@16
|
||||
sin16s_gen::@16: scope:[sin16s_gen] from sin16s_gen::@15
|
||||
[99] (dword~) sin16s_gen::$18 ← (dword) mul16u::return#3 [ sin16s_gen::step#0 sin16s_gen::x#10 sin16s_gen::sintab#10 sin16s_gen::i#10 sin16s_gen::isUpper#10 sin16s_gen::usinx#0 sin16s_gen::$18 ] ( main:2::sin16s_gen:5 [ sin16s_gen::step#0 sin16s_gen::x#10 sin16s_gen::sintab#10 sin16s_gen::i#10 sin16s_gen::isUpper#10 sin16s_gen::usinx#0 sin16s_gen::$18 ] )
|
||||
[100] (word) sin16s_gen::x5_128#0 ← > (dword~) sin16s_gen::$18 [ sin16s_gen::step#0 sin16s_gen::x#10 sin16s_gen::sintab#10 sin16s_gen::i#10 sin16s_gen::isUpper#10 sin16s_gen::usinx#0 sin16s_gen::x5_128#0 ] ( main:2::sin16s_gen:5 [ sin16s_gen::step#0 sin16s_gen::x#10 sin16s_gen::sintab#10 sin16s_gen::i#10 sin16s_gen::isUpper#10 sin16s_gen::usinx#0 sin16s_gen::x5_128#0 ] )
|
||||
to:sin16s_gen::@18
|
||||
sin16s_gen::@18: scope:[sin16s_gen] from sin16s_gen::@17
|
||||
[99] (dword~) sin16s_gen::$20 ← (dword) mul16u::return#3 [ sin16s_gen::step#0 sin16s_gen::x#10 sin16s_gen::sintab#10 sin16s_gen::i#10 sin16s_gen::isUpper#10 sin16s_gen::usinx#0 sin16s_gen::$20 ] ( main:2::sin16s_gen:5 [ sin16s_gen::step#0 sin16s_gen::x#10 sin16s_gen::sintab#10 sin16s_gen::i#10 sin16s_gen::isUpper#10 sin16s_gen::usinx#0 sin16s_gen::$20 ] )
|
||||
[100] (word) sin16s_gen::x5_128#0 ← > (dword~) sin16s_gen::$20 [ sin16s_gen::step#0 sin16s_gen::x#10 sin16s_gen::sintab#10 sin16s_gen::i#10 sin16s_gen::isUpper#10 sin16s_gen::usinx#0 sin16s_gen::x5_128#0 ] ( main:2::sin16s_gen:5 [ sin16s_gen::step#0 sin16s_gen::x#10 sin16s_gen::sintab#10 sin16s_gen::i#10 sin16s_gen::isUpper#10 sin16s_gen::usinx#0 sin16s_gen::x5_128#0 ] )
|
||||
[101] (word) sin16s_gen::usinx#1 ← (word) sin16s_gen::usinx#0 + (word) sin16s_gen::x5_128#0 [ sin16s_gen::step#0 sin16s_gen::x#10 sin16s_gen::sintab#10 sin16s_gen::i#10 sin16s_gen::isUpper#10 sin16s_gen::usinx#1 ] ( main:2::sin16s_gen:5 [ sin16s_gen::step#0 sin16s_gen::x#10 sin16s_gen::sintab#10 sin16s_gen::i#10 sin16s_gen::isUpper#10 sin16s_gen::usinx#1 ] )
|
||||
[102] if((byte) sin16s_gen::isUpper#10==(byte/signed byte/word/signed word/dword/signed dword) 0) goto sin16s_gen::@20 [ sin16s_gen::step#0 sin16s_gen::x#10 sin16s_gen::sintab#10 sin16s_gen::i#10 sin16s_gen::usinx#1 ] ( main:2::sin16s_gen:5 [ sin16s_gen::step#0 sin16s_gen::x#10 sin16s_gen::sintab#10 sin16s_gen::i#10 sin16s_gen::usinx#1 ] )
|
||||
to:sin16s_gen::@7
|
||||
sin16s_gen::@7: scope:[sin16s_gen] from sin16s_gen::@16
|
||||
[102] if((byte) sin16s_gen::isUpper#10==(byte/signed byte/word/signed word/dword/signed dword) 0) goto sin16s_gen::@22 [ sin16s_gen::step#0 sin16s_gen::x#10 sin16s_gen::sintab#10 sin16s_gen::i#10 sin16s_gen::usinx#1 ] ( main:2::sin16s_gen:5 [ sin16s_gen::step#0 sin16s_gen::x#10 sin16s_gen::sintab#10 sin16s_gen::i#10 sin16s_gen::usinx#1 ] )
|
||||
to:sin16s_gen::@8
|
||||
sin16s_gen::@8: scope:[sin16s_gen] from sin16s_gen::@18
|
||||
[103] (signed word) sin16s_gen::sinx#1 ← - (signed word)(word) sin16s_gen::usinx#1 [ sin16s_gen::step#0 sin16s_gen::x#10 sin16s_gen::sintab#10 sin16s_gen::i#10 sin16s_gen::sinx#1 ] ( main:2::sin16s_gen:5 [ sin16s_gen::step#0 sin16s_gen::x#10 sin16s_gen::sintab#10 sin16s_gen::i#10 sin16s_gen::sinx#1 ] )
|
||||
to:sin16s_gen::@4
|
||||
sin16s_gen::@4: scope:[sin16s_gen] from sin16s_gen::@20 sin16s_gen::@7
|
||||
[104] (signed word) sin16s_gen::sinx#2 ← phi( sin16s_gen::@20/(signed word~) sin16s_gen::sinx#4 sin16s_gen::@7/(signed word) sin16s_gen::sinx#1 ) [ sin16s_gen::step#0 sin16s_gen::x#10 sin16s_gen::sintab#10 sin16s_gen::i#10 sin16s_gen::sinx#2 ] ( main:2::sin16s_gen:5 [ sin16s_gen::step#0 sin16s_gen::x#10 sin16s_gen::sintab#10 sin16s_gen::i#10 sin16s_gen::sinx#2 ] )
|
||||
to:sin16s_gen::@5
|
||||
sin16s_gen::@5: scope:[sin16s_gen] from sin16s_gen::@22 sin16s_gen::@8
|
||||
[104] (signed word) sin16s_gen::sinx#2 ← phi( sin16s_gen::@22/(signed word~) sin16s_gen::sinx#3 sin16s_gen::@8/(signed word) sin16s_gen::sinx#1 ) [ sin16s_gen::step#0 sin16s_gen::x#10 sin16s_gen::sintab#10 sin16s_gen::i#10 sin16s_gen::sinx#2 ] ( main:2::sin16s_gen:5 [ sin16s_gen::step#0 sin16s_gen::x#10 sin16s_gen::sintab#10 sin16s_gen::i#10 sin16s_gen::sinx#2 ] )
|
||||
[105] *((signed word*) sin16s_gen::sintab#10) ← (signed word) sin16s_gen::sinx#2 [ sin16s_gen::step#0 sin16s_gen::x#10 sin16s_gen::sintab#10 sin16s_gen::i#10 ] ( main:2::sin16s_gen:5 [ sin16s_gen::step#0 sin16s_gen::x#10 sin16s_gen::sintab#10 sin16s_gen::i#10 ] )
|
||||
[106] (signed word*) sin16s_gen::sintab#1 ← (signed word*) sin16s_gen::sintab#10 + (byte/signed byte/word/signed word/dword/signed dword) 2 [ sin16s_gen::step#0 sin16s_gen::x#10 sin16s_gen::i#10 sin16s_gen::sintab#1 ] ( main:2::sin16s_gen:5 [ sin16s_gen::step#0 sin16s_gen::x#10 sin16s_gen::i#10 sin16s_gen::sintab#1 ] )
|
||||
[107] (dword) sin16s_gen::x#1 ← (dword) sin16s_gen::x#10 + (dword) sin16s_gen::step#0 [ sin16s_gen::step#0 sin16s_gen::i#10 sin16s_gen::x#1 sin16s_gen::sintab#1 ] ( main:2::sin16s_gen:5 [ sin16s_gen::step#0 sin16s_gen::i#10 sin16s_gen::x#1 sin16s_gen::sintab#1 ] )
|
||||
[108] (word) sin16s_gen::i#1 ← ++ (word) sin16s_gen::i#10 [ sin16s_gen::step#0 sin16s_gen::x#1 sin16s_gen::sintab#1 sin16s_gen::i#1 ] ( main:2::sin16s_gen:5 [ sin16s_gen::step#0 sin16s_gen::x#1 sin16s_gen::sintab#1 sin16s_gen::i#1 ] )
|
||||
[109] if((word) sin16s_gen::i#1<(const word) main::wavelength#0) goto sin16s_gen::@1 [ sin16s_gen::step#0 sin16s_gen::x#1 sin16s_gen::sintab#1 sin16s_gen::i#1 ] ( main:2::sin16s_gen:5 [ sin16s_gen::step#0 sin16s_gen::x#1 sin16s_gen::sintab#1 sin16s_gen::i#1 ] )
|
||||
to:sin16s_gen::@return
|
||||
sin16s_gen::@return: scope:[sin16s_gen] from sin16s_gen::@4
|
||||
sin16s_gen::@return: scope:[sin16s_gen] from sin16s_gen::@5
|
||||
[110] return [ ] ( main:2::sin16s_gen:5 [ ] )
|
||||
to:@return
|
||||
sin16s_gen::@20: scope:[sin16s_gen] from sin16s_gen::@16
|
||||
[111] (signed word~) sin16s_gen::sinx#4 ← (signed word)(word) sin16s_gen::usinx#1 [ sin16s_gen::step#0 sin16s_gen::x#10 sin16s_gen::sintab#10 sin16s_gen::i#10 sin16s_gen::sinx#4 ] ( main:2::sin16s_gen:5 [ sin16s_gen::step#0 sin16s_gen::x#10 sin16s_gen::sintab#10 sin16s_gen::i#10 sin16s_gen::sinx#4 ] )
|
||||
to:sin16s_gen::@4
|
||||
mul16u: scope:[mul16u] from mul_u4f12 sin16s_gen::@12 sin16s_gen::@15
|
||||
[112] (word) mul16u::a#7 ← phi( mul_u4f12/(word) mul16u::a#3 sin16s_gen::@12/(word) mul16u::a#1 sin16s_gen::@15/(word) mul16u::a#2 ) [ mul16u::b#3 mul16u::a#7 ] ( main:2::sin16s_gen:5::mul16u:81 [ sin16s_gen::step#0 sin16s_gen::x#10 sin16s_gen::sintab#10 sin16s_gen::i#10 sin16s_gen::isUpper#10 sin16s_gen::x1#10 sin16s_gen::x3#0 mul16u::b#3 mul16u::a#7 ] main:2::sin16s_gen:5::mul16u:97 [ sin16s_gen::step#0 sin16s_gen::x#10 sin16s_gen::sintab#10 sin16s_gen::i#10 sin16s_gen::isUpper#10 sin16s_gen::usinx#0 mul16u::b#3 mul16u::a#7 ] main:2::sin16s_gen:5::mul_u4f12:72::mul16u:126 [ sin16s_gen::step#0 sin16s_gen::x#10 sin16s_gen::sintab#10 sin16s_gen::i#10 sin16s_gen::isUpper#10 sin16s_gen::x1#10 mul16u::b#3 mul16u::a#7 ] main:2::sin16s_gen:5::mul_u4f12:77::mul16u:126 [ sin16s_gen::step#0 sin16s_gen::x#10 sin16s_gen::sintab#10 sin16s_gen::i#10 sin16s_gen::isUpper#10 sin16s_gen::x1#10 mul16u::b#3 mul16u::a#7 ] main:2::sin16s_gen:5::mul_u4f12:88::mul16u:126 [ sin16s_gen::step#0 sin16s_gen::x#10 sin16s_gen::sintab#10 sin16s_gen::i#10 sin16s_gen::isUpper#10 sin16s_gen::x1#10 sin16s_gen::usinx#0 mul16u::b#3 mul16u::a#7 ] main:2::sin16s_gen:5::mul_u4f12:93::mul16u:126 [ sin16s_gen::step#0 sin16s_gen::x#10 sin16s_gen::sintab#10 sin16s_gen::i#10 sin16s_gen::isUpper#10 sin16s_gen::usinx#0 mul16u::b#3 mul16u::a#7 ] )
|
||||
[112] (word) mul16u::b#3 ← phi( mul_u4f12/(word) mul16u::b#2 sin16s_gen::@12/(const word) sin16s_gen::div6#0 sin16s_gen::@15/(const word) sin16s_gen::div128#0 ) [ mul16u::b#3 mul16u::a#7 ] ( main:2::sin16s_gen:5::mul16u:81 [ sin16s_gen::step#0 sin16s_gen::x#10 sin16s_gen::sintab#10 sin16s_gen::i#10 sin16s_gen::isUpper#10 sin16s_gen::x1#10 sin16s_gen::x3#0 mul16u::b#3 mul16u::a#7 ] main:2::sin16s_gen:5::mul16u:97 [ sin16s_gen::step#0 sin16s_gen::x#10 sin16s_gen::sintab#10 sin16s_gen::i#10 sin16s_gen::isUpper#10 sin16s_gen::usinx#0 mul16u::b#3 mul16u::a#7 ] main:2::sin16s_gen:5::mul_u4f12:72::mul16u:126 [ sin16s_gen::step#0 sin16s_gen::x#10 sin16s_gen::sintab#10 sin16s_gen::i#10 sin16s_gen::isUpper#10 sin16s_gen::x1#10 mul16u::b#3 mul16u::a#7 ] main:2::sin16s_gen:5::mul_u4f12:77::mul16u:126 [ sin16s_gen::step#0 sin16s_gen::x#10 sin16s_gen::sintab#10 sin16s_gen::i#10 sin16s_gen::isUpper#10 sin16s_gen::x1#10 mul16u::b#3 mul16u::a#7 ] main:2::sin16s_gen:5::mul_u4f12:88::mul16u:126 [ sin16s_gen::step#0 sin16s_gen::x#10 sin16s_gen::sintab#10 sin16s_gen::i#10 sin16s_gen::isUpper#10 sin16s_gen::x1#10 sin16s_gen::usinx#0 mul16u::b#3 mul16u::a#7 ] main:2::sin16s_gen:5::mul_u4f12:93::mul16u:126 [ sin16s_gen::step#0 sin16s_gen::x#10 sin16s_gen::sintab#10 sin16s_gen::i#10 sin16s_gen::isUpper#10 sin16s_gen::usinx#0 mul16u::b#3 mul16u::a#7 ] )
|
||||
sin16s_gen::@22: scope:[sin16s_gen] from sin16s_gen::@18
|
||||
[111] (signed word~) sin16s_gen::sinx#3 ← (signed word)(word) sin16s_gen::usinx#1 [ sin16s_gen::step#0 sin16s_gen::x#10 sin16s_gen::sintab#10 sin16s_gen::i#10 sin16s_gen::sinx#3 ] ( main:2::sin16s_gen:5 [ sin16s_gen::step#0 sin16s_gen::x#10 sin16s_gen::sintab#10 sin16s_gen::i#10 sin16s_gen::sinx#3 ] )
|
||||
to:sin16s_gen::@5
|
||||
mul16u: scope:[mul16u] from mul_u4f12 sin16s_gen::@14 sin16s_gen::@17
|
||||
[112] (word) mul16u::a#7 ← phi( mul_u4f12/(word) mul16u::a#3 sin16s_gen::@14/(word) mul16u::a#1 sin16s_gen::@17/(word) mul16u::a#2 ) [ mul16u::b#3 mul16u::a#7 ] ( main:2::sin16s_gen:5::mul16u:81 [ sin16s_gen::step#0 sin16s_gen::x#10 sin16s_gen::sintab#10 sin16s_gen::i#10 sin16s_gen::isUpper#10 sin16s_gen::x1#10 sin16s_gen::x3#0 mul16u::b#3 mul16u::a#7 ] main:2::sin16s_gen:5::mul16u:97 [ sin16s_gen::step#0 sin16s_gen::x#10 sin16s_gen::sintab#10 sin16s_gen::i#10 sin16s_gen::isUpper#10 sin16s_gen::usinx#0 mul16u::b#3 mul16u::a#7 ] main:2::sin16s_gen:5::mul_u4f12:72::mul16u:126 [ sin16s_gen::step#0 sin16s_gen::x#10 sin16s_gen::sintab#10 sin16s_gen::i#10 sin16s_gen::isUpper#10 sin16s_gen::x1#10 mul16u::b#3 mul16u::a#7 ] main:2::sin16s_gen:5::mul_u4f12:77::mul16u:126 [ sin16s_gen::step#0 sin16s_gen::x#10 sin16s_gen::sintab#10 sin16s_gen::i#10 sin16s_gen::isUpper#10 sin16s_gen::x1#10 mul16u::b#3 mul16u::a#7 ] main:2::sin16s_gen:5::mul_u4f12:88::mul16u:126 [ sin16s_gen::step#0 sin16s_gen::x#10 sin16s_gen::sintab#10 sin16s_gen::i#10 sin16s_gen::isUpper#10 sin16s_gen::x1#10 sin16s_gen::usinx#0 mul16u::b#3 mul16u::a#7 ] main:2::sin16s_gen:5::mul_u4f12:93::mul16u:126 [ sin16s_gen::step#0 sin16s_gen::x#10 sin16s_gen::sintab#10 sin16s_gen::i#10 sin16s_gen::isUpper#10 sin16s_gen::usinx#0 mul16u::b#3 mul16u::a#7 ] )
|
||||
[112] (word) mul16u::b#3 ← phi( mul_u4f12/(word) mul16u::b#2 sin16s_gen::@14/(dword/signed dword) 65536/(byte/signed byte/word/signed word/dword/signed dword) 6 sin16s_gen::@17/(dword/signed dword) 65536/(byte/word/signed word/dword/signed dword) 128 ) [ mul16u::b#3 mul16u::a#7 ] ( main:2::sin16s_gen:5::mul16u:81 [ sin16s_gen::step#0 sin16s_gen::x#10 sin16s_gen::sintab#10 sin16s_gen::i#10 sin16s_gen::isUpper#10 sin16s_gen::x1#10 sin16s_gen::x3#0 mul16u::b#3 mul16u::a#7 ] main:2::sin16s_gen:5::mul16u:97 [ sin16s_gen::step#0 sin16s_gen::x#10 sin16s_gen::sintab#10 sin16s_gen::i#10 sin16s_gen::isUpper#10 sin16s_gen::usinx#0 mul16u::b#3 mul16u::a#7 ] main:2::sin16s_gen:5::mul_u4f12:72::mul16u:126 [ sin16s_gen::step#0 sin16s_gen::x#10 sin16s_gen::sintab#10 sin16s_gen::i#10 sin16s_gen::isUpper#10 sin16s_gen::x1#10 mul16u::b#3 mul16u::a#7 ] main:2::sin16s_gen:5::mul_u4f12:77::mul16u:126 [ sin16s_gen::step#0 sin16s_gen::x#10 sin16s_gen::sintab#10 sin16s_gen::i#10 sin16s_gen::isUpper#10 sin16s_gen::x1#10 mul16u::b#3 mul16u::a#7 ] main:2::sin16s_gen:5::mul_u4f12:88::mul16u:126 [ sin16s_gen::step#0 sin16s_gen::x#10 sin16s_gen::sintab#10 sin16s_gen::i#10 sin16s_gen::isUpper#10 sin16s_gen::x1#10 sin16s_gen::usinx#0 mul16u::b#3 mul16u::a#7 ] main:2::sin16s_gen:5::mul_u4f12:93::mul16u:126 [ sin16s_gen::step#0 sin16s_gen::x#10 sin16s_gen::sintab#10 sin16s_gen::i#10 sin16s_gen::isUpper#10 sin16s_gen::usinx#0 mul16u::b#3 mul16u::a#7 ] )
|
||||
[113] (dword) mul16u::mb#0 ← ((dword)) (word) mul16u::b#3 [ mul16u::a#7 mul16u::mb#0 ] ( main:2::sin16s_gen:5::mul16u:81 [ sin16s_gen::step#0 sin16s_gen::x#10 sin16s_gen::sintab#10 sin16s_gen::i#10 sin16s_gen::isUpper#10 sin16s_gen::x1#10 sin16s_gen::x3#0 mul16u::a#7 mul16u::mb#0 ] main:2::sin16s_gen:5::mul16u:97 [ sin16s_gen::step#0 sin16s_gen::x#10 sin16s_gen::sintab#10 sin16s_gen::i#10 sin16s_gen::isUpper#10 sin16s_gen::usinx#0 mul16u::a#7 mul16u::mb#0 ] main:2::sin16s_gen:5::mul_u4f12:72::mul16u:126 [ sin16s_gen::step#0 sin16s_gen::x#10 sin16s_gen::sintab#10 sin16s_gen::i#10 sin16s_gen::isUpper#10 sin16s_gen::x1#10 mul16u::a#7 mul16u::mb#0 ] main:2::sin16s_gen:5::mul_u4f12:77::mul16u:126 [ sin16s_gen::step#0 sin16s_gen::x#10 sin16s_gen::sintab#10 sin16s_gen::i#10 sin16s_gen::isUpper#10 sin16s_gen::x1#10 mul16u::a#7 mul16u::mb#0 ] main:2::sin16s_gen:5::mul_u4f12:88::mul16u:126 [ sin16s_gen::step#0 sin16s_gen::x#10 sin16s_gen::sintab#10 sin16s_gen::i#10 sin16s_gen::isUpper#10 sin16s_gen::x1#10 sin16s_gen::usinx#0 mul16u::a#7 mul16u::mb#0 ] main:2::sin16s_gen:5::mul_u4f12:93::mul16u:126 [ sin16s_gen::step#0 sin16s_gen::x#10 sin16s_gen::sintab#10 sin16s_gen::i#10 sin16s_gen::isUpper#10 sin16s_gen::usinx#0 mul16u::a#7 mul16u::mb#0 ] )
|
||||
to:mul16u::@1
|
||||
mul16u::@1: scope:[mul16u] from mul16u mul16u::@4
|
||||
@ -237,9 +237,9 @@ mul16u::@4: scope:[mul16u] from mul16u::@2 mul16u::@7
|
||||
[121] (word) mul16u::a#0 ← (word) mul16u::a#4 >> (byte/signed byte/word/signed word/dword/signed dword) 1 [ mul16u::mb#2 mul16u::a#0 mul16u::res#6 ] ( main:2::sin16s_gen:5::mul16u:81 [ sin16s_gen::step#0 sin16s_gen::x#10 sin16s_gen::sintab#10 sin16s_gen::i#10 sin16s_gen::isUpper#10 sin16s_gen::x1#10 sin16s_gen::x3#0 mul16u::mb#2 mul16u::a#0 mul16u::res#6 ] main:2::sin16s_gen:5::mul16u:97 [ sin16s_gen::step#0 sin16s_gen::x#10 sin16s_gen::sintab#10 sin16s_gen::i#10 sin16s_gen::isUpper#10 sin16s_gen::usinx#0 mul16u::mb#2 mul16u::a#0 mul16u::res#6 ] main:2::sin16s_gen:5::mul_u4f12:72::mul16u:126 [ sin16s_gen::step#0 sin16s_gen::x#10 sin16s_gen::sintab#10 sin16s_gen::i#10 sin16s_gen::isUpper#10 sin16s_gen::x1#10 mul16u::mb#2 mul16u::a#0 mul16u::res#6 ] main:2::sin16s_gen:5::mul_u4f12:77::mul16u:126 [ sin16s_gen::step#0 sin16s_gen::x#10 sin16s_gen::sintab#10 sin16s_gen::i#10 sin16s_gen::isUpper#10 sin16s_gen::x1#10 mul16u::mb#2 mul16u::a#0 mul16u::res#6 ] main:2::sin16s_gen:5::mul_u4f12:88::mul16u:126 [ sin16s_gen::step#0 sin16s_gen::x#10 sin16s_gen::sintab#10 sin16s_gen::i#10 sin16s_gen::isUpper#10 sin16s_gen::x1#10 sin16s_gen::usinx#0 mul16u::mb#2 mul16u::a#0 mul16u::res#6 ] main:2::sin16s_gen:5::mul_u4f12:93::mul16u:126 [ sin16s_gen::step#0 sin16s_gen::x#10 sin16s_gen::sintab#10 sin16s_gen::i#10 sin16s_gen::isUpper#10 sin16s_gen::usinx#0 mul16u::mb#2 mul16u::a#0 mul16u::res#6 ] )
|
||||
[122] (dword) mul16u::mb#1 ← (dword) mul16u::mb#2 << (byte/signed byte/word/signed word/dword/signed dword) 1 [ mul16u::a#0 mul16u::res#6 mul16u::mb#1 ] ( main:2::sin16s_gen:5::mul16u:81 [ sin16s_gen::step#0 sin16s_gen::x#10 sin16s_gen::sintab#10 sin16s_gen::i#10 sin16s_gen::isUpper#10 sin16s_gen::x1#10 sin16s_gen::x3#0 mul16u::a#0 mul16u::res#6 mul16u::mb#1 ] main:2::sin16s_gen:5::mul16u:97 [ sin16s_gen::step#0 sin16s_gen::x#10 sin16s_gen::sintab#10 sin16s_gen::i#10 sin16s_gen::isUpper#10 sin16s_gen::usinx#0 mul16u::a#0 mul16u::res#6 mul16u::mb#1 ] main:2::sin16s_gen:5::mul_u4f12:72::mul16u:126 [ sin16s_gen::step#0 sin16s_gen::x#10 sin16s_gen::sintab#10 sin16s_gen::i#10 sin16s_gen::isUpper#10 sin16s_gen::x1#10 mul16u::a#0 mul16u::res#6 mul16u::mb#1 ] main:2::sin16s_gen:5::mul_u4f12:77::mul16u:126 [ sin16s_gen::step#0 sin16s_gen::x#10 sin16s_gen::sintab#10 sin16s_gen::i#10 sin16s_gen::isUpper#10 sin16s_gen::x1#10 mul16u::a#0 mul16u::res#6 mul16u::mb#1 ] main:2::sin16s_gen:5::mul_u4f12:88::mul16u:126 [ sin16s_gen::step#0 sin16s_gen::x#10 sin16s_gen::sintab#10 sin16s_gen::i#10 sin16s_gen::isUpper#10 sin16s_gen::x1#10 sin16s_gen::usinx#0 mul16u::a#0 mul16u::res#6 mul16u::mb#1 ] main:2::sin16s_gen:5::mul_u4f12:93::mul16u:126 [ sin16s_gen::step#0 sin16s_gen::x#10 sin16s_gen::sintab#10 sin16s_gen::i#10 sin16s_gen::isUpper#10 sin16s_gen::usinx#0 mul16u::a#0 mul16u::res#6 mul16u::mb#1 ] )
|
||||
to:mul16u::@1
|
||||
mul_u4f12: scope:[mul_u4f12] from sin16s_gen::@11 sin16s_gen::@13 sin16s_gen::@14 sin16s_gen::@3
|
||||
[123] (word) mul_u4f12::v2#4 ← phi( sin16s_gen::@11/(word) mul_u4f12::v2#1 sin16s_gen::@13/(word) mul_u4f12::v2#2 sin16s_gen::@14/(word) mul_u4f12::v2#3 sin16s_gen::@3/(word) mul_u4f12::v2#0 ) [ mul_u4f12::v1#4 mul_u4f12::v2#4 ] ( main:2::sin16s_gen:5::mul_u4f12:72 [ sin16s_gen::step#0 sin16s_gen::x#10 sin16s_gen::sintab#10 sin16s_gen::i#10 sin16s_gen::isUpper#10 sin16s_gen::x1#10 mul_u4f12::v1#4 mul_u4f12::v2#4 ] main:2::sin16s_gen:5::mul_u4f12:77 [ sin16s_gen::step#0 sin16s_gen::x#10 sin16s_gen::sintab#10 sin16s_gen::i#10 sin16s_gen::isUpper#10 sin16s_gen::x1#10 mul_u4f12::v1#4 mul_u4f12::v2#4 ] main:2::sin16s_gen:5::mul_u4f12:88 [ sin16s_gen::step#0 sin16s_gen::x#10 sin16s_gen::sintab#10 sin16s_gen::i#10 sin16s_gen::isUpper#10 sin16s_gen::x1#10 sin16s_gen::usinx#0 mul_u4f12::v1#4 mul_u4f12::v2#4 ] main:2::sin16s_gen:5::mul_u4f12:93 [ sin16s_gen::step#0 sin16s_gen::x#10 sin16s_gen::sintab#10 sin16s_gen::i#10 sin16s_gen::isUpper#10 sin16s_gen::usinx#0 mul_u4f12::v1#4 mul_u4f12::v2#4 ] )
|
||||
[123] (word) mul_u4f12::v1#4 ← phi( sin16s_gen::@11/(word) mul_u4f12::v1#1 sin16s_gen::@13/(word) mul_u4f12::v1#2 sin16s_gen::@14/(word) mul_u4f12::v1#3 sin16s_gen::@3/(word) mul_u4f12::v1#0 ) [ mul_u4f12::v1#4 mul_u4f12::v2#4 ] ( main:2::sin16s_gen:5::mul_u4f12:72 [ sin16s_gen::step#0 sin16s_gen::x#10 sin16s_gen::sintab#10 sin16s_gen::i#10 sin16s_gen::isUpper#10 sin16s_gen::x1#10 mul_u4f12::v1#4 mul_u4f12::v2#4 ] main:2::sin16s_gen:5::mul_u4f12:77 [ sin16s_gen::step#0 sin16s_gen::x#10 sin16s_gen::sintab#10 sin16s_gen::i#10 sin16s_gen::isUpper#10 sin16s_gen::x1#10 mul_u4f12::v1#4 mul_u4f12::v2#4 ] main:2::sin16s_gen:5::mul_u4f12:88 [ sin16s_gen::step#0 sin16s_gen::x#10 sin16s_gen::sintab#10 sin16s_gen::i#10 sin16s_gen::isUpper#10 sin16s_gen::x1#10 sin16s_gen::usinx#0 mul_u4f12::v1#4 mul_u4f12::v2#4 ] main:2::sin16s_gen:5::mul_u4f12:93 [ sin16s_gen::step#0 sin16s_gen::x#10 sin16s_gen::sintab#10 sin16s_gen::i#10 sin16s_gen::isUpper#10 sin16s_gen::usinx#0 mul_u4f12::v1#4 mul_u4f12::v2#4 ] )
|
||||
mul_u4f12: scope:[mul_u4f12] from sin16s_gen::@13 sin16s_gen::@15 sin16s_gen::@16 sin16s_gen::@3
|
||||
[123] (word) mul_u4f12::v2#4 ← phi( sin16s_gen::@13/(word) mul_u4f12::v2#1 sin16s_gen::@15/(word) mul_u4f12::v2#2 sin16s_gen::@16/(word) mul_u4f12::v2#3 sin16s_gen::@3/(word) mul_u4f12::v2#0 ) [ mul_u4f12::v1#4 mul_u4f12::v2#4 ] ( main:2::sin16s_gen:5::mul_u4f12:72 [ sin16s_gen::step#0 sin16s_gen::x#10 sin16s_gen::sintab#10 sin16s_gen::i#10 sin16s_gen::isUpper#10 sin16s_gen::x1#10 mul_u4f12::v1#4 mul_u4f12::v2#4 ] main:2::sin16s_gen:5::mul_u4f12:77 [ sin16s_gen::step#0 sin16s_gen::x#10 sin16s_gen::sintab#10 sin16s_gen::i#10 sin16s_gen::isUpper#10 sin16s_gen::x1#10 mul_u4f12::v1#4 mul_u4f12::v2#4 ] main:2::sin16s_gen:5::mul_u4f12:88 [ sin16s_gen::step#0 sin16s_gen::x#10 sin16s_gen::sintab#10 sin16s_gen::i#10 sin16s_gen::isUpper#10 sin16s_gen::x1#10 sin16s_gen::usinx#0 mul_u4f12::v1#4 mul_u4f12::v2#4 ] main:2::sin16s_gen:5::mul_u4f12:93 [ sin16s_gen::step#0 sin16s_gen::x#10 sin16s_gen::sintab#10 sin16s_gen::i#10 sin16s_gen::isUpper#10 sin16s_gen::usinx#0 mul_u4f12::v1#4 mul_u4f12::v2#4 ] )
|
||||
[123] (word) mul_u4f12::v1#4 ← phi( sin16s_gen::@13/(word) mul_u4f12::v1#1 sin16s_gen::@15/(word) mul_u4f12::v1#2 sin16s_gen::@16/(word) mul_u4f12::v1#3 sin16s_gen::@3/(word) mul_u4f12::v1#0 ) [ mul_u4f12::v1#4 mul_u4f12::v2#4 ] ( main:2::sin16s_gen:5::mul_u4f12:72 [ sin16s_gen::step#0 sin16s_gen::x#10 sin16s_gen::sintab#10 sin16s_gen::i#10 sin16s_gen::isUpper#10 sin16s_gen::x1#10 mul_u4f12::v1#4 mul_u4f12::v2#4 ] main:2::sin16s_gen:5::mul_u4f12:77 [ sin16s_gen::step#0 sin16s_gen::x#10 sin16s_gen::sintab#10 sin16s_gen::i#10 sin16s_gen::isUpper#10 sin16s_gen::x1#10 mul_u4f12::v1#4 mul_u4f12::v2#4 ] main:2::sin16s_gen:5::mul_u4f12:88 [ sin16s_gen::step#0 sin16s_gen::x#10 sin16s_gen::sintab#10 sin16s_gen::i#10 sin16s_gen::isUpper#10 sin16s_gen::x1#10 sin16s_gen::usinx#0 mul_u4f12::v1#4 mul_u4f12::v2#4 ] main:2::sin16s_gen:5::mul_u4f12:93 [ sin16s_gen::step#0 sin16s_gen::x#10 sin16s_gen::sintab#10 sin16s_gen::i#10 sin16s_gen::isUpper#10 sin16s_gen::usinx#0 mul_u4f12::v1#4 mul_u4f12::v2#4 ] )
|
||||
[124] (word) mul16u::a#3 ← (word) mul_u4f12::v1#4 [ mul16u::a#3 mul_u4f12::v2#4 ] ( main:2::sin16s_gen:5::mul_u4f12:72 [ sin16s_gen::step#0 sin16s_gen::x#10 sin16s_gen::sintab#10 sin16s_gen::i#10 sin16s_gen::isUpper#10 sin16s_gen::x1#10 mul16u::a#3 mul_u4f12::v2#4 ] main:2::sin16s_gen:5::mul_u4f12:77 [ sin16s_gen::step#0 sin16s_gen::x#10 sin16s_gen::sintab#10 sin16s_gen::i#10 sin16s_gen::isUpper#10 sin16s_gen::x1#10 mul16u::a#3 mul_u4f12::v2#4 ] main:2::sin16s_gen:5::mul_u4f12:88 [ sin16s_gen::step#0 sin16s_gen::x#10 sin16s_gen::sintab#10 sin16s_gen::i#10 sin16s_gen::isUpper#10 sin16s_gen::x1#10 sin16s_gen::usinx#0 mul16u::a#3 mul_u4f12::v2#4 ] main:2::sin16s_gen:5::mul_u4f12:93 [ sin16s_gen::step#0 sin16s_gen::x#10 sin16s_gen::sintab#10 sin16s_gen::i#10 sin16s_gen::isUpper#10 sin16s_gen::usinx#0 mul16u::a#3 mul_u4f12::v2#4 ] )
|
||||
[125] (word) mul16u::b#2 ← (word) mul_u4f12::v2#4 [ mul16u::b#2 mul16u::a#3 ] ( main:2::sin16s_gen:5::mul_u4f12:72 [ sin16s_gen::step#0 sin16s_gen::x#10 sin16s_gen::sintab#10 sin16s_gen::i#10 sin16s_gen::isUpper#10 sin16s_gen::x1#10 mul16u::b#2 mul16u::a#3 ] main:2::sin16s_gen:5::mul_u4f12:77 [ sin16s_gen::step#0 sin16s_gen::x#10 sin16s_gen::sintab#10 sin16s_gen::i#10 sin16s_gen::isUpper#10 sin16s_gen::x1#10 mul16u::b#2 mul16u::a#3 ] main:2::sin16s_gen:5::mul_u4f12:88 [ sin16s_gen::step#0 sin16s_gen::x#10 sin16s_gen::sintab#10 sin16s_gen::i#10 sin16s_gen::isUpper#10 sin16s_gen::x1#10 sin16s_gen::usinx#0 mul16u::b#2 mul16u::a#3 ] main:2::sin16s_gen:5::mul_u4f12:93 [ sin16s_gen::step#0 sin16s_gen::x#10 sin16s_gen::sintab#10 sin16s_gen::i#10 sin16s_gen::isUpper#10 sin16s_gen::usinx#0 mul16u::b#2 mul16u::a#3 ] )
|
||||
[126] call mul16u param-assignment [ mul16u::res#2 ] ( main:2::sin16s_gen:5::mul_u4f12:72 [ sin16s_gen::step#0 sin16s_gen::x#10 sin16s_gen::sintab#10 sin16s_gen::i#10 sin16s_gen::isUpper#10 sin16s_gen::x1#10 mul16u::res#2 ] main:2::sin16s_gen:5::mul_u4f12:77 [ sin16s_gen::step#0 sin16s_gen::x#10 sin16s_gen::sintab#10 sin16s_gen::i#10 sin16s_gen::isUpper#10 sin16s_gen::x1#10 mul16u::res#2 ] main:2::sin16s_gen:5::mul_u4f12:88 [ sin16s_gen::step#0 sin16s_gen::x#10 sin16s_gen::sintab#10 sin16s_gen::i#10 sin16s_gen::isUpper#10 sin16s_gen::x1#10 sin16s_gen::usinx#0 mul16u::res#2 ] main:2::sin16s_gen:5::mul_u4f12:93 [ sin16s_gen::step#0 sin16s_gen::x#10 sin16s_gen::sintab#10 sin16s_gen::i#10 sin16s_gen::isUpper#10 sin16s_gen::usinx#0 mul16u::res#2 ] )
|
||||
@ -253,10 +253,10 @@ mul_u4f12::@2: scope:[mul_u4f12] from mul_u4f12
|
||||
mul_u4f12::@return: scope:[mul_u4f12] from mul_u4f12::@2
|
||||
[131] return [ mul_u4f12::return#10 ] ( main:2::sin16s_gen:5::mul_u4f12:72 [ sin16s_gen::step#0 sin16s_gen::x#10 sin16s_gen::sintab#10 sin16s_gen::i#10 sin16s_gen::isUpper#10 sin16s_gen::x1#10 mul_u4f12::return#10 ] main:2::sin16s_gen:5::mul_u4f12:77 [ sin16s_gen::step#0 sin16s_gen::x#10 sin16s_gen::sintab#10 sin16s_gen::i#10 sin16s_gen::isUpper#10 sin16s_gen::x1#10 mul_u4f12::return#10 ] main:2::sin16s_gen:5::mul_u4f12:88 [ sin16s_gen::step#0 sin16s_gen::x#10 sin16s_gen::sintab#10 sin16s_gen::i#10 sin16s_gen::isUpper#10 sin16s_gen::x1#10 sin16s_gen::usinx#0 mul_u4f12::return#10 ] main:2::sin16s_gen:5::mul_u4f12:93 [ sin16s_gen::step#0 sin16s_gen::x#10 sin16s_gen::sintab#10 sin16s_gen::i#10 sin16s_gen::isUpper#10 sin16s_gen::usinx#0 mul_u4f12::return#10 ] )
|
||||
to:@return
|
||||
divr16u: scope:[divr16u] from sin16s_gen sin16s_gen::@9
|
||||
[132] (word) divr16u::divisor#6 ← phi( sin16s_gen/(const word) main::wavelength#0 sin16s_gen::@9/(const word) main::wavelength#0 ) [ divr16u::rem#10 divr16u::dividend#5 divr16u::divisor#6 ] ( main:2::sin16s_gen:5::divr16u:54 [ divr16u::rem#10 divr16u::dividend#5 divr16u::divisor#6 ] main:2::sin16s_gen:5::divr16u:58 [ sin16s_gen::stepi#0 divr16u::rem#10 divr16u::dividend#5 divr16u::divisor#6 ] )
|
||||
[132] (word) divr16u::dividend#5 ← phi( sin16s_gen/(const word) PI2_u4f12#0 sin16s_gen::@9/(byte/signed byte/word/signed word/dword/signed dword) 0 ) [ divr16u::rem#10 divr16u::dividend#5 divr16u::divisor#6 ] ( main:2::sin16s_gen:5::divr16u:54 [ divr16u::rem#10 divr16u::dividend#5 divr16u::divisor#6 ] main:2::sin16s_gen:5::divr16u:58 [ sin16s_gen::stepi#0 divr16u::rem#10 divr16u::dividend#5 divr16u::divisor#6 ] )
|
||||
[132] (word) divr16u::rem#10 ← phi( sin16s_gen/(byte/signed byte/word/signed word/dword/signed dword) 0 sin16s_gen::@9/(word) divr16u::rem#4 ) [ divr16u::rem#10 divr16u::dividend#5 divr16u::divisor#6 ] ( main:2::sin16s_gen:5::divr16u:54 [ divr16u::rem#10 divr16u::dividend#5 divr16u::divisor#6 ] main:2::sin16s_gen:5::divr16u:58 [ sin16s_gen::stepi#0 divr16u::rem#10 divr16u::dividend#5 divr16u::divisor#6 ] )
|
||||
divr16u: scope:[divr16u] from sin16s_gen sin16s_gen::@11
|
||||
[132] (word) divr16u::divisor#6 ← phi( sin16s_gen/(const word) main::wavelength#0 sin16s_gen::@11/(const word) main::wavelength#0 ) [ divr16u::rem#10 divr16u::dividend#5 divr16u::divisor#6 ] ( main:2::sin16s_gen:5::divr16u:54 [ divr16u::rem#10 divr16u::dividend#5 divr16u::divisor#6 ] main:2::sin16s_gen:5::divr16u:58 [ sin16s_gen::stepi#0 divr16u::rem#10 divr16u::dividend#5 divr16u::divisor#6 ] )
|
||||
[132] (word) divr16u::dividend#5 ← phi( sin16s_gen/>(const dword) PI2_u4f28#0 sin16s_gen::@11/<(const dword) PI2_u4f28#0 ) [ divr16u::rem#10 divr16u::dividend#5 divr16u::divisor#6 ] ( main:2::sin16s_gen:5::divr16u:54 [ divr16u::rem#10 divr16u::dividend#5 divr16u::divisor#6 ] main:2::sin16s_gen:5::divr16u:58 [ sin16s_gen::stepi#0 divr16u::rem#10 divr16u::dividend#5 divr16u::divisor#6 ] )
|
||||
[132] (word) divr16u::rem#10 ← phi( sin16s_gen/(byte/signed byte/word/signed word/dword/signed dword) 0 sin16s_gen::@11/(word) divr16u::rem#4 ) [ divr16u::rem#10 divr16u::dividend#5 divr16u::divisor#6 ] ( main:2::sin16s_gen:5::divr16u:54 [ divr16u::rem#10 divr16u::dividend#5 divr16u::divisor#6 ] main:2::sin16s_gen:5::divr16u:58 [ sin16s_gen::stepi#0 divr16u::rem#10 divr16u::dividend#5 divr16u::divisor#6 ] )
|
||||
to:divr16u::@1
|
||||
divr16u::@1: scope:[divr16u] from divr16u divr16u::@3
|
||||
[133] (byte) divr16u::i#2 ← phi( divr16u/(byte/signed byte/word/signed word/dword/signed dword) 0 divr16u::@3/(byte) divr16u::i#1 ) [ divr16u::divisor#6 divr16u::rem#5 divr16u::dividend#3 divr16u::quotient#3 divr16u::i#2 ] ( main:2::sin16s_gen:5::divr16u:54 [ divr16u::divisor#6 divr16u::rem#5 divr16u::dividend#3 divr16u::quotient#3 divr16u::i#2 ] main:2::sin16s_gen:5::divr16u:58 [ sin16s_gen::stepi#0 divr16u::divisor#6 divr16u::rem#5 divr16u::dividend#3 divr16u::quotient#3 divr16u::i#2 ] )
|
||||
|
File diff suppressed because it is too large
Load Diff
@ -1,8 +1,8 @@
|
||||
(label) @23
|
||||
(label) @begin
|
||||
(label) @end
|
||||
(word) PI2_u4f12
|
||||
(const word) PI2_u4f12#0 PI2_u4f12 = (word/signed word/dword/signed dword) 25736
|
||||
(dword) PI2_u4f28
|
||||
(const dword) PI2_u4f28#0 PI2_u4f28 = (dword/signed dword) 1686629713
|
||||
(word) PI_HALF_u4f12
|
||||
(const word) PI_HALF_u4f12#0 PI_HALF_u4f12 = (word/signed word/dword/signed dword) 6434
|
||||
(word) PI_u4f12
|
||||
@ -166,29 +166,25 @@
|
||||
(word) rem16u
|
||||
(word) rem16u#1 rem16u zp ZP_WORD:4 0.8
|
||||
(void()) sin16s_gen((signed word*) sin16s_gen::sintab , (word) sin16s_gen::wavelength)
|
||||
(dword~) sin16s_gen::$13 $13 zp ZP_DWORD:18 22.0
|
||||
(dword~) sin16s_gen::$18 $18 zp ZP_DWORD:18 22.0
|
||||
(dword~) sin16s_gen::$14 $14 zp ZP_DWORD:18 22.0
|
||||
(dword~) sin16s_gen::$20 $20 zp ZP_DWORD:18 22.0
|
||||
(label) sin16s_gen::@1
|
||||
(label) sin16s_gen::@10
|
||||
(label) sin16s_gen::@11
|
||||
(label) sin16s_gen::@12
|
||||
(label) sin16s_gen::@13
|
||||
(label) sin16s_gen::@14
|
||||
(label) sin16s_gen::@15
|
||||
(label) sin16s_gen::@16
|
||||
(label) sin16s_gen::@17
|
||||
(label) sin16s_gen::@18
|
||||
(label) sin16s_gen::@2
|
||||
(label) sin16s_gen::@20
|
||||
(label) sin16s_gen::@22
|
||||
(label) sin16s_gen::@3
|
||||
(label) sin16s_gen::@4
|
||||
(label) sin16s_gen::@5
|
||||
(label) sin16s_gen::@6
|
||||
(label) sin16s_gen::@7
|
||||
(label) sin16s_gen::@9
|
||||
(label) sin16s_gen::@8
|
||||
(label) sin16s_gen::@return
|
||||
(word) sin16s_gen::div128
|
||||
(const word) sin16s_gen::div128#0 div128 = (dword/signed dword) 65536/(byte/word/signed word/dword/signed dword) 128
|
||||
(word) sin16s_gen::div6
|
||||
(const word) sin16s_gen::div6#0 div6 = (dword/signed dword) 65536/(byte/signed byte/word/signed word/dword/signed dword) 6
|
||||
(word) sin16s_gen::i
|
||||
(word) sin16s_gen::i#1 i zp ZP_WORD:4 16.5
|
||||
(word) sin16s_gen::i#10 i zp ZP_WORD:4 0.46808510638297873
|
||||
@ -200,7 +196,7 @@
|
||||
(signed word) sin16s_gen::sinx
|
||||
(signed word) sin16s_gen::sinx#1 sinx zp ZP_WORD:12 22.0
|
||||
(signed word) sin16s_gen::sinx#2 sinx zp ZP_WORD:12 33.0
|
||||
(signed word~) sin16s_gen::sinx#4 sinx zp ZP_WORD:12 22.0
|
||||
(signed word~) sin16s_gen::sinx#3 sinx zp ZP_WORD:12 22.0
|
||||
(dword) sin16s_gen::step
|
||||
(dword) sin16s_gen::step#0 step zp ZP_DWORD:26 0.26
|
||||
(word) sin16s_gen::stepf
|
||||
@ -240,10 +236,10 @@ reg byte a [ print_char::ch#3 print_char::ch#1 print_char::ch#2 ]
|
||||
zp ZP_WORD:6 [ char_cursor#32 char_cursor#44 char_cursor#41 char_cursor#46 char_cursor#2 char_cursor#12 char_cursor#1 sin16s_gen::x1#10 sin16s_gen::x1#3 sin16s_gen::x1#0 sin16s_gen::x1#1 sin16s_gen::x1#2 mul_u4f12::v2#4 mul_u4f12::v2#1 mul_u4f12::v2#2 mul_u4f12::v2#3 mul_u4f12::v2#0 divr16u::dividend#3 divr16u::dividend#5 divr16u::dividend#0 ]
|
||||
zp ZP_DWORD:8 [ sin16s_gen::x#10 sin16s_gen::x#1 ]
|
||||
reg byte x [ sin16s_gen::isUpper#10 ]
|
||||
zp ZP_WORD:12 [ sin16s_gen::sinx#2 sin16s_gen::sinx#4 sin16s_gen::sinx#1 sin16s_gen::usinx#1 sin16s_gen::usinx#0 divr16u::quotient#3 divr16u::return#0 divr16u::quotient#1 divr16u::quotient#2 divr16u::return#2 divr16u::return#3 sin16s_gen::stepf#0 ]
|
||||
zp ZP_WORD:12 [ sin16s_gen::sinx#2 sin16s_gen::sinx#3 sin16s_gen::sinx#1 sin16s_gen::usinx#1 sin16s_gen::usinx#0 divr16u::quotient#3 divr16u::return#0 divr16u::quotient#1 divr16u::quotient#2 divr16u::return#2 divr16u::return#3 sin16s_gen::stepf#0 ]
|
||||
zp ZP_WORD:14 [ mul16u::b#3 mul16u::b#2 sin16s_gen::stepi#0 ]
|
||||
zp ZP_WORD:16 [ mul16u::a#4 mul16u::a#7 mul16u::a#3 mul16u::a#1 mul16u::a#2 mul16u::a#0 mul_u4f12::v1#4 mul_u4f12::v1#1 mul_u4f12::v1#2 mul_u4f12::v1#3 mul_u4f12::v1#0 sin16s_gen::x2#0 mul_u4f12::return#0 sin16s_gen::x4#0 mul_u4f12::return#2 mul_u4f12::return#10 mul_u4f12::return#1 mul_u4f12::return#3 sin16s_gen::x5#0 ]
|
||||
zp ZP_DWORD:18 [ mul16u::res#2 mul16u::res#6 mul16u::res#1 mul16u::return#2 sin16s_gen::$13 mul16u::return#3 sin16s_gen::$18 mul16u::return#4 mul_u4f12::$0 mul_u4f12::$1 ]
|
||||
zp ZP_DWORD:18 [ mul16u::res#2 mul16u::res#6 mul16u::res#1 mul16u::return#2 sin16s_gen::$14 mul16u::return#3 sin16s_gen::$20 mul16u::return#4 mul_u4f12::$0 mul_u4f12::$1 ]
|
||||
zp ZP_DWORD:22 [ mul16u::mb#2 mul16u::mb#0 mul16u::mb#1 ]
|
||||
reg byte x [ divr16u::i#2 divr16u::i#1 ]
|
||||
reg byte a [ print_byte::$0 ]
|
||||
|
17
src/test/java/dk/camelot64/kickc/test/ref/test-lohiconst.asm
Normal file
17
src/test/java/dk/camelot64/kickc/test/ref/test-lohiconst.asm
Normal file
@ -0,0 +1,17 @@
|
||||
.pc = $801 "Basic"
|
||||
:BasicUpstart(main)
|
||||
.pc = $80d "Program"
|
||||
.const PI_u4f28 = $3243f6a9
|
||||
jsr main
|
||||
main: {
|
||||
.label SCREEN = $400
|
||||
lda #>PI_u4f28>>16
|
||||
sta SCREEN+0
|
||||
lda #<PI_u4f28>>16
|
||||
sta SCREEN+1
|
||||
lda #>PI_u4f28&$ffff
|
||||
sta SCREEN+2
|
||||
lda #<PI_u4f28&$ffff
|
||||
sta SCREEN+3
|
||||
rts
|
||||
}
|
14
src/test/java/dk/camelot64/kickc/test/ref/test-lohiconst.log
Normal file
14
src/test/java/dk/camelot64/kickc/test/ref/test-lohiconst.log
Normal file
@ -0,0 +1,14 @@
|
||||
parsing
|
||||
flex pass 1
|
||||
flex pass 2
|
||||
flex pass 3
|
||||
Output pass
|
||||
|
||||
Memory Map
|
||||
----------
|
||||
Default-segment:
|
||||
$0801-$080c Basic
|
||||
$080d-$0824 Program
|
||||
|
||||
Writing prg file: /var/folders/j3/hvhhv4vs6291pncspymzkrfh0000gn/T/kickc-output3205926464176603574/bin/test-lohiconst.prg
|
||||
Writing Vice symbol file: /var/folders/j3/hvhhv4vs6291pncspymzkrfh0000gn/T/kickc-output3205926464176603574/bin/test-lohiconst.vs
|
BIN
src/test/java/dk/camelot64/kickc/test/ref/test-lohiconst.prg
Normal file
BIN
src/test/java/dk/camelot64/kickc/test/ref/test-lohiconst.prg
Normal file
Binary file not shown.
@ -0,0 +1,3 @@
|
||||
al C:400 .SCREEN
|
||||
al C:80b .upstartEnd
|
||||
al C:810 .main
|
Loading…
x
Reference in New Issue
Block a user