(Hard) Write a program that reads a string of capital letters, ending with a carriage return, and displays the longest sequence of
consecutive alphabetically increasing capital letters read.
Sample execution:
ENTER A STKING OF CAPITAL LETTERS:
FGHADEFGHC
THE LONGEST CONSECUTIVELY INCREASING STRING IS:
DEFGH
/*
*
* Prosen Ghosh
* American International University - Bangladesh (AIUB)
*
*/
TAG: EASY SOLUTION , 8086 MICROPROCESSOR, ASSEMBLY LANGUAGE CHAPTER 6 , PROGRAMMING EXERCISE ,
ASSEMBLY LANGUAGE PROGRAMMING AND ORGANIZATION OF THE IBM PC - CHAPTER 6 , CONSECUTIVE ALPHABETICALLY INCREASING CAPITAL LETTERS .
Solution:
.MODEL SMALL
.STACK 100H
.DATA
INPUTMSG DB 'ENTER A STRING OF CAPITAL LETTERS : $'
OUTPUTMSG DB 0DH,0AH,'THE LONGEST CONSECUTIVE INCREASING STRING IS : $'
.CODE
MAIN PROC
MOV AX,@DATA
MOV DS,AX
MOV CH,0
MOV AH,9
LEA DX,INPUTMSG
INT 21H
INPUT_1:
MOV AH,1
INT 21H
CMP AL,0DH
JE END_
MOV CL,1
MOV BL,AL
MOV DH,AL
INPUT_2:
INT 21H
CMP AL,0DH
JE END_
INC BL
CMP BL,AL
JNE INIT
INC CL
JMP INPUT_2
INIT:
CMP CH,CL
JL UPDATE
MOV CL,1
MOV BL,AL
MOV DH,AL
JMP INPUT_2
UPDATE:
MOV CH,CL
MOV BH,DH
MOV CL,1
MOV BL,AL
MOV DH,AL
JMP INPUT_2
END_:
CMP CH,CL
JL REUPDATE
JMP END_2
REUPDATE:
MOV CH,CL
MOV BH,DH
JMP END_2
END_2:
MOV AH,9
LEA DX,OUTPUTMSG
INT 21H
MOV AH,2
MOV DL,BH
OUTPUT:
CMP CH,0
JE FINISH
DEC CH
INT 21H
INC DL
JMP OUTPUT
FINISH:
MOV AH,4CH
INT 21H
MAIN ENDP
END MAIN
0 nhận xét:
Đăng nhận xét