1

「ESC」を押すまでキーボードから任意の英数字シーケンスを入力し、挿入されたシーケンスを逆順に印刷するアセンブリプログラムを作成する必要がありますが、番号はありません。

例: "Acd1fop67klm2xwz" -> "zwxmlkpofdcA"

私は今までにこれを作りました:

MAX     EQU     20
BUF     DB      MAX DUP(?)    

SUB AH,AH
       INT 16H
       CMP AH,1
       JE  ;end of entering

 MOV BX,OFFSET BUF
       SUB DI,DI  


GETCH:  ...
       MOV [BX+DI],AL
       INC DI
       CMP DI,MAX
       JNE GETCH        

PREV:   DEC DI
       JS  KRAI
       MOV AL,[BX+DI]
       CMP AL,30H
       JB  NODIG
       CMP AL,39H
       JBE PREV
NODIG:; show symbols
       JMP PREV
KRAI:  ;ends the program 
4

1 に答える 1