le loop
            ENDIF
            shl eax, 1
            dec ecx
        ENDWHILE
    ENDPROC

    PROC my_main
    LOCALS
        LOCAL result, unint32_t, 1
    ENDLOCALS
        INVOKE my_pow2, EXPONENT
	IF eax,!=,0
            mov uint32_t [var(.result)], eax
            INVOKE printf, message, EXPONENT, uint32_t [var(.result)]
        ELSE
            INVOKE printf, errmsg
        ENDIF
    ENDPROC

    ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
    [section .data]
    ;;;;;;;;;;;;;;;;;;