Je ne comprends pas comment utiliser Interrompre le 21, AH=0ah

Mes informations proviennent de ici. La consigne demande pour un programme qui lit dans plus de 20 caractères, convertit les caractères en majuscules, puis imprime la saisie en majuscules.

Je n'ai aucune idée de comment accéder à l'entrée de int21/AH=0ah. Je ne peux vraiment pas demander plus de précision à la question, à moins que je comprends ce qui est lié ci-dessus. Quelqu'un peut m'expliquer? Aussi, je suis en utilisant TASM si cela fait une différence. Aussi, je vais tester cela sur freedos.

UPDATE1:

Bien, grâce à votre aide, je crois que je comprends comment l'interruption doit être mis en place et se comporte.

De l'installation:
J'ai pour désigner un ds:dx où je veux ce tampon d'exister

Je dois mettre ds:dx à 20 (ce qui définit le nombre maximum de caractères que la mémoire tampon peut contenir)

Je dois mettre ds:dx+1 à 0 (qui, je pense, d'une certaine manière de définir un nombre minimum de caractères à lire)

Fait appel int21/AH=0ah, qui va aller à la ds:dx et interpréter le preset octets. Il arrêtera le programme pendant qu'il attend d'entrée

int21/AH=0ah se remplit de ds:dx+2+n avec mon entrée (où n est le nombre de caractères en entrée, y compris '\r')

Ma question est maintenant, comment dois-je faire. J'ai juste regardé à travers le x86 Assemblée de Référence du Langage de nouveau, mais n'ont pas été en mesure de trouver quelque chose d'utile encore.

Code que j'ai obtenu jusqu'à présent

           assume          cs:code,ds:code
code       segment
start:

           mov  ax,code ;moves code segment into reg AX
           mov  ds,ax   ;makes ds point to code segment

           mov  ah,0ah
           int  21h
           mov  ax,1234h  ;breakpoint

           mov  ah,9
           mov  dx,offset message
           int  21h

endNow:
           ;;;;;;;;;;ends program;;;;;;;;;;
           mov  ah,0  ;terminate program
           int  21h   ;program ends

message    db   'Hello world!!!',13,10,'$'
code       ends
           end  start

OriginalL'auteur | 2012-11-03