; School of Computer Engineering
; K.N. Toosi University of Technology

%include "asm_io.inc"

segment .data

msg:    db "out of range!", 10, 0


segment .text

global asm_main

asm_main:
        enter 0,0
        pusha
        ;; ==========================

        call read_int
        mov ecx, eax

        mov eax, 1
l1:
        mul ecx

        cmp edx, 0
        jne errlbl

        loop l1
        
        call print_int
        call print_nl
        jmp endl
        
errlbl:
        mov eax, msg
        call print_string
        
endl:   


        
        ;; ==========================
        popa
        leave
        ret