Jest coś takiego jak spis przerwań Ralpha Browna (RBIL). Jeżeli nie chce Ci się pobierać plików, które są czystym tekstem, możesz skorzystać np. z tej strony: http://www.ctyme.com/intr/int.htm
Masz tu po prostu listę przerwań i opisy ich działania, w którym rejestrze znajduje się który parametr i tak dalej.
Przerwania DOSa, których używasz, to przerwanie 0x21 (czyli inaczej 21h). Ale to, która procedura ma się wykonać (czy np. napisanie znaku, czy wczytanie znaku z klawiatury), zależy od zawartości rejestru AH.
Przeanalizujmy twój kod:
;Pobieram Znak
mov ah, 1
int 21h
Z tego spisu przerwań można wyczytać:
DOS 1+ - READ CHARACTER FROM STANDARD INPUT, WITH ECHO
AH = 01h
Return:
AL = character read
A więc wczytujesz znak z klawiatury do rejestru AL.
Dalej:
;Zwiekszam o 1
mov dl, al
inc dl
Czyli zawartość AL wrzucasz do rejestru DL, a następnie inkrementujesz zawartość rejestru DL - będziesz miał tam znak o kodzie o jeden większym.
I teraz dochodzimy do twojego problemu. Pytasz: czemu znak wyświetlany należy umieścić w rejestrze DL? A no trzeba zajrzeć do tego spisu przerwań. Dla przerwania 21h AH=2
DOS 1+ - WRITE CHARACTER TO STANDARD OUTPUT
AH = 02h
DL = character to write
Return:
AL = last character output (despite the official docs which state nothing is returned) (at least DOS 2.1-7.0)
Czyli po prostu tutaj znak wrzuca się do rejestru DL, tak jest skonstruowane to przerwanie, że przyjmuje parametr w postaci rejestru DL.
Tyle. 
A podsumowując: zaglądaj do dokumentacji, tam jest wszystko napisane.