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

%include "asm_io.inc"

segment .data

msg:    db "shift must be <= 32", 10, 0

        
segment .text

global asm_main

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

        call read_int
        mov ebx, eax
        
        call read_int
        cmp eax, 32
        ja err_lbl
        
        mov cl, al
        
        shl ebx, cl
        mov eax, ebx
        
        call print_int
        call print_nl
        
        jmp endl
        
err_lbl:
        mov eax, msg
        call print_string
endl:   
        
        ;; ==========================
        popa
        leave
        ret