MODEL SMALL
.DATA
MSG DB 0DH,0AH, ' ENTER THE STRING :-----> : $'
MSG2 DB 0DH,0AH, ' YOUR STRING IS :-----> : $'
STR1 DB 255 DUP(?)
ONE DB ?
TWO DB ?
.CODE
BEGIN:
MOV AX,@DATA
MOV DS,AX
LEA DX,MSG
MOV AH,09H
INT 21H
LEA SI,STR1
MOV AH,01H
READ:
INT 21H
MOV BL,AL
CMP AL,0DH
JE DISPLAY
XOR AL,20H
MOV [SI],AL
INC SI
;CMP BL,0DH
JMP READ
DISPLAY:
MOV AL,'$'
MOV [SI],AL
LEA DX,MSG2
MOV AH,09H
INT 21H
LEA DX,STR1
MOV AH,09H
INT 21H
; MOV AH,4CH
; INT 21H
.EXIT
END BEGIN
Этот код должен изменить строчные буквы строки в прописные буквы, но я не понимаю ...Можете ли вы объяснить этот код для меня - я не могу это понять?
Какая часть у вас есть проблемы с? Я угадаю и скажу, что это «XOR AL, 20H», который фактически выполняет сопоставление. Если вы посмотрите на таблицу ascii, вы увидите, что вам нужно перевернуть этот бит для преобразования, и xor может сделать это за вас. – Jester