CODE SEGMENT
ASSUME CS:CODE
STR1 DB 9,?,9 DUP(?)
START: PUSH CS
POP DS
PUSH CS
POP ES
MOV AH,10
LEA DX,STR1
INT 21H
LEA SI,STR1
MOV CL,[SI+1]
XOR CH,CH
ADD SI,2
CLD
MOV BL,0
@1:
LODSB
SHL BL,1
AND AL,1
ADD BL,AL
LOOP @1
CALL LFCR
MOV CX,2
@2:
PUSH CX
MOV CX,4
ROR BL,CL
MOV DL,BL
AND DL,0FH
ADD DL,30H
CMP DL,3AH
JB @3
ADD DL,7
@3:
MOV AH,2
INT 21H
POP CX
LOOP @2
MOV AH,4CH
INT 21H
;===============================
LFCR PROC NEAR
PUSH AX
PUSH DX
MOV AH,2
MOV DL,13
INT 21H
MOV DL,10
INT 21H
POP DX
POP AX
RET
LFCR ENDP
;================================
CODE ENDS
END START