CODE SEGMENT
ASSUME CS:CODE
BUF DB '1qaz2w,,,,,sx3eASBX7dc'
NUM EQU $-BUF
START:
PUSH CS
POP DS
PUSH CS
POP ES
MOV CX,NUM
LEA SI,BUF
CLD
@M0:
LODSB
CALL BIG2SMALL
MOV [SI-1],AL
LOOP @M0
MOV CX,NUM
LEA SI,BUF
CLD
@M1:
LODSB
MOV DL,AL
MOV AH,2
INT 21H
LOOP @M1
MOV AH,4CH
INT 21H
;========================================
BIG2SMALL PROC NEAR
CMP AL,'A'
JB @CEXIT
CMP AL,'Z'
JBE @CONVS
CMP AL,'a'
JB @CEXIT
CMP AL,'z'
JBE @CONVB
@CEXIT:
RET
@CONVS:
ADD AL,32
JMP @CEXIT
@CONVB:
SUB AL,32
JMP @CEXIT
BIG2SMALL ENDP
;=======================================
CODE ENDS
END START
DATA SEGMENT
BUFFER DB 'ABcd123EFG',0
DATA ENDS
CODE SEGMENT
ASSUME CS:CODE,DS:DATA
START:
MOV AX,DATA
MOV DS,AX
LEA BX,BUFFER
L: MOV AL,[BX]
CMP AL,0
JE L0
CMP AL,'a'
JB K
CMP AL,'z'
JA L1
SUB AL,20H
JMP L1
K: CMP AL,'A'
JB L1
CMP AL,'Z'
JA L1
ADD AL,20H
CMP AL,'a'
L1: INC BX
MOV DL,AL
MOV AH,2
INT 21H
JMP L
L0: MOV AH,4CH
INT 21H
MOV AH,4CH
INT 21H
CODE ENDS
END START
不知道是不是你要的结果