|
I guess this is basically for begiiners a tutorial. here is a simple procedure to read string from standard input that is the keyboard
readstring proc near ;requires si(offset of the string to be stored)
push ax bx cx dx si di
mov bx,0b800h ;row coloumn
mov es,bx
mov ax,row
mov bx,160
mul bx
mov di,ax
mov bx,2
mov ax,coloumn
mul bx
add di,ax
mov bl,attrf
mov dl,0
loop_readstring1:
mov ah,00
int 16h
cmp al,08h
jne loop_readstring_main
cmp dl,0
jle loop_readstring1
dec dl
dec di
mov byte ptr es:[di],bl
dec di
mov al,' '
mov byte ptr es:[di],al
dec si
jmp loop_readstring1
loop_readstring_main:
cmp al,0dh
je loop_readstring2
mov byte ptr cs:[si],al
mov byte ptr es:[di],al
cmp password,1
jne readstring_nopass
push ax
mov al,'*'
mov byte ptr es:[di],al
pop ax
readstring_nopass:
inc si
inc di
inc dl
mov byte ptr es:[di],bl
inc di
jmp loop_readstring1
loop_readstring2:
cmp file,1
jne loop_readstring3
mov al,0
mov byte ptr cs:[si],al
inc si
loop_readstring3:
mov al,'$'
mov byte ptr cs:[si],al
pop di si cx dx bx ax
ret
password db 0
file db 0
endp
|