То, что я пытаюсь сделать, - это когда текст вводится, asdHsExaLzLO и нажмите ввод, то должен быть привет. Но с моим текущим кодом нет вывода. Что я делаю не так? Я пытаюсь сохранить заглавные буквы в OUTPUT, но, кажется, он не работает так, как мне нравится.
.MODEL SMALL
.STACK 100H
.DATA
MSG1 DB 'Enter txt: $'
OUTPUT DB '' ;storing uppercase letters
NEWLINE DB 10, 13, '$'
.CODE
MAIN PROC
MOV AX,@DATA ;DS
MOV DS,AX
;print MSG1
LEA DX,MSG1
MOV AH,9
INT 21H
; loop
loop_top:
MOV AH,1 ;read input
INT 21h
cmp al,0dh ; check for Enter?
je Display1 ; if yes,loop goes to display1
; Uppercase check
sub al, 'A'
cmp al, 'Z'-'A'
jbe uppercase ;if uppercase go to uppercase
uppercase:
MOV al, OUTPUT
jmp loop_top
loop_end:
jmp loop_top
Display1:
LEA DX, NEWLINE
MOV AH,09H
INT 21H
LEA DX,OUTPUT
MOV AH,09H
INT 21H
jmp exit_program
exit_program:
MOV AH,4CH ; DOS
INT 21H
MAIN ENDP
END MAIN
ENDF