global _main extern _calloc extern _fclose extern _fflush extern _fopen extern _fprintf extern _free extern _getchar extern _malloc extern _perror extern _printf extern _putchar extern _snprintf extern _write default rel section .text _main: push rbp ; PROLOGUE mov rbp, rsp push rbx push r12 push r13 ;for stack alignment push r13 mov edi, PARAMS_MEMSIZE call _malloc cmp rax, 0 jz nomem mov rbx, rax ;bufp mov [buf], rax ;buf %ifdef HEATMAPFNAME mov edi, SOURCE_LENGTH mov esi, 4 call _calloc cmp rax, 0 jz nomem mov r12, rax %endif nop ; rbx = bufp ; r12 = heatmap ; r13 is used for the heatmap data file