DATAS SEGMENT
IN_1 DB 100
N1 DB ?
BUFF DB 100 DUP('$')
MSG1 DB 10, 13, 'Please Input STR : $'
MSG2 DB 10, 13, 'The STR Long is : $'
CRLF DB 10, 13, '$'
DATAS ENDS
;----------------------------------
CODES SEGMENT
ASSUME CS:CODES, DS:DATAS
START:
MOV AX, DATAS
MOV DS, AX
MOV DX, OFFSET MSG1 ;提示輸入.
MOV AH, 09H
INT 21H
MOV DX, OFFSET IN_1 ;接收鍵盤輸入.
MOV AH, 0AH
INT 21H
MOV DX, OFFSET CRLF ;回車換行.
MOV AH, 09H
INT 21H
MOV DX, OFFSET BUFF ;輸出原字符串.
MOV AH, 09H
INT 21H
MOV DX, OFFSET MSG2 ;提示長度.
MOV AH, 09H
INT 21H
;----------------------------------
MOV AL, N1
MOV BL, 10
MOV CX, 0
L1:
MOV AH, 0
DIV BL
PUSH AX
INC CX
AND AL, AL
JNZ L1
L2:
POP DX
MOV DL, DH
ADD DL, 48
MOV AH, 2
INT 21H
LOOP L2
;----------------------------------
MOV AH, 4CH
INT 21H
CODES ENDS
END START
;----------------------------------