masm汇编语言问题
将字符串小写变成大写字母,虽然变成功了,但是在结果后为什么有大片乱码?
DATAS SEGMENT
VAR DB 'This is assembly language'
VAR1 DB 50 DUP(?)
DATAS ENDS
STACKS SEGMENT
DB 128 DUP(?)
STACKS ENDS
CODES SEGMENT
ASSUME CS:CODES,DS:DATAS,SS:STACKS
START:
MOV AX,DATAS
MOV DS,AX
MOV CX,25
XOR DX,DX
LEA SI,VAR
LEA DI,VAR1
MOV AL,[SI]
L1:
MOV AL,[SI]
CMP AL,61h
JAE L2
MOV [DI],AL
INC SI
INC DI
LOOP L1
L2:
MOV AL,[SI]
CMP AL,7ah
JB L3
MOV [DI],AL
INC SI
INC DI
LOOP L1
L3:
SUB AL,20H
INC SI
MOV [DI],AL
INC DI
LOOP L1
LEA DX,VAR1
MOV AH,09H
INT 21H
MOV AH,4CH
INT 21H
CODES ENDS
END START
