logging in or signing up ALP Prasanth TVM ppnair Download Post to : URL : Related Presentations : Share Add to Flag Embed Email Send to Blogs and Networks Add to Channel Uploaded from authorPOINT lite Insert YouTube videos in PowerPont slides with aS Desktop Copy embed code: (To copy code, click on the text box) Embed: URL: Thumbnail: WordPress Embed Customize Embed The presentation is successfully added In Your Favorites. Views: 57 Category: Education License: All Rights Reserved Like it (4) Dislike it (0) Added: February 23, 2011 This Presentation is Public Favorites: 0 Presentation Description No description available. Comments Posting comment... Premium member Presentation Transcript Slide 1: Introduction to Computers Prasanth.P.Nair (TVM) 9995390258Slide 2: Experiments. Introduction to 8086. To check whether a given number is odd or even. To calculate factorial of a number. T generate first N fibonacci number. Program to find largest of N number and its position in array. Sum of digit of number. Reverse a number. Check whether the given string is palindrome or notSlide 3: Experiments. To find the sum of series. (1+2+3+……N). To search given number in an array. Sort in ascending order.Slide 4: Given No is Odd or Even. CODE SEGMENT ASSUME CS:CODE, DS:DATA MOV AX,DATA MOV DS,AX DISPLAY MACRO ARG MOV DX,OFFSET ARG MOV AX,0900H INT 21H ENDM Macro Code segment start here.Slide 5: DISPLAY MES1 CALL READ CALL CHECK MOV AX,4COOH INT 21HSlide 6: READ PROC MOV AX,0100H INT 21H SUB AL,30H MOV CL,0AH MUL CL MOV BL,AL MOV AX,0100H INT 21H SUB AL,30H ADD BL,AL MOV N,BL RET READ ENDP Eg: 28 Read 2 first ASCII value of 2 is 32 32-30=02 02*10=20 BL 20 Read second number 8 ASCII value of 8 is 38 38-30 =08 BL 20, AL 08 20+08 28 Read procedureSlide 7: CHECK PROC DISPLAY MES2 MOV AH,00H MOV AL,N CALL PRINT MOV AL,N CLC RCR JNC L1 DISPLAY MES4 JMP L2 L1: DISPLAY MES5 L2: RET CHECK ENDP 0 0 1 0 c 0001 1 odd 0010 2 even 0011 3 odd 0100 4 even 0101 5 odd ---- ---- ---- 1010 10 even Check procedureSlide 8: PRINT PROC MOV BX,0AH MOV CX,00H L3: MOV DX,00H DIV BX ADD DX,30H PUSH DX INC CX CMP AX,00H JNZ L3 MOV AX,0200H L4: POP DX INT 21H LOOP L4 RET PRINT ENDP CODE ENDS BX 0A CX 00 DX 00 28/10 Remainder DX 08 Quotient AX 02 08+30=38 Remainder DX 02 Quotient AX 00 02+30=32 Loop l4 : CX decremented automatically, if CX=0, Exit from the loop -- 32 38 Print procedure Code segment end here. StackSlide 9: DATA SEGMENT N DB? CR EQU 0DH LF EQU 0AH MES1 DB”ENTER TWO DIGIT NO: $” MES2 DB CR,LF “THE GIVEN NUMBER $” MES4 DB “IS ODD$” MES5 DB “IS EVEN$” DATA ENDS END OUT PUT ENTER A TWO DIGIT NO: 12 THE GIVEN NUMBER 12 IS EVEN Data segment End of the programSlide 10: Step1 : Start Step2 : Display “Enter a number” Step3 : Read a two digit number as ‘x’ Step4 : Shift one bit right and store it in ‘P’ Step5 : If p=1 then go to step 8 Step6 : Display Even Step7 : Go to step 9 Step 8 : Display Odd Step9 : Stop AlgorithmSlide 11: Read Algorithm Step1 : Start Step2 : Input the first digit of a two digit number , ‘a’ Step3 : Multiply ‘a’ by 10, a=a*10 Step4 : Input second digit of x to b Step5 : x=a+b Step6 : StopSlide 12: Display Algorithm Step1 : Start Step2 : Let ‘x’ be the number to display, count =0 Step3 : Divide ‘x’ by10, and store the remainder in a[count] and quotient in ‘x’ Step4 : count=count+1 Step5 : If x!=0 then goto step 3 Step6 : Display a[count] Step7 : count=count-1 Step8 : If count !=0 then goto step 6 Step9 : StopSlide 13: Fibonacci Numbers.Slide 14: Step1 : Start Step2 : Read a two digit number “N” Step3 : F1=0,F2=1,I=1 Step4 : I=I+1 Step5 : F=F1+F2 Step6 : F1=F2 Step7 : F2=F Step 8 : Display F Step9 : If I<N then go to step 4 Step 10 : Stop Fibonacci Numbers AlgorithmSlide 15: Read Algorithm Step1 : Start Step2 : Input the first digit of a two digit number , ‘a’ Step3 : Multiply ‘a’ by 10, a=a*10 Step4 : Input second digit of x to b Step5 : x=a+b Step6 : StopSlide 16: Display Algorithm Step1 : Start Step2 : Let ‘x’ be the number to display, count =0 Step3 : Divide ‘x’ by10, and store the remainder in a[count] and quotient in ‘x’ Step4 : count=count+1 Step5 : If x!=0 then goto step 3 Step6 : Display a[count] Step7 : count=count-1 Step8 : If count !=0 then goto step 6 Step9 : StopSlide 17: Fibonacci Numbers. CODE SEGMENT ASSUME CS:CODE, DS:DATA MOV AX,DATA MOV DS,AX DISPLAY MACRO ARG MOV DX,OFFSET ARG MOV AX,0900H INT 21H ENDM Macro Code segment start here.Slide 18: DISPLAY MESS CALL READ DISPLAY MESS1 MOV AL,N CALL PRINT DISPLAY MESS2 DISPLAY NEWLI MOV CL,N CMP CL,00H JZ EXIT MOV AL,F1 CALL PRINT DISPLAY SPACE MOV CL, N DEC CL MOV N,CL JZ EXIT BACK : MOV AL,F1 ADD AL,F2 MOV F,AL MOV AL,F2 MOV F1,AL MOV AL,F MOV F2,AL MOV AL,F CALL PRINT DISLPLAY SPACE MOV CL,N DEC CL MOV N,CL JNZ BACK EXIT: MOV AX,4C00H INT 21H F1=0,F2=1 F=F1+F2 F1=F2 F2=F DISPLAY FSlide 19: READ PROC MOV AX,0100H INT 21H SUB AL,30H MOV CL,0AH MUL CL MOV BL,AL MOV AX,0100H INT 21H SUB AL,30H ADD BL,AL MOV N,BL RET READ ENDP Eg: 28 Read 2 first ASCII value of 2 is 32 32-30=02 02*10=20 BL 20 Read second number 8 ASCII value of 8 is 38 38-30 =08 BL 20, AL 08 20+08 28 Read procedureSlide 20: PRINT PROC MOV AH,00H MOV BX,0AH MOV CX,00H L3: MOV DX,00H DIV BX ADD DX,30H PUSH DX INC CX CMP AX,00H JNZ L3 MOV AX,0200H L4: POP DX INT 21H LOOP L4 RET PRINT ENDP CODE ENDS BX 0A CX 00 DX 00 28/10 Remainder DX 08 Quotient AX 02 08+30=38 Remainder DX 02 Quotient AX 00 02+30=32 Loop l4 : CX decremented automatically, if CX=0, Exit from the loop -- 32 38 Print procedure Code segment end here. StackSlide 21: DATA SEGMENT N DB? F1 DB 00H F2 DB 01H F DB? CR EQU 0DH LF EQU 0AH NEWLI DB CR,LF, “$” SPACE DB “ $” MESS DB “ENTER THE LIMIT: $” MESS1 DB CR,LF, “THE FIRST $” MESS2 DB “FIBONACCI NUMBER $” DATA ENDS END Data segment End of the programSlide 22: OUT PUT ENTER A THE LIMIT: 10 THE FIRST 10 FIBONACCI NUMBER 0 1 1 2 3 5 8 13 21 34Slide 23: Find Largest Number in an array and find its position.Slide 24: Algorithm Step1 : Start Step2 : Read “ How many number ; N” Step3 : Count = 1 Step4 : Input first number Step5 : large = first number, place = Count Step6 : Read the next number Step 7 : Count=Count+1 Step8 : If number > large then large = number place = Count Step9 : If Count <=N then go to step 6 Step10 : Display given numbers Step11 : Display large and its position Step12 : StopSlide 25: CODE SEGMENT ASSUME CS:CODE,DS:DATA MOV AX,DATA MOV DS,AX DISPLAY MACRO ARG MOV DX,OFFSET ARG MOV AX,0900H INT 21H ENDM DISPLAY MES1 CALL READ MOV AL,TEMP MOV N,AL MOV COUNT,AL LEA BX,ARRAY L1:DISPLAY MES2 MOV AX,NOS CALL PRINT DISPLAY MES3 CALL READ MOV AL,TEMP MOV [BX],AL INC NOS INC BX DEC COUNT JNZ L1 CALL LARGEST MOV AL,N MOV COUNT,AL LEA BX,ARRAY DISPLAY MES4 L2:MOV AH,00H MOV AL,[BX] CALL PRINT DISPLAY SPACE INC BX DEC COUNT JNZ L2 DISPLAY MES5 MOV AH,00H MOV AL,L CALL PRINT DISPLAY MES6 MOV AX,PLACE CALL PRINT MOV AX,4C00H INT 21H OUT PUT ENTER HOW MANY NUMBER: 05 ENTER THE 1 NUMBER : 52 ENTER THE 1 NUMBER : 62 ENTER THE 1 NUMBER : 32 ENTER THE 1 NUMBER : 99 ENTER THE 1 NUMBER : 20 THE GIVEN NUMBER ARE 52 62 32 99 20 THE LARGEST NUMBER IS : 99 ITS POSITION IN THE ARRAY : 4Slide 26: READ PROC PUSH BX MOV BL,0AH MOV AX,0100H INT 21H SUB AL,30H MUL BL MOV CL,AL MOV AX,0100H INT 21H SUB AL,30H ADD CL,AL MOV TEMP,CL POP BX RET READ ENDP PRINT PROC PUSH BX MOV BX,0AH MOV CX,00H L3:MOV DX,00H DIV BX ADD DX,30H PUSH DX INC CX CMP AX,00H JNZ L3 MOV AX,0200H L4:POP DX INT 21H LOOP L4 POP BX RET PRINT ENDP Read and store in TEMP BX store inside the Stack BX restore from the Stack Read procedure Print procedureSlide 27: LARGEST PROC PUSH BX LEA BX,ARRAY MOV AL,N MOV COUNT,AL MOV CX,01H CMP COUNT,00H JZ RETURN MOV AL,[BX] MOV L,AL MOV PLACE,CX NEXT:MOV AL,[BX] CMP L,AL JZ CON MOV L,AL INC CX MOV PLACE,CX CON: INC BX DEC COUNT JNZ NEXT RETURN:POP BX RET LARGEST ENDP CODE ENDS 5 7 10 2 1 ….. Array BX L=5, Count=1 If (L < [BX] ) L= [BX] and count++ If(L>= [BX]) BX++ and count++ Code segment end here.Slide 28: DATA SEGMENT ARRAY DB 40 DUP(0) NOS DW 01H PLACE DW 00H L DB 00H N DB ? TEMP DB ? COUNT DB ? CR EQU 0DH LF EQU 0AH MES1 DB CR,LF,"ENTER HOW MANY NUMBERS $" MES2 DB CR,LF,"ENTER $" MES3 DB "NUMBER$" MES4 DB CR,LF,"THE GIVEN NUMBER ARE $" SPACE DB " $" MES5 DB CR,LF,"THE LARGE1ST NUMBER IS $" MES6 DB CR,LF,"ITS POSITION IN ARRAY IS $" DATA ENDS END Data segment End of the programSlide 29: OUT PUT ENTER HOW MANY NUMBER: 05 ENTER THE 1 NUMBER : 52 ENTER THE 2 NUMBER : 62 ENTER THE 3 NUMBER : 32 ENTER THE 4 NUMBER : 99 ENTER THE 5 NUMBER : 20 THE GIVEN NUMBER ARE 52 62 32 99 20 THE LARGEST NUMBER IS : 99 ITS POSITION IN THE ARRAY : 4Slide 30: Sum of digit of a numberSlide 31: Step1 : Start Step2 : Sum=0 Step3 : Read a digit “x” Step4 : Sum= Sum + x Step5 : go to step 3 until x= Enter key Step6 : Stop Sum of Digit AlgorithmSlide 32: Sum of digit of a Numbers. CODE SEGMENT ASSUME CS:CODE, DS:DATA MOV AX,DATA MOV DS,AX DISPLAY MACRO ARG MOV DX,OFFSET ARG MOV AX,0900H INT 21H ENDM Macro Code segment start here.Slide 33: DISPLAY MES1 CALL READ DISPLAY MES2 DISPLAY N DISPLAY MES3 MOV AX,SUM CALL PRINT MOV AX,4C00H INT 21H READ PROC LEA BX,N COUNT: MOV AX,0100H INT 21H CMP AL,0DH JZ RETURN MOV [BX],AL INC BX SUB AL,30H MOV AH,00H ADD SUM,AX JMP COUNT RETURN: RET READ ENDP Read procedure N IS AN ARRAY FOR FINDING SUMSlide 34: PRINT PROC MOV BX,0AH MOV CX,00H L3:MOV DX,00H DIV BX ADD DX,30H PUSH DX INC CX CMP AX,00H JNZ L3 MOV AX,0200H L4:POP DX INT 21H LOOP L4 RET PRINT ENDP CODE ENDS Print procedure Code segment end here.Slide 35: DATA SEGMENT N DB 80 DUP(“$”) SUM DW 00H CR EQU 0DH LF EQU 0AH MES1 DB CR,LF, “ENTER A NUMBER: $” MES2 DB CR,LF, “THE SUM OF DIGIT $” MES3 DB “IS $” DATA ENDS END Data segment End of the programSlide 36: OUT PUT ENTER A NUMBER: 123456789 THE SUM OF DIGIT OF 123456789 NUMBER IS 45Slide 37: Reverse a NumberSlide 38: Step1 : Start Step2 : Count = 0 Step3 : Read a digit “x” Step4 : If x = Enter key go to step 8 Step5 : a[count]=x Step6 : Count=Count+1 Step7 : go to Step 3 Step 8 : Display a[count] Step9 : Count = Count - 1 Step 10 : If Count != 0 then go to Step 8 Step 11 : Stop Reverse a Numbers AlgorithmSlide 39: Reverse a Numbers. CODE SEGMENT ASSUME CS:CODE, DS:DATA MOV AX,DATA MOV DS,AX DISPLAY MACRO ARG MOV DX,OFFSET ARG MOV AX,0900H INT 21H ENDM Macro Code segment start here.Slide 40: DISPLAY MES1 CALL READ CALL REVE DISPLAY MES2 DISPLAY N DISPLAY MES3 DISPLAY S MOV AX,4C00H INT 21H READ PROC LEA BX,N CONT: MOV AX,0100H INT 21H CMP AL,0DH JZ RETURN INC COUNT MOV [BX],AL INC BX JMP CONT RETURN: RET READ ENDP Read procedure N and S is arraySlide 41: REVE PROC LEA BX,N MOV CX,COUNT L5:MOV AH,00H MOV AL,[BX] PUSH AX INC BX DEC CX JNZ L5 LEA BX,S MOV CX,COUNT L6:POP AX MOV [BX],AL INC BX DEC CX JNZ L6 RET REVE ENDP CODE ENDS DATA SEGMENT N DB 80 DUP("$") S DB 80 DUP("$") COUNT DW 00H CR EQU 0DH LF EQU 0AH MES1 DB CR,LF,"ENTER A NUMBER $" MES2 DB CR,LF,"THE REVERSE IS $" MES3 DB "IS $" DATA ENDS END 2 3 4 432 PUSH POP 234Slide 42: OUT PUT ENTER A NUMBER: 123456789 THE REVERSE OF 123456789 IS 987654321Slide 43: PALINDROME OR NOTSlide 44: PALINDROME OR NOT. CODE SEGMENT ASSUME CS:CODE, DS:DATA MOV AX,DATA MOV DS,AX DISPLAY MACRO ARG MOV DX,OFFSET ARG MOV AX,0900H INT 21H ENDM Macro Code segment start here.Slide 45: DISPLAY MES1 CALL READ DISPLAY NEWL DISPLAY ARRAY CALL PALIND MOV AX,4C00H INT 21H READ PROC MOV BX,00H CONT:MOV AX,0100H INT 21H CMP AL,0DH JZ RETURN INC COUNT MOV ARRAY[BX],AL INC BX JMP CONT RETURN:RET READ ENDP Read procedureSlide 46: PALIND PROC MOV BX,00H MOV SI,COUNT DEC SI CON:MOV AL,ARRAY[BX] CMP AL,ARRAY[SI] JNZ NOPAL INC BX DEC SI JNZ CON DISPLAY MES2 JMP RETURN1 NOPAL:DISPLAY MES3 RETURN1:RET PALIND ENDP CODE ENDS A B C D E $Slide 47: DATA SEGMENT ARRAY DB 40 DUP("$") COUNT DW 00H CR EQU 0DH LF EQU 0AH NEWL DB CR,LF,"$" MES1 DB CR,LF,"ENTER THE STRING $" MES2 DB " IS A PALINDROME $" MES3 DB " IS NOT A PALINDROME $" DATA ENDS ENDSlide 48: OUT PUT ENTER A STRING: MALAYALAM MALAYALAM IS A PALINDROMESlide 49: Sum of series(1+2+…..+N)Slide 50: Step1 : Start Step2 : Read a two digit number “N” Step3 : Count=0 Step4 : Sum=0 Step5 : Read a Number Step6 : Count=Count+1 Step7 : Sum= Sum+ Number Step 8 : if Count<N then go to Step 5 Step9 : If I<N then go to step 4 Step 10 : Stop Sum of series AlgorithmSlide 51: Sum of series ( 1+2+…..+N) . CODE SEGMENT ASSUME CS:CODE, DS:DATA MOV AX,DATA MOV DS,AX DISPLAY MACRO ARG MOV DX,OFFSET ARG MOV AX,0900H INT 21H ENDM Macro Code segment start here.Slide 52: DISPLAY MES1 CALL READ MOV CH,00H MOV CL,N MOV AH,00H MOV AL,00H L:ADD AX,CX LOOP L MOV CX,AX DISPLAY MES2 MOV AX,CX CALL PRINT MOV AX,4C00H INT 21H READ PROC MOV AX,0100H INT 21H SUB AL,30H MOV CL,0AH MUL CL MOV BL,AL MOV AX,0100H INT 21H SUB AL,30H ADD BL,AL MOV N,BL RET READ ENDPSlide 53: PRINT PROC MOV AH,00H MOV BX,0AH MOV CX,00H L3: MOV DX,00H DIV BX ADD DX,30H PUSH DX INC CX CMP AX,00H JNZ L3 MOV AX,0200H L4: POP DX INT 21H LOOP L4 RET PRINT ENDP CODE ENDS DATA SEGMENT N DB ? CR EQU 0DH LF EQU 0AH MES1 DB "ENTER THE LIMITS $" MES2 DB CR,LF,"THE SUM IS $" DATA ENDS ENDSlide 54: OUT PUT ENTER THE LIMIT OF NUMBER: 05 THE SUM IS 15Slide 55: To search given number in an array. You do not have the permission to view this presentation. In order to view it, please contact the author of the presentation.
ALP Prasanth TVM ppnair Download Post to : URL : Related Presentations : Share Add to Flag Embed Email Send to Blogs and Networks Add to Channel Uploaded from authorPOINT lite Insert YouTube videos in PowerPont slides with aS Desktop Copy embed code: (To copy code, click on the text box) Embed: URL: Thumbnail: WordPress Embed Customize Embed The presentation is successfully added In Your Favorites. Views: 57 Category: Education License: All Rights Reserved Like it (4) Dislike it (0) Added: February 23, 2011 This Presentation is Public Favorites: 0 Presentation Description No description available. Comments Posting comment... Premium member Presentation Transcript Slide 1: Introduction to Computers Prasanth.P.Nair (TVM) 9995390258Slide 2: Experiments. Introduction to 8086. To check whether a given number is odd or even. To calculate factorial of a number. T generate first N fibonacci number. Program to find largest of N number and its position in array. Sum of digit of number. Reverse a number. Check whether the given string is palindrome or notSlide 3: Experiments. To find the sum of series. (1+2+3+……N). To search given number in an array. Sort in ascending order.Slide 4: Given No is Odd or Even. CODE SEGMENT ASSUME CS:CODE, DS:DATA MOV AX,DATA MOV DS,AX DISPLAY MACRO ARG MOV DX,OFFSET ARG MOV AX,0900H INT 21H ENDM Macro Code segment start here.Slide 5: DISPLAY MES1 CALL READ CALL CHECK MOV AX,4COOH INT 21HSlide 6: READ PROC MOV AX,0100H INT 21H SUB AL,30H MOV CL,0AH MUL CL MOV BL,AL MOV AX,0100H INT 21H SUB AL,30H ADD BL,AL MOV N,BL RET READ ENDP Eg: 28 Read 2 first ASCII value of 2 is 32 32-30=02 02*10=20 BL 20 Read second number 8 ASCII value of 8 is 38 38-30 =08 BL 20, AL 08 20+08 28 Read procedureSlide 7: CHECK PROC DISPLAY MES2 MOV AH,00H MOV AL,N CALL PRINT MOV AL,N CLC RCR JNC L1 DISPLAY MES4 JMP L2 L1: DISPLAY MES5 L2: RET CHECK ENDP 0 0 1 0 c 0001 1 odd 0010 2 even 0011 3 odd 0100 4 even 0101 5 odd ---- ---- ---- 1010 10 even Check procedureSlide 8: PRINT PROC MOV BX,0AH MOV CX,00H L3: MOV DX,00H DIV BX ADD DX,30H PUSH DX INC CX CMP AX,00H JNZ L3 MOV AX,0200H L4: POP DX INT 21H LOOP L4 RET PRINT ENDP CODE ENDS BX 0A CX 00 DX 00 28/10 Remainder DX 08 Quotient AX 02 08+30=38 Remainder DX 02 Quotient AX 00 02+30=32 Loop l4 : CX decremented automatically, if CX=0, Exit from the loop -- 32 38 Print procedure Code segment end here. StackSlide 9: DATA SEGMENT N DB? CR EQU 0DH LF EQU 0AH MES1 DB”ENTER TWO DIGIT NO: $” MES2 DB CR,LF “THE GIVEN NUMBER $” MES4 DB “IS ODD$” MES5 DB “IS EVEN$” DATA ENDS END OUT PUT ENTER A TWO DIGIT NO: 12 THE GIVEN NUMBER 12 IS EVEN Data segment End of the programSlide 10: Step1 : Start Step2 : Display “Enter a number” Step3 : Read a two digit number as ‘x’ Step4 : Shift one bit right and store it in ‘P’ Step5 : If p=1 then go to step 8 Step6 : Display Even Step7 : Go to step 9 Step 8 : Display Odd Step9 : Stop AlgorithmSlide 11: Read Algorithm Step1 : Start Step2 : Input the first digit of a two digit number , ‘a’ Step3 : Multiply ‘a’ by 10, a=a*10 Step4 : Input second digit of x to b Step5 : x=a+b Step6 : StopSlide 12: Display Algorithm Step1 : Start Step2 : Let ‘x’ be the number to display, count =0 Step3 : Divide ‘x’ by10, and store the remainder in a[count] and quotient in ‘x’ Step4 : count=count+1 Step5 : If x!=0 then goto step 3 Step6 : Display a[count] Step7 : count=count-1 Step8 : If count !=0 then goto step 6 Step9 : StopSlide 13: Fibonacci Numbers.Slide 14: Step1 : Start Step2 : Read a two digit number “N” Step3 : F1=0,F2=1,I=1 Step4 : I=I+1 Step5 : F=F1+F2 Step6 : F1=F2 Step7 : F2=F Step 8 : Display F Step9 : If I<N then go to step 4 Step 10 : Stop Fibonacci Numbers AlgorithmSlide 15: Read Algorithm Step1 : Start Step2 : Input the first digit of a two digit number , ‘a’ Step3 : Multiply ‘a’ by 10, a=a*10 Step4 : Input second digit of x to b Step5 : x=a+b Step6 : StopSlide 16: Display Algorithm Step1 : Start Step2 : Let ‘x’ be the number to display, count =0 Step3 : Divide ‘x’ by10, and store the remainder in a[count] and quotient in ‘x’ Step4 : count=count+1 Step5 : If x!=0 then goto step 3 Step6 : Display a[count] Step7 : count=count-1 Step8 : If count !=0 then goto step 6 Step9 : StopSlide 17: Fibonacci Numbers. CODE SEGMENT ASSUME CS:CODE, DS:DATA MOV AX,DATA MOV DS,AX DISPLAY MACRO ARG MOV DX,OFFSET ARG MOV AX,0900H INT 21H ENDM Macro Code segment start here.Slide 18: DISPLAY MESS CALL READ DISPLAY MESS1 MOV AL,N CALL PRINT DISPLAY MESS2 DISPLAY NEWLI MOV CL,N CMP CL,00H JZ EXIT MOV AL,F1 CALL PRINT DISPLAY SPACE MOV CL, N DEC CL MOV N,CL JZ EXIT BACK : MOV AL,F1 ADD AL,F2 MOV F,AL MOV AL,F2 MOV F1,AL MOV AL,F MOV F2,AL MOV AL,F CALL PRINT DISLPLAY SPACE MOV CL,N DEC CL MOV N,CL JNZ BACK EXIT: MOV AX,4C00H INT 21H F1=0,F2=1 F=F1+F2 F1=F2 F2=F DISPLAY FSlide 19: READ PROC MOV AX,0100H INT 21H SUB AL,30H MOV CL,0AH MUL CL MOV BL,AL MOV AX,0100H INT 21H SUB AL,30H ADD BL,AL MOV N,BL RET READ ENDP Eg: 28 Read 2 first ASCII value of 2 is 32 32-30=02 02*10=20 BL 20 Read second number 8 ASCII value of 8 is 38 38-30 =08 BL 20, AL 08 20+08 28 Read procedureSlide 20: PRINT PROC MOV AH,00H MOV BX,0AH MOV CX,00H L3: MOV DX,00H DIV BX ADD DX,30H PUSH DX INC CX CMP AX,00H JNZ L3 MOV AX,0200H L4: POP DX INT 21H LOOP L4 RET PRINT ENDP CODE ENDS BX 0A CX 00 DX 00 28/10 Remainder DX 08 Quotient AX 02 08+30=38 Remainder DX 02 Quotient AX 00 02+30=32 Loop l4 : CX decremented automatically, if CX=0, Exit from the loop -- 32 38 Print procedure Code segment end here. StackSlide 21: DATA SEGMENT N DB? F1 DB 00H F2 DB 01H F DB? CR EQU 0DH LF EQU 0AH NEWLI DB CR,LF, “$” SPACE DB “ $” MESS DB “ENTER THE LIMIT: $” MESS1 DB CR,LF, “THE FIRST $” MESS2 DB “FIBONACCI NUMBER $” DATA ENDS END Data segment End of the programSlide 22: OUT PUT ENTER A THE LIMIT: 10 THE FIRST 10 FIBONACCI NUMBER 0 1 1 2 3 5 8 13 21 34Slide 23: Find Largest Number in an array and find its position.Slide 24: Algorithm Step1 : Start Step2 : Read “ How many number ; N” Step3 : Count = 1 Step4 : Input first number Step5 : large = first number, place = Count Step6 : Read the next number Step 7 : Count=Count+1 Step8 : If number > large then large = number place = Count Step9 : If Count <=N then go to step 6 Step10 : Display given numbers Step11 : Display large and its position Step12 : StopSlide 25: CODE SEGMENT ASSUME CS:CODE,DS:DATA MOV AX,DATA MOV DS,AX DISPLAY MACRO ARG MOV DX,OFFSET ARG MOV AX,0900H INT 21H ENDM DISPLAY MES1 CALL READ MOV AL,TEMP MOV N,AL MOV COUNT,AL LEA BX,ARRAY L1:DISPLAY MES2 MOV AX,NOS CALL PRINT DISPLAY MES3 CALL READ MOV AL,TEMP MOV [BX],AL INC NOS INC BX DEC COUNT JNZ L1 CALL LARGEST MOV AL,N MOV COUNT,AL LEA BX,ARRAY DISPLAY MES4 L2:MOV AH,00H MOV AL,[BX] CALL PRINT DISPLAY SPACE INC BX DEC COUNT JNZ L2 DISPLAY MES5 MOV AH,00H MOV AL,L CALL PRINT DISPLAY MES6 MOV AX,PLACE CALL PRINT MOV AX,4C00H INT 21H OUT PUT ENTER HOW MANY NUMBER: 05 ENTER THE 1 NUMBER : 52 ENTER THE 1 NUMBER : 62 ENTER THE 1 NUMBER : 32 ENTER THE 1 NUMBER : 99 ENTER THE 1 NUMBER : 20 THE GIVEN NUMBER ARE 52 62 32 99 20 THE LARGEST NUMBER IS : 99 ITS POSITION IN THE ARRAY : 4Slide 26: READ PROC PUSH BX MOV BL,0AH MOV AX,0100H INT 21H SUB AL,30H MUL BL MOV CL,AL MOV AX,0100H INT 21H SUB AL,30H ADD CL,AL MOV TEMP,CL POP BX RET READ ENDP PRINT PROC PUSH BX MOV BX,0AH MOV CX,00H L3:MOV DX,00H DIV BX ADD DX,30H PUSH DX INC CX CMP AX,00H JNZ L3 MOV AX,0200H L4:POP DX INT 21H LOOP L4 POP BX RET PRINT ENDP Read and store in TEMP BX store inside the Stack BX restore from the Stack Read procedure Print procedureSlide 27: LARGEST PROC PUSH BX LEA BX,ARRAY MOV AL,N MOV COUNT,AL MOV CX,01H CMP COUNT,00H JZ RETURN MOV AL,[BX] MOV L,AL MOV PLACE,CX NEXT:MOV AL,[BX] CMP L,AL JZ CON MOV L,AL INC CX MOV PLACE,CX CON: INC BX DEC COUNT JNZ NEXT RETURN:POP BX RET LARGEST ENDP CODE ENDS 5 7 10 2 1 ….. Array BX L=5, Count=1 If (L < [BX] ) L= [BX] and count++ If(L>= [BX]) BX++ and count++ Code segment end here.Slide 28: DATA SEGMENT ARRAY DB 40 DUP(0) NOS DW 01H PLACE DW 00H L DB 00H N DB ? TEMP DB ? COUNT DB ? CR EQU 0DH LF EQU 0AH MES1 DB CR,LF,"ENTER HOW MANY NUMBERS $" MES2 DB CR,LF,"ENTER $" MES3 DB "NUMBER$" MES4 DB CR,LF,"THE GIVEN NUMBER ARE $" SPACE DB " $" MES5 DB CR,LF,"THE LARGE1ST NUMBER IS $" MES6 DB CR,LF,"ITS POSITION IN ARRAY IS $" DATA ENDS END Data segment End of the programSlide 29: OUT PUT ENTER HOW MANY NUMBER: 05 ENTER THE 1 NUMBER : 52 ENTER THE 2 NUMBER : 62 ENTER THE 3 NUMBER : 32 ENTER THE 4 NUMBER : 99 ENTER THE 5 NUMBER : 20 THE GIVEN NUMBER ARE 52 62 32 99 20 THE LARGEST NUMBER IS : 99 ITS POSITION IN THE ARRAY : 4Slide 30: Sum of digit of a numberSlide 31: Step1 : Start Step2 : Sum=0 Step3 : Read a digit “x” Step4 : Sum= Sum + x Step5 : go to step 3 until x= Enter key Step6 : Stop Sum of Digit AlgorithmSlide 32: Sum of digit of a Numbers. CODE SEGMENT ASSUME CS:CODE, DS:DATA MOV AX,DATA MOV DS,AX DISPLAY MACRO ARG MOV DX,OFFSET ARG MOV AX,0900H INT 21H ENDM Macro Code segment start here.Slide 33: DISPLAY MES1 CALL READ DISPLAY MES2 DISPLAY N DISPLAY MES3 MOV AX,SUM CALL PRINT MOV AX,4C00H INT 21H READ PROC LEA BX,N COUNT: MOV AX,0100H INT 21H CMP AL,0DH JZ RETURN MOV [BX],AL INC BX SUB AL,30H MOV AH,00H ADD SUM,AX JMP COUNT RETURN: RET READ ENDP Read procedure N IS AN ARRAY FOR FINDING SUMSlide 34: PRINT PROC MOV BX,0AH MOV CX,00H L3:MOV DX,00H DIV BX ADD DX,30H PUSH DX INC CX CMP AX,00H JNZ L3 MOV AX,0200H L4:POP DX INT 21H LOOP L4 RET PRINT ENDP CODE ENDS Print procedure Code segment end here.Slide 35: DATA SEGMENT N DB 80 DUP(“$”) SUM DW 00H CR EQU 0DH LF EQU 0AH MES1 DB CR,LF, “ENTER A NUMBER: $” MES2 DB CR,LF, “THE SUM OF DIGIT $” MES3 DB “IS $” DATA ENDS END Data segment End of the programSlide 36: OUT PUT ENTER A NUMBER: 123456789 THE SUM OF DIGIT OF 123456789 NUMBER IS 45Slide 37: Reverse a NumberSlide 38: Step1 : Start Step2 : Count = 0 Step3 : Read a digit “x” Step4 : If x = Enter key go to step 8 Step5 : a[count]=x Step6 : Count=Count+1 Step7 : go to Step 3 Step 8 : Display a[count] Step9 : Count = Count - 1 Step 10 : If Count != 0 then go to Step 8 Step 11 : Stop Reverse a Numbers AlgorithmSlide 39: Reverse a Numbers. CODE SEGMENT ASSUME CS:CODE, DS:DATA MOV AX,DATA MOV DS,AX DISPLAY MACRO ARG MOV DX,OFFSET ARG MOV AX,0900H INT 21H ENDM Macro Code segment start here.Slide 40: DISPLAY MES1 CALL READ CALL REVE DISPLAY MES2 DISPLAY N DISPLAY MES3 DISPLAY S MOV AX,4C00H INT 21H READ PROC LEA BX,N CONT: MOV AX,0100H INT 21H CMP AL,0DH JZ RETURN INC COUNT MOV [BX],AL INC BX JMP CONT RETURN: RET READ ENDP Read procedure N and S is arraySlide 41: REVE PROC LEA BX,N MOV CX,COUNT L5:MOV AH,00H MOV AL,[BX] PUSH AX INC BX DEC CX JNZ L5 LEA BX,S MOV CX,COUNT L6:POP AX MOV [BX],AL INC BX DEC CX JNZ L6 RET REVE ENDP CODE ENDS DATA SEGMENT N DB 80 DUP("$") S DB 80 DUP("$") COUNT DW 00H CR EQU 0DH LF EQU 0AH MES1 DB CR,LF,"ENTER A NUMBER $" MES2 DB CR,LF,"THE REVERSE IS $" MES3 DB "IS $" DATA ENDS END 2 3 4 432 PUSH POP 234Slide 42: OUT PUT ENTER A NUMBER: 123456789 THE REVERSE OF 123456789 IS 987654321Slide 43: PALINDROME OR NOTSlide 44: PALINDROME OR NOT. CODE SEGMENT ASSUME CS:CODE, DS:DATA MOV AX,DATA MOV DS,AX DISPLAY MACRO ARG MOV DX,OFFSET ARG MOV AX,0900H INT 21H ENDM Macro Code segment start here.Slide 45: DISPLAY MES1 CALL READ DISPLAY NEWL DISPLAY ARRAY CALL PALIND MOV AX,4C00H INT 21H READ PROC MOV BX,00H CONT:MOV AX,0100H INT 21H CMP AL,0DH JZ RETURN INC COUNT MOV ARRAY[BX],AL INC BX JMP CONT RETURN:RET READ ENDP Read procedureSlide 46: PALIND PROC MOV BX,00H MOV SI,COUNT DEC SI CON:MOV AL,ARRAY[BX] CMP AL,ARRAY[SI] JNZ NOPAL INC BX DEC SI JNZ CON DISPLAY MES2 JMP RETURN1 NOPAL:DISPLAY MES3 RETURN1:RET PALIND ENDP CODE ENDS A B C D E $Slide 47: DATA SEGMENT ARRAY DB 40 DUP("$") COUNT DW 00H CR EQU 0DH LF EQU 0AH NEWL DB CR,LF,"$" MES1 DB CR,LF,"ENTER THE STRING $" MES2 DB " IS A PALINDROME $" MES3 DB " IS NOT A PALINDROME $" DATA ENDS ENDSlide 48: OUT PUT ENTER A STRING: MALAYALAM MALAYALAM IS A PALINDROMESlide 49: Sum of series(1+2+…..+N)Slide 50: Step1 : Start Step2 : Read a two digit number “N” Step3 : Count=0 Step4 : Sum=0 Step5 : Read a Number Step6 : Count=Count+1 Step7 : Sum= Sum+ Number Step 8 : if Count<N then go to Step 5 Step9 : If I<N then go to step 4 Step 10 : Stop Sum of series AlgorithmSlide 51: Sum of series ( 1+2+…..+N) . CODE SEGMENT ASSUME CS:CODE, DS:DATA MOV AX,DATA MOV DS,AX DISPLAY MACRO ARG MOV DX,OFFSET ARG MOV AX,0900H INT 21H ENDM Macro Code segment start here.Slide 52: DISPLAY MES1 CALL READ MOV CH,00H MOV CL,N MOV AH,00H MOV AL,00H L:ADD AX,CX LOOP L MOV CX,AX DISPLAY MES2 MOV AX,CX CALL PRINT MOV AX,4C00H INT 21H READ PROC MOV AX,0100H INT 21H SUB AL,30H MOV CL,0AH MUL CL MOV BL,AL MOV AX,0100H INT 21H SUB AL,30H ADD BL,AL MOV N,BL RET READ ENDPSlide 53: PRINT PROC MOV AH,00H MOV BX,0AH MOV CX,00H L3: MOV DX,00H DIV BX ADD DX,30H PUSH DX INC CX CMP AX,00H JNZ L3 MOV AX,0200H L4: POP DX INT 21H LOOP L4 RET PRINT ENDP CODE ENDS DATA SEGMENT N DB ? CR EQU 0DH LF EQU 0AH MES1 DB "ENTER THE LIMITS $" MES2 DB CR,LF,"THE SUM IS $" DATA ENDS ENDSlide 54: OUT PUT ENTER THE LIMIT OF NUMBER: 05 THE SUM IS 15Slide 55: To search given number in an array.