diff --git a/Nub.Lang/Nub.Lang/Backend/Custom/Generator.cs b/Nub.Lang/Nub.Lang/Backend/Custom/Generator.cs index 852191b..eb2f730 100644 --- a/Nub.Lang/Nub.Lang/Backend/Custom/Generator.cs +++ b/Nub.Lang/Nub.Lang/Backend/Custom/Generator.cs @@ -371,17 +371,9 @@ public class Generator private void GenerateArrayInitializer(ArrayInitializerNode arrayInitializer, LocalFunc func) { - _builder.AppendLine($""" - mov rax, 9 - mov rdi, 0 - mov rsi, {8 + arrayInitializer.Length * 8} - mov rdx, 3 - mov r10, 34 - mov r8, -1 - mov r9, 0 - syscall - mov QWORD [rax], {arrayInitializer.Length} - """); + _builder.AppendLine($" sub rsp, {8 + arrayInitializer.Length * 8}"); + _builder.AppendLine(" mov rax, rsp"); + _builder.AppendLine($" mov QWORD [rsp], {arrayInitializer.Length}"); } private void GenerateBinaryExpression(BinaryExpressionNode binaryExpression, LocalFunc func) diff --git a/input/program.nub b/input/program.nub index 4441101..116925b 100644 --- a/input/program.nub +++ b/input/program.nub @@ -5,8 +5,8 @@ func main() { println(some_string); let some_array = new Array(2); - some_array[1] = 1; - some_array[2] = 2; + some_array[1] = 123; + some_array[2] = 124; let i = 1;