6f4 TITLE ScanCmdl.asm INCLUDE SCREEN.MAC ;======================================================================== CSEG SEGMENT ASSUME CS:CSEG,DS:CSEG ORG 100h start: jmp begin errmsg db ' is not a valid parameter!',13,10,'$' main PROC NEAR xor cx,cx mov cl,byte ptr ds:[80h] cmp cl,00h jz ready mov di,81h scan: mov al,'-' repne scasb cmp cx,0 je ready call get_parm jc Error jmp scan Error: mov dl,al mov ah,02h int 21h cmp bl,' ' jz err_out cmp bl,0dh jz err_out mov dl,bl int 21h err_out: mov ah,09h mov dx,OFFSET errmsg int 21h jmp scan ready: ret main ENDP get_parm PROC NEAR mov al,byte ptr[di] mov bl,byte ptr[di+1] cmp bl,' ' jz kuk cmp bl,0dh jz kuk jmp p4 kuk: cmp al,'a' jnz p2 Print 'A parameter chosen.' call crlf clc ret p2: cmp al,'b' jnz p3 Print 'B parameter chosen.' call crlf clc ret p3: cmp al,'c' jnz p4 Print 'C parameter chosen.' call crlf clc ret p4: stc ret get_parm ENDP crlf PROC NEAR cr_lf ret crlf ENDP ;-------------------------------------------------------------------------- begin: call main ret ; -> back to DOS CSEG ENDS END start . 0