; 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