-
Notifications
You must be signed in to change notification settings - Fork 1
Expand file tree
/
Copy path2a_Searching_First_Last_Capital_Letter.asm
More file actions
85 lines (63 loc) · 2.16 KB
/
Copy path2a_Searching_First_Last_Capital_Letter.asm
File metadata and controls
85 lines (63 loc) · 2.16 KB
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
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
;Shabbir Mahmood ID: 14015139 Assembly Language Lab Problem-1b Finding First & Last Capital Letter Date: 03-03-2017
.MODEL SMALL
.STACK 100H
.DATA
LF EQU 0AH
CR EQU 0DH
MSG1 DB 'Enter the Input String: $'
MSG2 DB CR,LF,'First Capital Letter(Alphabatical Order)is: $'
MSG3 DB CR,LF,'Last Capital Letter(Alphabatical Order)is : $'
MSG4 DB CR,LF,'No Capitals $'
FIRST DB '['
LAST DB '@'
.CODE
MAIN PROC
MOV AX,@DATA
MOV DS,AX ; ADJUSTING PROGRAM SEGMENT PREFIX(PSP)
MOV AH,09H
LEA DX,MSG1
INT 21H
TOP:
MOV AH,01H
INT 21H
CMP AL,0DH ; NEW LINE CHARACTER
JE OUTPUT
CMP AL,'A' ; INPUT CHARACTER IS LESS THAN 'A' (ASCII VALUE)
JL TOP
CMP AL,'Z' ; INPUT CHARACTER IS GREATER THAN 'Z' (ASCII VALUE)
JG TOP
CMP AL,FIRST ; INPUT CHARACTER IS LESS THAN 'FIRST' (ASCII VALUE) SO UPDATE THE FIRST CAPITAL LETTER
JG CHECK_LAST
MOV FIRST,AL
;JMP TOP ;*********** NOT NEED/ BECAUSE, IF ONE ENTERs ONLY ONE CAPITAL LETTER, IT WILL ALSO THE LAST LETTER
CHECK_LAST:
CMP AL,LAST ; INPUT CHARACTER IS GREATER THAN 'LAST' (ASCII VALUE) SO UPDATE THE LAST CAPITAL LETTER
JL TOP
MOV LAST,AL
JMP TOP ;***********
OUTPUT:
CMP FIRST,'['
JNE MAIN_OUTPUT
MOV AH,09H
LEA DX,MSG4
INT 21H
JMP EXIT
MAIN_OUTPUT:
MOV AH,09H
LEA DX,MSG2
INT 21H
MOV AH,02H
MOV DL,FIRST ; FIRST CAPITAL LETTER
INT 21H
MOV AH,09H
LEA DX,MSG3
INT 21H
MOV AH,02H
MOV DL,LAST ; LAST CAPITAL LETTER
INT 21H
JMP EXIT
EXIT:
MOV AH,4CH
INT 21H
MAIN ENDP
END MAIN