MREAD MACRO A LEA DX,A MOV AH,10 INT 21H ENDM MWRITE MACRO A LEA DX,A MOV AH,9 INT 21H ENDM MCRLF MACRO MOV AH,2 MOV DL,0AH INT 21H MOV DL,0DH INT 21H ENDM MOUT MACRO A MOV DL,A MOV AH,2 INT 21H ENDM DATA SEGMENT BUFER DB 80 DB 0 DB 80 DUP(0) DATA ENDS STACK SEGMENT PARA STACK 'STACK' DB 200 DUP(?) STACK ENDS CODE SEGMENT ASSUME CS:CODE,DS:DATA,SS:STACK START: MOV AX,DATA MOV DS,AX MREAD BUFER MCRLF LEA SI,BUFER+2 MOV CL,BUFER+1 MOV CH,0 CLD LP1: LODSB CMP AL,65 JB ABD CMP AL,89 JA ABC ADD AL,20H JMP LP2 ABD: MOV AL,0FH JMP LP2 ABC: CMP AL,96 JB ABD CMP AL,120 JA ABD SUB AL,20H LP2: MOUT AL LOOP LP1 MCRLF MOV AH,4CH INT 21H CODE ENDS END START