www.pudn.com > lxh_asm_clock.rar > 4k1.asm


PUBLIC  ONE 
 
DATA    SEGMENT PARA PUBLIC 'DATA' 
BUF     DB  100 
        DB  ? 
        DB  100 DUP(?) 
INPUT   DB  'ENTER THE CHARS:    ' 
        DB  '$' 
RESULT  DB  'THE RESULT IS       ' 
        DB  '$' 
AGAIN   DB  '   PRESS ANY KEY TO COUNINUE. PRESS ESC TO EXIT.  ' 
        DB  '$' 
DATA    ENDS 
 
STACK   SEGMENT PARA PUBLIC 'STACK' 
        DB 200 DUP(?) 
STACK   ENDS 
 
CODE    SEGMENT PARA PUBLIC 'CODE' 
        ASSUME CS:CODE,DS:DATA,SS:STACK 
ONE	PROC  NEAR 
                              
        PUSH  AX 
        PUSH  CX 
        PUSH  DX 
        PUSH  DI 
GO:     MOV   AH,06H 
        MOV   BH,07 
        MOV   CX,0 
        MOV   DX,184FH 
        INT   10H         ;清屏        
        MOV   AH,2 
        MOV   DH,0 
        MOV   DL,0 
        MOV   BH,0 
        INT   10H          ;光标控制 
 
        LEA   DX,INPUT 
        MOV   AH,09H 
        INT   21H 
        LEA   DX,BUF 
        MOV   AH,0AH 
        INT   21H 
        LEA   DI,BUF 
        INC   DI 
        MOV   CL,[DI] 
        MOV   CH,0 
        INC   DI 
CHANG:  MOV   AL,[DI]    ;改变大小写 
        CMP   AL,61H 
        JB    NEXT 
        CMP   AL,7AH 
        JA    NEXT 
        SUB   AL,20H 
        MOV   [DI],AL 
NEXT:   INC   DI 
        LOOP  CHANG   
        MOV   AL,24H 
        MOV   [DI],AL 
         
        MOV   AH,2 
        MOV   DH,4 
        MOV   DL,0 
        MOV   BH,0 
        INT   10H 
 
        LEA   DX,RESULT 
        MOV   AH,9 
        INT   21H 
 
        MOV   AH,2 
        MOV   DH,4 
        MOV   DL,20 
        MOV   BH,0 
        INT   10H 
 
        LEA   DX,BUF           ;显示结果 
        INC   DX 
        INC   DX 
        MOV   AH,9 
        INT   21H 
 
        MOV   AH,2 
        MOV   DH,8 
        MOV   DL,0 
        MOV   BH,0 
        INT   10H 
 
        LEA   DX,AGAIN 
        MOV   AH,9 
        INT   21H 
        MOV   AH,01H 
        INT   21H 
        CMP   AL,1BH 
        JZ    EXIT 
        JMP   GO 
EXIT:   POP   DI 
        POP   DX 
        POP   CX 
        POP   AX 
        RET 
ONE     ENDP 
CODE    ENDS 
        END