// File: /workspace/github_cpp_makefile_star2_O2/gioannides[P]Language_Processors/src/../include/ast/ast_node.hpp
// Function: Initializer::render_asm(std::basic_ofstream<char, std::char_traits<char>>&, Context&)
void render_asm(std::ofstream& file,Context& contxt) {
			
			if(InitializerListPtr != NULL ) {
				InitializerListPtr->render_asm(file,contxt);
			}
			
			if( AssignmentExpressionPtr != NULL) {
				contxt.no_of_initial_values++;
				AssignmentExpressionPtr->render_asm(file,contxt);
				if(!contxt.function && !contxt.function_dec) {
				 	
				if(contxt.Variables[contxt.good_i].Pointer){
					file << std::endl << "\t.word\t" << contxt.GlobalPointerValue; //contxt.variable.value;
					std::string str = contxt.GlobalPointerValue;
    					std::regex regex_pattern("[A-Za-z_]([A-Za-z_]|[0-9])*");
					contxt.AddressOf = std::regex_match(str,regex_pattern);   					
				}
				
				else if( contxt.variable.word_size > 4 ){					
					file << std::endl << "\t.double\t" << contxt.variable.value ; 	//TODO: Convert to IEEE-754 for FLOAT and DOUBLE
				}
				else if( (contxt.variable.word_size==4) && contxt.variable.DataType!="float"){
					file << std::endl << "\t.word\t" << contxt.eval[contxt.Regs+1]; //contxt.variable.value;
				}
				else if( (contxt.variable.word_size==4) && contxt.variable.DataType=="float"){
					file << std::endl << "\t.float\t" << contxt.eval_f[contxt.Regs+1]; //contxt.variable.value;
					contxt.float_ = false;
				}
				else if(contxt.variable.word_size==2){
					file << std::endl << "\t.half\t" << contxt.eval_f[contxt.Regs+1];
				}
				else if(contxt.variable.word_size==1){
					file << std::endl << "\t.byte\t" << contxt.eval[contxt.Regs+1];
				}
				        // reset the value of the global
				for(int i=contxt.Regs; i<=20; i++)
				{
					file << "\n#" << contxt.eval[i];
					contxt.eval[i] = 0; 
				}
				
				
				}
			}
		}

// Assembly:
pushq %r15
pushq %r14
pushq %r12
pushq %rbx
subq $0x48, %rsp
movq %rdx, %rbx
movq %rsi, %r14
movq %rdi, %r15
movq 0x10(%rdi), %rdi
testq %rdi, %rdi
je 0x1cfbe
movq %r14, %rsi
movq %rbx, %rdx
callq 0x1d22a
movq 0x8(%r15), %rdi
testq %rdi, %rdi
je 0x1cfea
incl 0x13e80(%rbx)
movq %r14, %rsi
movq %rbx, %rdx
callq 0x1579e
cmpb $0x0, 0x218(%rbx)
jne 0x1cfea
cmpb $0x0, 0x13e7c(%rbx)
je 0x1cff6
addq $0x48, %rsp
popq %rbx
popq %r12
popq %r14
popq %r15
retq
movslq 0x5b4(%rbx), %rax
movq 0x240(%rbx), %rcx
imulq $0xb0, %rax, %rax
cmpb $0x1, 0x9c(%rcx,%rax)
jne 0x1d089
movq %r14, %rdi
callq 0x7190
leaq 0x10d35(%rip), %rsi     # 0x2dd59
movq %rax, %rdi
callq 0x7310
leaq 0x50(%rbx), %r15
movq %rax, %rdi
movq %r15, %rsi
callq 0x72d0
leaq 0x28(%rsp), %rdi
movq %r15, %rsi
callq 0x7460
leaq 0x10d2b(%rip), %rsi     # 0x2dd7a
leaq 0x8(%rsp), %rdi
pushq $0x10
popq %rdx
callq 0x1d26c
leaq 0x28(%rsp), %rdi
leaq 0x8(%rsp), %rsi
xorl %edx, %edx
callq 0x1d2d2
movb %al, 0x49(%rbx)
leaq 0x8(%rsp), %rdi
callq 0x1d2ea
leaq 0x28(%rsp), %rdi
callq 0x7170
jmp 0x1d1bb
movl 0x258(%rbx), %eax
cmpl $0x5, %eax
jl 0x1d0c0
movq %r14, %rdi
callq 0x7190
leaq 0x10cac(%rip), %rsi     # 0x2dd4f
movq %rax, %rdi
callq 0x7310
movsd 0x280(%rbx), %xmm0
movq %rax, %rdi
callq 0x7510
jmp 0x1d1bb
cmpl $0x4, %eax
jne 0x1d153
leaq 0x2b0(%rbx), %r15
leaq 0x104b8(%rip), %rsi     # 0x2d58f
movq %r15, %rdi
callq 0x14630
testb %al, %al
je 0x1d0f7
movq %r14, %rdi
callq 0x7190
leaq 0x10c67(%rip), %rsi     # 0x2dd59
jmp 0x1d19d
movl 0x258(%rbx), %eax
cmpl $0x4, %eax
jne 0x1d153
leaq 0x10486(%rip), %rsi     # 0x2d58f
movq %r15, %rdi
callq 0x820e
testb %al, %al
je 0x1d14d
movq %r14, %rdi
callq 0x7190
leaq 0x10c3d(%rip), %rsi     # 0x2dd61
movq %rax, %rdi
callq 0x7310
movslq 0x310(%rbx), %rcx
movss 0xa23c(%rbx,%rcx,4), %xmm0
movq %rax, %rdi
callq 0x7270
movb $0x0, 0x340(%rbx)
jmp 0x1d1bb
movl 0x258(%rbx), %eax
cmpl $0x1, %eax
je 0x1d18e
cmpl $0x2, %eax
jne 0x1d1bb
movq %r14, %rdi
callq 0x7190
leaq 0x10bfe(%rip), %rsi     # 0x2dd6a
movq %rax, %rdi
callq 0x7310
movslq 0x310(%rbx), %rcx
movss 0xa23c(%rbx,%rcx,4), %xmm0
movq %rax, %rdi
callq 0x7270
jmp 0x1d1bb
movq %r14, %rdi
callq 0x7190
leaq 0x10bd5(%rip), %rsi     # 0x2dd72
movq %rax, %rdi
callq 0x7310
movslq 0x310(%rbx), %rcx
movl 0x5fc(%rbx,%rcx,4), %esi
movq %rax, %rdi
callq 0x7590
movslq 0x310(%rbx), %r12
leaq 0x10bcd(%rip), %r15     # 0x2dd96
cmpq $0x14, %r12
jg 0x1cfea
movq %r14, %rdi
movq %r15, %rsi
callq 0x7310
movl 0x5f8(%rbx,%r12,4), %esi
movq %rax, %rdi
callq 0x7590
andl $0x0, 0x5f8(%rbx,%r12,4)
incq %r12
jmp 0x1d1c9
movq %rax, %rbx
leaq 0x8(%rsp), %rdi
callq 0x1d2ea
jmp 0x1d20e
movq %rax, %rbx
leaq 0x28(%rsp), %rdi
callq 0x7170
movq %rbx, %rdi
callq 0x75c0