-
Notifications
You must be signed in to change notification settings - Fork 3
/
Copy pathTAKING INPUT AND REVERSE IT.asm
38 lines (29 loc) · 1.15 KB
/
TAKING INPUT AND REVERSE IT.asm
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
TITLE taking_input_and_reverse
.MODEL SMALL
.STACK 100H
.DATA
;STRING1 DW 'HELLO THERE'
.CODE
MAIN PROC
MOV CX, 0
PUSHIN:
MOV AH, 1 ;TAKING INPUT ONE CHARACTER AT A TIME
INT 21H
MOV BL, AL ;STORING THE INPUT IN BL FOR TESTING
CMP BL, 0DH ;TESTING FOR A NEWLINE COMMAND, THE HEX VALUE FOR NEWLINE IS 0DH
JE NEWLINE ;IF FOUND, GO TO NEWLINE LABEL
PUSH BX ;IF NOT, KEEP TAKING INPUT AND PUSHING IN BX
INC CX ;INCREMENT CX TO KNOW HOW MANY CHARACTERS HAS BEEN INPUTTED
JMP PUSHIN ;REPEAT THESE PROCEDURES
NEWLINE:
MOV AH, 2 ;DISPLAY NEWLINE
MOV DL, 0DH
INT 21H
MOV DL, 0AH
INT 21H
POPOUT: ;DISPLAY THE REVERSED FORM OF INPUT
POP DX ;POP DX PERFORMS THE SAME THINGS AS WE DO WITH INT AND AH = 2
INT 21H ;DISPLAY
LOOP POPOUT ;CONTINUE DISPLAYING UNTIL CX BECOMES ZERO
MAIN ENDP
END MAIN