toot D N to o oto tot Copyp o No D t o ott C o y to yp C y oot opy t C y C yp t pyp tot p ototo y yp t y y to Copyp to ppyyp p D o p C y ot C p y py D t ot p to pyyp tto C p o o o o o ot o t p Co p o yp t N t py N t p N C N D o C D y C oto C yp o p t t y y o pyp to N py to p o to o t pp y o D N y o D o D to t p yy D oto op C yp o to y to o y o o yp y yp N N to o o o y to pyyp Do tto o o oN o N t Co y D o No D to oo C yy oo C p o o t p o yp o y o t y D ypy o C D oo Do Noot yyp D No o oppyyp o tto ot y N to yp t C p oD Noot ypy ot to D D N to o o p D o t C D pp No C p y yp o t o to Co yp o N y o yp o y t Cop o p Ct op o y y o t No ypy o C o ot yyp oo y t ppy tto ypyp yp o y oto to D ot oot py N yp oo D to o yp yp to C Co y to o o yp yp o o to t y o o C o t p N D o N tt p t p o o y yp N y to tto opypy t C pyp Do ottto y pyp ot C D to y o p D D ot pp o Noo o o N y tto yp o o D N o y t C opp y ot o yp opp N o tto p y D ooN D N t o C oto op y to opp N C yp o o too Do No D Noo yyyp o Do N t p pyp C po y MCSL 017 Assembly Language Programming Manual Sessions 3 and 4: 1. Write a program to add two numbers present in two consecutive memory locations and store the result in next memory location. .model small .data n1 db 12h n2 db 13h res db ? .code mov ax, @data mov ds, ax mov al, n1 add al, n2 mov res, al mov ah, 4ch int 21h end 2. Develop program to read a character from console and echo it. .model small .data msg1 db 'Enter a Character : $' msg2 db 10,13,'Your Input is : $' .code mov ax, @data mov ds, ax mov ah, 9 lea dx, msg1 int 21h mov ah, 1 int 21h mov bl, al mov ah, 9 lea dx, msg2 int 21h mov dl, bl mov ah, 2 int 21h mov ah, 4ch int 21h end MCSL 017 1 Loganathan R
toot D N to o oto tot Copyp o No D t o ott C o y to yp C y oot opy t C y C yp t pyp tot p ototo y yp t y y to Copyp to ppyyp p D o p C y ot C p y py D t ot p to pyyp tto C p o o o o o ot o t p Co p o yp t N t py N t p N C N D o C D y C oto C yp o p t t y y o pyp to N py to p o to o t pp y o D N y o D o D to t p yy D oto op C yp o to y to o y o o yp y yp N N to o o o y to pyyp Do tto o o oN o N t Co y D o No D to oo C yy oo C p o o t p o yp o y o t y D ypy o C D oo Do Noot yyp D No o oppyyp o tto ot y N to yp t C p oD Noot ypy ot to D D N to o o p D o t C D pp No C p y yp o t o to Co yp o N y o yp o y t Cop o p Ct op o y y o t No ypy o C o ot yyp oo y t ppy tto ypyp yp o y oto to D ot oot py N yp oo D to o yp yp to C Co y to o o yp yp o o to t y o o C o t p N D o N tt p t p o o y yp N y to tto opypy t C pyp Do ottto y pyp ot C D to y o p D D ot pp o Noo o o N y tto yp o o D N o y t C opp y ot o yp opp N o tto p y D ooN D N t o C oto op y to opp N C yp o o too Do No D Noo yyyp o Do N t p pyp C po y 3. Develop and execute a program to read 10 chars from console. .model small .data msg1 db 'Enter 10 Characters : $' msg2 db 10,13,'Your Input is : $' chars db 10 dup(?) .code mov ax, @data mov ds, ax mov ah, 9 lea dx, msg1 int 21h lea si, chars mov cl, 10 mov ah, 1 agn: int 21h mov [si], al inc si dec cl jnz agn mov ah, 9 lea dx, msg2 int 21h lea si, chars mov cl, 10 mov ah, 2 nxt: mov dl, [si] int 21h inc si dec cl jnz nxt mov ah, 4ch int 21h end MCSL 017 2 Loganathan R
toot D N to o oto tot Copyp o No D t o ott C o y to yp C y oot opy t C y C yp t pyp tot p ototo y yp t y y to Copyp to ppyyp p D o p C y ot C p y py D t ot p to pyyp tto C p o o o o o ot o t p Co p o yp t N t py N t p N C N D o C D y C oto C yp o p t t y y o pyp to N py to p o to o t pp y o D N y o D o D to t p yy D oto op C yp o to y to o y o o yp y yp N N to o o o y to pyyp Do tto o o oN o N t Co y D o No D to oo C yy oo C p o o t p o yp o y o t y D ypy o C D oo Do Noot yyp D No o oppyyp o tto ot y N to yp t C p oD Noot ypy ot to D D N to o o p D o t C D pp No C p y yp o t o to Co yp o N y o yp o y t Cop o p Ct op o y y o t No ypy o C o ot yyp oo y t ppy tto ypyp yp o y oto to D ot oot py N yp oo D to o yp yp to C Co y to o o yp yp o o to t y o o C o t p N D o N tt p t p o o y yp N y to tto opypy t C pyp Do ottto y pyp ot C D to y o p D D ot pp o Noo o o N y tto yp o o D N o y t C opp y ot o yp opp N o tto p y D ooN D N t o C oto op y to opp N C yp o o too Do No D Noo yyyp o Do N t p pyp C po y 4. Write a program to exchange two memory variables using MOV and XCHG instruction. Can you do it with just XCHG? .model small .data n1 db 12h n2 db 13h .code mov ax, @data mov ds, ax mov al, n1 xchg al, n2 mov n1,al mov ah, 4ch int 21h end Using XCHG only: .model small .data n1 db 12h n2 db 13h .code mov ax, @data mov ds, ax xchg al, n1 xchg al, n2 xchg n1,al mov ah, 4ch int 21h end MCSL 017 3 Loganathan R
toot D N to o oto tot Copyp o No D t o ott C o y to yp C y oot opy t C y C yp t pyp tot p ototo y yp t y y to Copyp to ppyyp p D o p C y ot C p y py D t ot p to pyyp tto C p o o o o o ot o t p Co p o yp t N t py N t p N C N D o C D y C oto C yp o p t t y y o pyp to N py to p o to o t pp y o D N y o D o D to t p yy D oto op C yp o to y to o y o o yp y yp N N to o o o y to pyyp Do tto o o oN o N t Co y D o No D to oo C yy oo C p o o t p o yp o y o t y D ypy o C D oo Do Noot yyp D No o oppyyp o tto ot y N to yp t C p oD Noot ypy ot to D D N to o o p D o t C D pp No C p y yp o t o to Co yp o N y o yp o y t Cop o p Ct op o y y o t No ypy o C o ot yyp oo y t ppy tto ypyp yp o y oto to D ot oot py N yp oo D to o yp yp to C Co y to o o yp yp o o to t y o o C o t p N D o N tt p t p o o y yp N y to tto opypy t C pyp Do ottto y pyp ot C D to y o p D D ot pp o Noo o o N y tto yp o o D N o y t C opp y ot o yp opp N o tto p y D ooN D N t o C oto op y to opp N C yp o o too Do No D Noo yyyp o Do N t p pyp C po y 5. Write a program to find the sum of two BCD numbers stored in memory. .model small .data n1 db 12h n2 db 13h res db ? .code mov ax, @data mov ds, ax mov al, n1 add al, n2 daa mov res, al mov ah, 4ch int 21h end MCSL 017 4 Loganathan R
toot D N to o oto tot Copyp o No D t o ott C o y to yp C y oot opy t C y C yp t pyp tot p ototo y yp t y y to Copyp to ppyyp p D o p C y ot C p y py D t ot p to pyyp tto C p o o o o o ot o t p Co p o yp t N t py N t p N C N D o C D y C oto C yp o p t t y y o pyp to N py to p o to o t pp y o D N y o D o D to t p yy D oto op C yp o to y to o y o o yp y yp N N to o o o y to pyyp Do tto o o oN o N t Co y D o No D to oo C yy oo C p o o t p o yp o y o t y D ypy o C D oo Do Noot yyp D No o oppyyp o tto ot y N to yp t C p oD Noot ypy ot to D D N to o o p D o t C D pp No C p y yp o t o to Co yp o N y o yp o y t Cop o p Ct op o y y o t No ypy o C o ot yyp oo y t ppy tto ypyp yp o y oto to D ot oot py N yp oo D to o yp yp to C Co y to o o yp yp o o to t y o o C o t p N D o N tt p t p o o y yp N y to tto opypy t C pyp Do ottto y pyp ot C D to y o p D D ot pp o Noo o o N y tto yp o o D N o y t C opp y ot o yp opp N o tto p y D ooN D N t o C oto op y to opp N C yp o o too Do No D Noo yyyp o Do N t p pyp C po y 6. Write a program, which will read two decimal numbers, then multiply them together, and finally print out the result (in decimal). .model small .data msg1 db 'Enter First Decimal Digit : $' msg2 db 10,13,'Enter Second Decimal Digit : $' msg3 db 10,13,'Multiplied Result : $' .code mov ax, @data mov ds, ax mov ah, 9 lea dx, msg1 int 21h mov ah, 1 int 21h sub al, 30h mov bl, al mov ah, 9 lea dx, msg2 int 21h mov ah, 1 int 21h sub al, 30h mul bl aam add ax, 3030h mov bx, ax mov ah, 9 lea dx, msg3 int 21h mov dl, bh mov ah, 2 int 21h mov dl, bl mov ah, 2 int 21h mov ah, 4ch int 21h end MCSL 017 5 Loganathan R
toot D N to o oto tot Copyp o No D t o ott C o y to yp C y oot opy t C y C yp t pyp tot p ototo y yp t y y to Copyp to ppyyp p D o p C y ot C p y py D t ot p to pyyp tto C p o o o o o ot o t p Co p o yp t N t py N t p N C N D o C D y C oto C yp o p t t y y o pyp to N py to p o to o t pp y o D N y o D o D to t p yy D oto op C yp o to y to o y o o yp y yp N N to o o o y to pyyp Do tto o o oN o N t Co y D o No D to oo C yy oo C p o o t p o yp o y o t y D ypy o C D oo Do Noot yyp D No o oppyyp o tto ot y N to yp t C p oD Noot ypy ot to D D N to o o p D o t C D pp No C p y yp o t o to Co yp o N y o yp o y t Cop o p Ct op o y y o t No ypy o C o ot yyp oo y t ppy tto ypyp yp o y oto to D ot oot py N yp oo D to o yp yp to C Co y to o o yp yp o o to t y o o C o t p N D o N tt p t p o o y yp N y to tto opypy t C pyp Do ottto y pyp ot C D to y o p D D ot pp o Noo o o N y tto yp o o D N o y t C opp y ot o yp opp N o tto p y D ooN D N t o C oto op y to opp N C yp o o too Do No D Noo yyyp o Do N t p pyp C po y 7. Write a program to convert the ASCII code to its BCD equivalent. .model small .data ascii db 46H ;for Hex ditits 30h-39h,41h-46h bcd db ? .code mov ax, @data mov ds, ax mov al, ascii cmp al, 39h jbe sub30 sub al, 7h sub30: sub al, 30h daa mov bcd, al mov ah, 4ch int 21h end MCSL 017 6 Loganathan R
toot D N to o oto tot Copyp o No D t o ott C o y to yp C y oot opy t C y C yp t pyp tot p ototo y yp t y y to Copyp to ppyyp p D o p C y ot C p y py D t ot p to pyyp tto C p o o o o o ot o t p Co p o yp t N t py N t p N C N D o C D y C oto C yp o p t t y y o pyp to N py to p o to o t pp y o D N y o D o D to t p yy D oto op C yp o to y to o y o o yp y yp N N to o o o y to pyyp Do tto o o oN o N t Co y D o No D to oo C yy oo C p o o t p o yp o y o t y D ypy o C D oo Do Noot yyp D No o oppyyp o tto ot y N to yp t C p oD Noot ypy ot to D D N to o o p D o t C D pp No C p y yp o t o to Co yp o N y o yp o y t Cop o p Ct op o y y o t No ypy o C o ot yyp oo y t ppy tto ypyp yp o y oto to D ot oot py N yp oo D to o yp yp to C Co y to o o yp yp o o to t y o o C o t p N D o N tt p t p o o y yp N y to tto opypy t C pyp Do ottto y pyp ot C D to y o p D D ot pp o Noo o o N y tto yp o o D N o y t C opp y ot o yp opp N o tto p y D ooN D N t o C oto op y to opp N C yp o o too Do No D Noo yyyp o Do N t p pyp C po y 8. Write a program, which will read in two decimal inputs and print out their sum, in decimal. .model small .data msg1 db 'Enter First Decimal Digit : $' msg2 db 10,13,'Enter Second Decimal Digit : $' msg3 db 10,13,'Addition Result : $' .code mov ax, @data mov ds, ax mov ah, 9 lea dx, msg1 int 21h mov ah, 1 int 21h sub al, 30h mov bl, al mov ah, 9 lea dx, msg2 int 21h mov ah, 1 int 21h sub al, 30h add al, bl aam add ax, 3030h mov bx, ax mov ah, 9 lea dx, msg3 int 21h mov dl, bh mov ah, 2 int 21h mov dl, bl mov ah, 2 int 21h mov ah, 4ch int 21h end MCSL 017 7 Loganathan R
toot D N to o oto tot Copyp o No D t o ott C o y to yp C y oot opy t C y C yp t pyp tot p ototo y yp t y y to Copyp to ppyyp p D o p C y ot C p y py D t ot p to pyyp tto C p o o o o o ot o t p Co p o yp t N t py N t p N C N D o C D y C oto C yp o p t t y y o pyp to N py to p o to o t pp y o D N y o D o D to t p yy D oto op C yp o to y to o y o o yp y yp N N to o o o y to pyyp Do tto o o oN o N t Co y D o No D to oo C yy oo C p o o t p o yp o y o t y D ypy o C D oo Do Noot yyp D No o oppyyp o tto ot y N to yp t C p oD Noot ypy ot to D D N to o o p D o t C D pp No C p y yp o t o to Co yp o N y o yp o y t Cop o p Ct op o y y o t No ypy o C o ot yyp oo y t ppy tto ypyp yp o y oto to D ot oot py N yp oo D to o yp yp to C Co y to o o yp yp o o to t y o o C o t p N D o N tt p t p o o y yp N y to tto opypy t C pyp Do ottto y pyp ot C D to y o p D D ot pp o Noo o o N y tto yp o o D N o y t C opp y ot o yp opp N o tto p y D ooN D N t o C oto op y to opp N C yp o o too Do No D Noo yyyp o Do N t p pyp C po y 9. Write a program, which will read in two decimal inputs and print out the smaller of the two, in decimal. .model small .data msg1 db 'Enter First Decimal Digit : $' msg2 db 10,13,'Enter Second Decimal Digit : $' msg3 db 10,13,'Smallest : $' .code mov ax, @data mov ds, ax mov ah, 9 lea dx, msg1 int 21h mov ah, 1 int 21h mov bl, al mov ah, 9 lea dx, msg2 int 21h mov ah, 1 int 21h mov bh, al mov ah, 9 lea dx, msg3 int 21h cmp bl, bh jb lessbl mov dl, bh jmp disp lessbl: mov dl, bl disp: mov ah, 2 int 21h mov ah, 4ch int 21h end MCSL 017 8 Loganathan R
toot D N to o oto tot Copyp o No D t o ott C o y to yp C y oot opy t C y C yp t pyp tot p ototo y yp t y y to Copyp to ppyyp p D o p C y ot C p y py D t ot p to pyyp tto C p o o o o o ot o t p Co p o yp t N t py N t p N C N D o C D y C oto C yp o p t t y y o pyp to N py to p o to o t pp y o D N y o D o D to t p yy D oto op C yp o to y to o y o o yp y yp N N to o o o y to pyyp Do tto o o oN o N t Co y D o No D to oo C yy oo C p o o t p o yp o y o t y D ypy o C D oo Do Noot yyp D No o oppyyp o tto ot y N to yp t C p oD Noot ypy ot to D D N to o o p D o t C D pp No C p y yp o t o to Co yp o N y o yp o y t Cop o p Ct op o y y o t No ypy o C o ot yyp oo y t ppy tto ypyp yp o y oto to D ot oot py N yp oo D to o yp yp to C Co y to o o yp yp o o to t y o o C o t p N D o N tt p t p o o y yp N y to tto opypy t C pyp Do ottto y pyp ot C D to y o p D D ot pp o Noo o o N y tto yp o o D N o y t C opp y ot o yp opp N o tto p y D ooN D N t o C oto op y to opp N C yp o o too Do No D Noo yyyp o Do N t p pyp C po y 10. Write a program to calculate the average of three given numbers stored in memory. .model small .data n1 db 2 n2 db 3 n3 db 3 avg db ? .code mov ax, @data mov ds, ax xor ah, ah mov al, n1 add al, n2 jnc adnxt inc ah adnxt: add al, n3 jnc cntnu inc ah cntnu: mov bl, 3 div bl mov avg, al mov ah, 4ch int 21h end MCSL 017 9 Loganathan R
toot D N to o oto tot Copyp o No D t o ott C o y to yp C y oot opy t C y C yp t pyp tot p ototo y yp t y y to Copyp to ppyyp p D o p C y ot C p y py D t ot p to pyyp tto C p o o o o o ot o t p Co p o yp t N t py N t p N C N D o C D y C oto C yp o p t t y y o pyp to N py to p o to o t pp y o D N y o D o D to t p yy D oto op C yp o to y to o y o o yp y yp N N to o o o y to pyyp Do tto o o oN o N t Co y D o No D to oo C yy oo C p o o t p o yp o y o t y D ypy o C D oo Do Noot yyp D No o oppyyp o tto ot y N to yp t C p oD Noot ypy ot to D D N to o o p D o t C D pp No C p y yp o t o to Co yp o N y o yp o y t Cop o p Ct op o y y o t No ypy o C o ot yyp oo y t ppy tto ypyp yp o y oto to D ot oot py N yp oo D to o yp yp to C Co y to o o yp yp o o to t y o o C o t p N D o N tt p t p o o y yp N y to tto opypy t C pyp Do ottto y pyp ot C D to y o p D D ot pp o Noo o o N y tto yp o o D N o y t C opp y ot o yp opp N o tto p y D ooN D N t o C oto op y to opp N C yp o o too Do No D Noo yyyp o Do N t p pyp C po y 11. Write a program in 8086 assembly language to find the volume of sphere using following formula: V = 4/3π r3 ;find the volume of sphere using following formula: V = 4/3 pi r3 .model small .data r db 3 v db ? .code mov ax, @data mov ds, ax mov al, r mul al mul r mov bl ,al mov al, 88 mov cl, 21 div cl mul bl mov v, al ; result in hexa decimal mov ah, 4ch int 21h end MCSL 017 10 Loganathan R
toot D N to o oto tot Copyp o No D t o ott C o y to yp C y oot opy t C y C yp t pyp tot p ototo y yp t y y to Copyp to ppyyp p D o p C y ot C p y py D t ot p to pyyp tto C p o o o o o ot o t p Co p o yp t N t py N t p N C N D o C D y C oto C yp o p t t y y o pyp to N py to p o to o t pp y o D N y o D o D to t p yy D oto op C yp o to y to o y o o yp y yp N N to o o o y to pyyp Do tto o o oN o N t Co y D o No D to oo C yy oo C p o o t p o yp o y o t y D ypy o C D oo Do Noot yyp D No o oppyyp o tto ot y N to yp t C p oD Noot ypy ot to D D N to o o p D o t C D pp No C p y yp o t o to Co yp o N y o yp o y t Cop o p Ct op o y y o t No ypy o C o ot yyp oo y t ppy tto ypyp yp o y oto to D ot oot py N yp oo D to o yp yp to C Co y to o o yp yp o o to t y o o C o t p N D o N tt p t p o o y yp N y to tto opypy t C pyp Do ottto y pyp ot C D to y o p D D ot pp o Noo o o N y tto yp o o D N o y t C opp y ot o yp opp N o tto p y D ooN D N t o C oto op y to opp N C yp o o too Do No D Noo yyyp o Do N t p pyp C po y 12. Write a program to evaluates 3 * (x^3) + 4x + 5 if flag = = 1 or evaluates 7x + 8 if flag = = 0. Assume x is a 16-bit unsigned integer. ;evaluates 3 * (x^3) + 4x + 5 if flag = = 1 ;evaluates 7x + 8 if flag = = 0 .model small .data flag db 1 x dw 2 res dw ? .code mov ax, @data mov ds, ax cmp flag, 1 jne eq2 mov ax, 3 mul x mul x mul x mov cx, ax ; assume result doest not exceed 16 bit mov ax, 4 mul x add ax, 5 add ax, cx jmp xit eq2: mov ax, 7 mul x add ax, 8 xit: mov res, ax mov ah, 4ch int 21h end MCSL 017 11 Loganathan R
toot D N to o oto tot Copyp o No D t o ott C o y to yp C y oot opy t C y C yp t pyp tot p ototo y yp t y y to Copyp to ppyyp p D o p C y ot C p y py D t ot p to pyyp tto C p o o o o o ot o t p Co p o yp t N t py N t p N C N D o C D y C oto C yp o p t t y y o pyp to N py to p o to o t pp y o D N y o D o D to t p yy D oto op C yp o to y to o y o o yp y yp N N to o o o y to pyyp Do tto o o oN o N t Co y D o No D to oo C yy oo C p o o t p o yp o y o t y D ypy o C D oo Do Noot yyp D No o oppyyp o tto ot y N to yp t C p oD Noot ypy ot to D D N to o o p D o t C D pp No C p y yp o t o to Co yp o N y o yp o y t Cop o p Ct op o y y o t No ypy o C o ot yyp oo y t ppy tto ypyp yp o y oto to D ot oot py N yp oo D to o yp yp to C Co y to o o yp yp o o to t y o o C o t p N D o N tt p t p o o y yp N y to tto opypy t C pyp Do ottto y pyp ot C D to y o p D D ot pp o Noo o o N y tto yp o o D N o y t C opp y ot o yp opp N o tto p y D ooN D N t o C oto op y to opp N C yp o o too Do No D Noo yyyp o Do N t p pyp C po y 13. Write a program to convert Centigrade (Celsius) to Fahrenheit temperature measuring scales. Using formula: Celsius = (Fahrenheit - 32) * 5 / 9 ;convert Centigrade (Celsius) to Fahrenheit temperature ;formula: Celsius = (Fahrenheit - 32) * 5 / 9 ; i.e f = (c * 9 / 5) + 32 .model small .data c db 40 f db ? .code mov ax, @data mov ds, ax mov cl, 32 mov al, 9 mov bl, 5 mul c div bl add al, cl mov f, al ; result in hexadecimal mov ah, 4ch int 21h end MCSL 017 12 Loganathan R
toot D N to o oto tot Copyp o No D t o ott C o y to yp C y oot opy t C y C yp t pyp tot p ototo y yp t y y to Copyp to ppyyp p D o p C y ot C p y py D t ot p to pyyp tto C p o o o o o ot o t p Co p o yp t N t py N t p N C N D o C D y C oto C yp o p t t y y o pyp to N py to p o to o t pp y o D N y o D o D to t p yy D oto op C yp o to y to o y o o yp y yp N N to o o o y to pyyp Do tto o o oN o N t Co y D o No D to oo C yy oo C p o o t p o yp o y o t y D ypy o C D oo Do Noot yyp D No o oppyyp o tto ot y N to yp t C p oD Noot ypy ot to D D N to o o p D o t C D pp No C p y yp o t o to Co yp o N y o yp o y t Cop o p Ct op o y y o t No ypy o C o ot yyp oo y t ppy tto ypyp yp o y oto to D ot oot py N yp oo D to o yp yp to C Co y to o o yp yp o o to t y o o C o t p N D o N tt p t p o o y yp N y to tto opypy t C pyp Do ottto y pyp ot C D to y o p D D ot pp o Noo o o N y tto yp o o D N o y t C opp y ot o yp opp N o tto p y D ooN D N t o C oto op y to opp N C yp o o too Do No D Noo yyyp o Do N t p pyp C po y 14. Write a Program which adds the sales tax in the Price list of items and replace the Price list with a new list. ;adds the sales tax in the Price list of items ;replace the Price list with a new list .model small .data price db 20h, 30h, 40h, 50h, 60h,70h tax db 3, 4, 5, 6, 7, 8 n db tax - price .code mov ax, @data mov ds, ax mov es, ax ; since di used mov cl, n lea si, price lea di, tax nxt: mov al , [di] add [si], al inc si inc di dec cx jnz nxt mov ah, 4ch int 21h end MCSL 017 13 Loganathan R
toot D N to o oto tot Copyp o No D t o ott C o y to yp C y oot opy t C y C yp t pyp tot p ototo y yp t y y to Copyp to ppyyp p D o p C y ot C p y py D t ot p to pyyp tto C p o o o o o ot o t p Co p o yp t N t py N t p N C N D o C D y C oto C yp o p t t y y o pyp to N py to p o to o t pp y o D N y o D o D to t p yy D oto op C yp o to y to o y o o yp y yp N N to o o o y to pyyp Do tto o o oN o N t Co y D o No D to oo C yy oo C p o o t p o yp o y o t y D ypy o C D oo Do Noot yyp D No o oppyyp o tto ot y N to yp t C p oD Noot ypy ot to D D N to o o p D o t C D pp No C p y yp o t o to Co yp o N y o yp o y t Cop o p Ct op o y y o t No ypy o C o ot yyp oo y t ppy tto ypyp yp o y oto to D ot oot py N yp oo D to o yp yp to C Co y to o o yp yp o o to t y o o C o t p N D o N tt p t p o o y yp N y to tto opypy t C pyp Do ottto y pyp ot C D to y o p D D ot pp o Noo o o N y tto yp o o D N o y t C opp y ot o yp opp N o tto p y D ooN D N t o C oto op y to opp N C yp o o too Do No D Noo yyyp o Do N t p pyp C po y Sessions 5, 6 and 7: 1. Write a program to find the factorial of decimal number given by user. ;factorial of decimal number given by user .model small .data n db 5 f db ? .code mov ax, @data mov ds, ax mov cl, n mov al, 1 agn: cmp cl, 0 jbe xit mul cl dec cl jmp agn xit: mov f, al mov ah, 4ch int 21h end MCSL 017 14 Loganathan R
toot D N to o oto tot Copyp o No D t o ott C o y to yp C y oot opy t C y C yp t pyp tot p ototo y yp t y y to Copyp to ppyyp p D o p C y ot C p y py D t ot p to pyyp tto C p o o o o o ot o t p Co p o yp t N t py N t p N C N D o C D y C oto C yp o p t t y y o pyp to N py to p o to o t pp y o D N y o D o D to t p yy D oto op C yp o to y to o y o o yp y yp N N to o o o y to pyyp Do tto o o oN o N t Co y D o No D to oo C yy oo C p o o t p o yp o y o t y D ypy o C D oo Do Noot yyp D No o oppyyp o tto ot y N to yp t C p oD Noot ypy ot to D D N to o o p D o t C D pp No C p y yp o t o to Co yp o N y o yp o y t Cop o p Ct op o y y o t No ypy o C o ot yyp oo y t ppy tto ypyp yp o y oto to D ot oot py N yp oo D to o yp yp to C Co y to o o yp yp o o to t y o o C o t p N D o N tt p t p o o y yp N y to tto opypy t C pyp Do ottto y pyp ot C D to y o p D D ot pp o Noo o o N y tto yp o o D N o y t C opp y ot o yp opp N o tto p y D ooN D N t o C oto op y to opp N C yp o o too Do No D Noo yyyp o Do N t p pyp C po y 2. Write a program to find nCr for a given n and r. .model small .data n db 5 r db 2 ncr db ? .code mov ax, @data mov ds, ax xor ch, ch mov cl, n mov al, 1 forn: mul cl loop forn mov bl, al ;n! mov cl, r mov al, 1 forr: mul cl loop forr mov bh, al ;r! mov al, 1 mov cl, n sub cl, r ; cl <- n-r jcxz xitnr fornr: mul cl loop fornr xitnr: mul bh ;(n-r)! * r! mov cl, al mov al, bl div cl ;n! / {(n-r)! * r!) daa mov ncr, al mov ah, 4ch int 21h end MCSL 017 15 Loganathan R
toot D N to o oto tot Copyp o No D t o ott C o y to yp C y oot opy t C y C yp t pyp tot p ototo y yp t y y to Copyp to ppyyp p D o p C y ot C p y py D t ot p to pyyp tto C p o o o o o ot o t p Co p o yp t N t py N t p N C N D o C D y C oto C yp o p t t y y o pyp to N py to p o to o t pp y o D N y o D o D to t p yy D oto op C yp o to y to o y o o yp y yp N N to o o o y to pyyp Do tto o o oN o N t Co y D o No D to oo C yy oo C p o o t p o yp o y o t y D ypy o C D oo Do Noot yyp D No o oppyyp o tto ot y N to yp t C p oD Noot ypy ot to D D N to o o p D o t C D pp No C p y yp o t o to Co yp o N y o yp o y t Cop o p Ct op o y y o t No ypy o C o ot yyp oo y t ppy tto ypyp yp o y oto to D ot oot py N yp oo D to o yp yp to C Co y to o o yp yp o o to t y o o C o t p N D o N tt p t p o o y yp N y to tto opypy t C pyp Do ottto y pyp ot C D to y o p D D ot pp o Noo o o N y tto yp o o D N o y t C opp y ot o yp opp N o tto p y D ooN D N t o C oto op y to opp N C yp o o too Do No D Noo yyyp o Do N t p pyp C po y 3. Write a program to arrange given N numbers in descending order. ;Signed Descending order .model small .data a db 34h,78h,56h,47h,0,90h len dw len-a ;len=no of elements .code mov ax,@data mov ds,ax mov bx,len dec bx ;bx=no of passes needed to complete sorting(n-1) outlup: mov cx,bx ;cx=no of comparisions to be performed in a pass mov si,0 inlup: mov al,a[si] inc si cmp al,a[si] ja go_on xchg al,a[si] mov a[si-1],al go_on: loop inlup ;dec cx,until cx=0 dec bx jnz outlup mov ah, 4ch int 21h end MCSL 017 16 Loganathan R
toot D N to o oto tot Copyp o No D t o ott C o y to yp C y oot opy t C y C yp t pyp tot p ototo y yp t y y to Copyp to ppyyp p D o p C y ot C p y py D t ot p to pyyp tto C p o o o o o ot o t p Co p o yp t N t py N t p N C N D o C D y C oto C yp o p t t y y o pyp to N py to p o to o t pp y o D N y o D o D to t p yy D oto op C yp o to y to o y o o yp y yp N N to o o o y to pyyp Do tto o o oN o N t Co y D o No D to oo C yy oo C p o o t p o yp o y o t y D ypy o C D oo Do Noot yyp D No o oppyyp o tto ot y N to yp t C p oD Noot ypy ot to D D N to o o p D o t C D pp No C p y yp o t o to Co yp o N y o yp o y t Cop o p Ct op o y y o t No ypy o C o ot yyp oo y t ppy tto ypyp yp o y oto to D ot oot py N yp oo D to o yp yp to C Co y to o o yp yp o o to t y o o C o t p N D o N tt p t p o o y yp N y to tto opypy t C pyp Do ottto y pyp ot C D to y o p D D ot pp o Noo o o N y tto yp o o D N o y t C opp y ot o yp opp N o tto p y D ooN D N t o C oto op y to opp N C yp o o too Do No D Noo yyyp o Do N t p pyp C po y 4. Write a program, which will read in decimal inputs repeatedly until a zero value is read; at this point, it should print out the sum of the numbers read in so far. .model small .data msg1 db 10,13,'Enter Decimal Digit (0 to Stop): $' msg2 db 10,13,'The sum : $' .code mov ax, @data mov ds, ax mov bl, 0 nxt: mov ah, 9 lea dx, msg1 int 21h mov ah, 1 int 21h cmp al, '0' je xit sub al, 30h add al, bl mov bl, al jmp nxt xit: mov ah, 9 lea dx, msg2 int 21h mov al, bl aam add ax, 3030h mov bx, ax mov dl, bh mov ah, 2 int 21h mov dl, bl mov ah, 2 int 21h mov ah, 4ch int 21h end MCSL 017 17 Loganathan R
toot D N to o oto tot Copyp o No D t o ott C o y to yp C y oot opy t C y C yp t pyp tot p ototo y yp t y y to Copyp to ppyyp p D o p C y ot C p y py D t ot p to pyyp tto C p o o o o o ot o t p Co p o yp t N t py N t p N C N D o C D y C oto C yp o p t t y y o pyp to N py to p o to o t pp y o D N y o D o D to t p yy D oto op C yp o to y to o y o o yp y yp N N to o o o y to pyyp Do tto o o oN o N t Co y D o No D to oo C yy oo C p o o t p o yp o y o t y D ypy o C D oo Do Noot yyp D No o oppyyp o tto ot y N to yp t C p oD Noot ypy ot to D D N to o o p D o t C D pp No C p y yp o t o to Co yp o N y o yp o y t Cop o p Ct op o y y o t No ypy o C o ot yyp oo y t ppy tto ypyp yp o y oto to D ot oot py N yp oo D to o yp yp to C Co y to o o yp yp o o to t y o o C o t p N D o N tt p t p o o y yp N y to tto opypy t C pyp Do ottto y pyp ot C D to y o p D D ot pp o Noo o o N y tto yp o o D N o y t C opp y ot o yp opp N o tto p y D ooN D N t o C oto op y to opp N C yp o o too Do No D Noo yyyp o Do N t p pyp C po y 5. Develop and execute an assembly language program to find the LCM of two 16-bit unsigned integers. .model small .data n1 dw 8000 n2 dw 9000 lcml dw ? lcmh dw ? .code mov ax,@data mov ds,ax mov dx,0 mov ax,n1 ;dx_ax=25 mov bx,n2 ;bx=15 again: push ax push dx div bx cmp dx,0 ;remainder of the division is stored in dx je exit pop dx pop ax add ax,n1 jnc noincdx inc dx noincdx: jmp again exit: pop lcmh pop lcml mov ah, 4ch int 21h end MCSL 017 18 Loganathan R
toot D N to o oto tot Copyp o No D t o ott C o y to yp C y oot opy t C y C yp t pyp tot p ototo y yp t y y to Copyp to ppyyp p D o p C y ot C p y py D t ot p to pyyp tto C p o o o o o ot o t p Co p o yp t N t py N t p N C N D o C D y C oto C yp o p t t y y o pyp to N py to p o to o t pp y o D N y o D o D to t p yy D oto op C yp o to y to o y o o yp y yp N N to o o o y to pyyp Do tto o o oN o N t Co y D o No D to oo C yy oo C p o o t p o yp o y o t y D ypy o C D oo Do Noot yyp D No o oppyyp o tto ot y N to yp t C p oD Noot ypy ot to D D N to o o p D o t C D pp No C p y yp o t o to Co yp o N y o yp o y t Cop o p Ct op o y y o t No ypy o C o ot yyp oo y t ppy tto ypyp yp o y oto to D ot oot py N yp oo D to o yp yp to C Co y to o o yp yp o o to t y o o C o t p N D o N tt p t p o o y yp N y to tto opypy t C pyp Do ottto y pyp ot C D to y o p D D ot pp o Noo o o N y tto yp o o D N o y t C opp y ot o yp opp N o tto p y D ooN D N t o C oto op y to opp N C yp o o too Do No D Noo yyyp o Do N t p pyp C po y 6. Develop and execute an assembly language program to find the HCF of two unsigned 16-bit numbers. .model small .data val1 dw 30 val2 dw 75 gcd dw ? .code mov ax,@data mov ds, ax mov ax, val1 mov bx, val2 again: cmp ax,bx je exit jb bigbx divaxbx: mov dx,0 div bx cmp dx,0 je exit mov ax,dx jmp again bigbx: xchg ax,bx jmp divaxbx exit: mov gcd,bx mov ah, 4ch int 21h end MCSL 017 19 Loganathan R
toot D N to o oto tot Copyp o No D t o ott C o y to yp C y oot opy t C y C yp t pyp tot p ototo y yp t y y to Copyp to ppyyp p D o p C y ot C p y py D t ot p to pyyp tto C p o o o o o ot o t p Co p o yp t N t py N t p N C N D o C D y C oto C yp o p t t y y o pyp to N py to p o to o t pp y o D N y o D o D to t p yy D oto op C yp o to y to o y o o yp y yp N N to o o o y to pyyp Do tto o o oN o N t Co y D o No D to oo C yy oo C p o o t p o yp o y o t y D ypy o C D oo Do Noot yyp D No o oppyyp o tto ot y N to yp t C p oD Noot ypy ot to D D N to o o p D o t C D pp No C p y yp o t o to Co yp o N y o yp o y t Cop o p Ct op o y y o t No ypy o C o ot yyp oo y t ppy tto ypyp yp o y oto to D ot oot py N yp oo D to o yp yp to C Co y to o o yp yp o o to t y o o C o t p N D o N tt p t p o o y yp N y to tto opypy t C pyp Do ottto y pyp ot C D to y o p D D ot pp o Noo o o N y tto yp o o D N o y t C opp y ot o yp opp N o tto p y D ooN D N t o C oto op y to opp N C yp o o too Do No D Noo yyyp o Do N t p pyp C po y 7. Write a program for finding the largest number in an array of 10 elements. ;Largest .model small .data a db 34h,78h,56h,47h,0,90h, 22h,88h,12h len dw $-a ;len=no of elements lrg db ? .code mov ax,@data mov ds,ax lea si, a mov al, [si] mov cx,len nxt: cmp al, [si] jae cntnu mov al,[si] cntnu: inc si loop nxt mov lrg, al mov ah, 4ch int 21h end MCSL 017 20 Loganathan R
toot D N to o oto tot Copyp o No D t o ott C o y to yp C y oot opy t C y C yp t pyp tot p ototo y yp t y y to Copyp to ppyyp p D o p C y ot C p y py D t ot p to pyyp tto C p o o o o o ot o t p Co p o yp t N t py N t p N C N D o C D y C oto C yp o p t t y y o pyp to N py to p o to o t pp y o D N y o D o D to t p yy D oto op C yp o to y to o y o o yp y yp N N to o o o y to pyyp Do tto o o oN o N t Co y D o No D to oo C yy oo C p o o t p o yp o y o t y D ypy o C D oo Do Noot yyp D No o oppyyp o tto ot y N to yp t C p oD Noot ypy ot to D D N to o o p D o t C D pp No C p y yp o t o to Co yp o N y o yp o y t Cop o p Ct op o y y o t No ypy o C o ot yyp oo y t ppy tto ypyp yp o y oto to D ot oot py N yp oo D to o yp yp to C Co y to o o yp yp o o to t y o o C o t p N D o N tt p t p o o y yp N y to tto opypy t C pyp Do ottto y pyp ot C D to y o p D D ot pp o Noo o o N y tto yp o o D N o y t C opp y ot o yp opp N o tto p y D ooN D N t o C oto op y to opp N C yp o o too Do No D Noo yyyp o Do N t p pyp C po y 8. Develop and execute a program to sort a given set of 8-bit unsigned integers into ascending order. ;Unsigned Ascending order .model small .data a db 34h,78h,56h,47h,0,90h len dw $-a ;len=no of elements .code mov ax,@data mov ds,ax mov bx,len dec bx ;bx=no of passes needed to complete sorting(n-1) outlup: mov cx,bx ;cx=no of comparisions to be performed in a pass mov si,0 inlup: mov al,a[si] inc si cmp al,a[si] jb go_on xchg al,a[si] mov a[si-1],al go_on: loop inlup ;dec cx,until cx=0 dec bx jnz outlup mov ah, 4ch int 21h end MCSL 017 21 Loganathan R
toot D N to o oto tot Copyp o No D t o ott C o y to yp C y oot opy t C y C yp t pyp tot p ototo y yp t y y to Copyp to ppyyp p D o p C y ot C p y py D t ot p to pyyp tto C p o o o o o ot o t p Co p o yp t N t py N t p N C N D o C D y C oto C yp o p t t y y o pyp to N py to p o to o t pp y o D N y o D o D to t p yy D oto op C yp o to y to o y o o yp y yp N N to o o o y to pyyp Do tto o o oN o N t Co y D o No D to oo C yy oo C p o o t p o yp o y o t y D ypy o C D oo Do Noot yyp D No o oppyyp o tto ot y N to yp t C p oD Noot ypy ot to D D N to o o p D o t C D pp No C p y yp o t o to Co yp o N y o yp o y t Cop o p Ct op o y y o t No ypy o C o ot yyp oo y t ppy tto ypyp yp o y oto to D ot oot py N yp oo D to o yp yp to C Co y to o o yp yp o o to t y o o C o t p N D o N tt p t p o o y yp N y to tto opypy t C pyp Do ottto y pyp ot C D to y o p D D ot pp o Noo o o N y tto yp o o D N o y t C opp y ot o yp opp N o tto p y D ooN D N t o C oto op y to opp N C yp o o too Do No D Noo yyyp o Do N t p pyp C po y 9. Develop and execute an assembly language program to sort a given set of 16-bit unsigned integers into descending order. ;16 bit Unsigned Descending order .model small .data a dw 5678h,1234h,3456h,2345h,4567h,6789h len dw ($-a)/2 ;len=no of elements .code mov ax,@data mov ds,ax mov bx,len dec bx ;bx=no of passes needed to complete sorting(n-1) outlup: mov cx,bx ;cx=no of comparisions to be performed in a pass mov si,0 inlup: mov ax,a[si] inc si inc si cmp ax,a[si] ja go_on xchg ax,a[si] mov a[si-2],ax go_on: loop inlup ;dec cx,until cx=0 dec bx jnz outlup mov ah, 4ch int 21h end MCSL 017 22 Loganathan R
toot D N to o oto tot Copyp o No D t o ott C o y to yp C y oot opy t C y C yp t pyp tot p ototo y yp t y y to Copyp to ppyyp p D o p C y ot C p y py D t ot p to pyyp tto C p o o o o o ot o t p Co p o yp t N t py N t p N C N D o C D y C oto C yp o p t t y y o pyp to N py to p o to o t pp y o D N y o D o D to t p yy D oto op C yp o to y to o y o o yp y yp N N to o o o y to pyyp Do tto o o oN o N t Co y D o No D to oo C yy oo C p o o t p o yp o y o t y D ypy o C D oo Do Noot yyp D No o oppyyp o tto ot y N to yp t C p oD Noot ypy ot to D D N to o o p D o t C D pp No C p y yp o t o to Co yp o N y o yp o y t Cop o p Ct op o y y o t No ypy o C o ot yyp oo y t ppy tto ypyp yp o y oto to D ot oot py N yp oo D to o yp yp to C Co y to o o yp yp o o to t y o o C o t p N D o N tt p t p o o y yp N y to tto opypy t C pyp Do ottto y pyp ot C D to y o p D D ot pp o Noo o o N y tto yp o o D N o y t C opp y ot o yp opp N o tto p y D ooN D N t o C oto op y to opp N C yp o o too Do No D Noo yyyp o Do N t p pyp C po y 10. Write a Program which adds the sales tax in the Price list of items and replace the Price list with calculated values. ;adds the sales tax in the Price list of items ;replace the Price list with a new list .model small .data price db 20, 30, 40, 50, 60,70 tax db 5, 4, 5, 3, 2, 2 n db tax - price .code mov ax, @data mov ds, ax mov es, ax ; since di used mov cl, n mov bl, 100 lea si, price lea di, tax nxt: mov al , [di] mul [si] div bl add [si], al inc si inc di loop nxt mov ah, 4ch int 21h end MCSL 017 23 Loganathan R
toot D N to o oto tot Copyp o No D t o ott C o y to yp C y oot opy t C y C yp t pyp tot p ototo y yp t y y to Copyp to ppyyp p D o p C y ot C p y py D t ot p to pyyp tto C p o o o o o ot o t p Co p o yp t N t py N t p N C N D o C D y C oto C yp o p t t y y o pyp to N py to p o to o t pp y o D N y o D o D to t p yy D oto op C yp o to y to o y o o yp y yp N N to o o o y to pyyp Do tto o o oN o N t Co y D o No D to oo C yy oo C p o o t p o yp o y o t y D ypy o C D oo Do Noot yyp D No o oppyyp o tto ot y N to yp t C p oD Noot ypy ot to D D N to o o p D o t C D pp No C p y yp o t o to Co yp o N y o yp o y t Cop o p Ct op o y y o t No ypy o C o ot yyp oo y t ppy tto ypyp yp o y oto to D ot oot py N yp oo D to o yp yp to C Co y to o o yp yp o o to t y o o C o t p N D o N tt p t p o o y yp N y to tto opypy t C pyp Do ottto y pyp ot C D to y o p D D ot pp o Noo o o N y tto yp o o D N o y t C opp y ot o yp opp N o tto p y D ooN D N t o C oto op y to opp N C yp o o too Do No D Noo yyyp o Do N t p pyp C po y 11. Write a program to Convert ASCII number into decimal digit. ;ASCII to Decimal .model large .stack 100h .model small .data asci db 'z' bcd dw 0 .code mov ax, @data mov ds,ax mov bl, 10 mov cl, 0 mov al, asci nxt: mov ah, 0 div bl mov ch,al xchg al, ah cbw shl ax, cl or bcd, ax add cl, 4 mov al, ch cmp al, 0 jnz nxt mov ah,4ch int 21h end MCSL 017 24 Loganathan R
toot D N to o oto tot Copyp o No D t o ott C o y to yp C y oot opy t C y C yp t pyp tot p ototo y yp t y y to Copyp to ppyyp p D o p C y ot C p y py D t ot p to pyyp tto C p o o o o o ot o t p Co p o yp t N t py N t p N C N D o C D y C oto C yp o p t t y y o pyp to N py to p o to o t pp y o D N y o D o D to t p yy D oto op C yp o to y to o y o o yp y yp N N to o o o y to pyyp Do tto o o oN o N t Co y D o No D to oo C yy oo C p o o t p o yp o y o t y D ypy o C D oo Do Noot yyp D No o oppyyp o tto ot y N to yp t C p oD Noot ypy ot to D D N to o o p D o t C D pp No C p y yp o t o to Co yp o N y o yp o y t Cop o p Ct op o y y o t No ypy o C o ot yyp oo y t ppy tto ypyp yp o y oto to D ot oot py N yp oo D to o yp yp to C Co y to o o yp yp o o to t y o o C o t p N D o N tt p t p o o y yp N y to tto opypy t C pyp Do ottto y pyp ot C D to y o p D D ot pp o Noo o o N y tto yp o o D N o y t C opp y ot o yp opp N o tto p y D ooN D N t o C oto op y to opp N C yp o o too Do No D Noo yyyp o Do N t p pyp C po y 12. Write a Program for performing the following operation. Z=((A-B)/10*C) ** 2 ;z= ((a-b) /10 *c) **2 .model small .data a db 60 b db 20 c db 5 Z dw ? .code mov ax, @data mov ds, ax mov ah, 0 mov bl, 10 mov al, a sub al, b div bl mul c mul al mov z, ax mov ah, 4ch int 21h end MCSL 017 25 Loganathan R
toot D N to o oto tot Copyp o No D t o ott C o y to yp C y oot opy t C y C yp t pyp tot p ototo y yp t y y to Copyp to ppyyp p D o p C y ot C p y py D t ot p to pyyp tto C p o o o o o ot o t p Co p o yp t N t py N t p N C N D o C D y C oto C yp o p t t y y o pyp to N py to p o to o t pp y o D N y o D o D to t p yy D oto op C yp o to y to o y o o yp y yp N N to o o o y to pyyp Do tto o o oN o N t Co y D o No D to oo C yy oo C p o o t p o yp o y o t y D ypy o C D oo Do Noot yyp D No o oppyyp o tto ot y N to yp t C p oD Noot ypy ot to D D N to o o p D o t C D pp No C p y yp o t o to Co yp o N y o yp o y t Cop o p Ct op o y y o t No ypy o C o ot yyp oo y t ppy tto ypyp yp o y oto to D ot oot py N yp oo D to o yp yp to C Co y to o o yp yp o o to t y o o C o t p N D o N tt p t p o o y yp N y to tto opypy t C pyp Do ottto y pyp ot C D to y o p D D ot pp o Noo o o N y tto yp o o D N o y t C opp y ot o yp opp N o tto p y D ooN D N t o C oto op y to opp N C yp o o too Do No D Noo yyyp o Do N t p pyp C po y 13. Write a Program for adding an array of Binary Digits. ;add array of binar digits .model small .data bin db 1,0,1,1,1,1,1,1,1,0,1 len dw len-bin res db ? .code mov ax, @data mov ds, ax lea si, bin mov cx, len mov al, 0 nxt: test [si], 1 jz cntnu inc al cntnu: inc si loop nxt mov res, al mov ah, 4ch int 21h end MCSL 017 26 Loganathan R
toot D N to o oto tot Copyp o No D t o ott C o y to yp C y oot opy t C y C yp t pyp tot p ototo y yp t y y to Copyp to ppyyp p D o p C y ot C p y py D t ot p to pyyp tto C p o o o o o ot o t p Co p o yp t N t py N t p N C N D o C D y C oto C yp o p t t y y o pyp to N py to p o to o t pp y o D N y o D o D to t p yy D oto op C yp o to y to o y o o yp y yp N N to o o o y to pyyp Do tto o o oN o N t Co y D o No D to oo C yy oo C p o o t p o yp o y o t y D ypy o C D oo Do Noot yyp D No o oppyyp o tto ot y N to yp t C p oD Noot ypy ot to D D N to o o p D o t C D pp No C p y yp o t o to Co yp o N y o yp o y t Cop o p Ct op o y y o t No ypy o C o ot yyp oo y t ppy tto ypyp yp o y oto to D ot oot py N yp oo D to o yp yp to C Co y to o o yp yp o o to t y o o C o t p N D o N tt p t p o o y yp N y to tto opypy t C pyp Do ottto y pyp ot C D to y o p D D ot pp o Noo o o N y tto yp o o D N o y t C opp y ot o yp opp N o tto p y D ooN D N t o C oto op y to opp N C yp o o too Do No D Noo yyyp o Do N t p pyp C po y 14. Write a Program, which takes the input of 4-digit number, and display the sum of square of digits as given below. Example: Input = 4721 42 +72 +22 +12 = 16+49+4+1 Result = 70. (Display) ;Squarte & add digits .model small .data msg1 db 10,13,'Enter a 4 digit decimal number : $' n dw 0 msg2 db 10,13,'Addition of Square of all digits : $' dgts db 4 dup(?) res dw 0 .code mov ax, @data mov ds, ax lea si, dgts wrng: lea dx, msg1 mov ah, 9 int 21h mov cx, 4 mov ah, 1 nxt: int 21h cmp al, '0' jb wrng cmp al, '9' ja wrng sub al, 30h mov [si], al inc si loop nxt lea si, dgts mov cx, 4 nxtdgt: mov al, [si] mul al add res, ax inc si loop nxtdgt lea dx, msg2 mov ah, 9 int 21h MCSL 017 27 Loganathan R
toot D N to o oto tot Copyp o No D t o ott C o y to yp C y oot opy t C y C yp t pyp tot p ototo y yp t y y to Copyp to ppyyp p D o p C y ot C p y py D t ot p to pyyp tto C p o o o o o ot o t p Co p o yp t N t py N t p N C N D o C D y C oto C yp o p t t y y o pyp to N py to p o to o t pp y o D N y o D o D to t p yy D oto op C yp o to y to o y o o yp y yp N N to o o o y to pyyp Do tto o o oN o N t Co y D o No D to oo C yy oo C p o o t p o yp o y o t y D ypy o C D oo Do Noot yyp D No o oppyyp o tto ot y N to yp t C p oD Noot ypy ot to D D N to o o p D o t C D pp No C p y yp o t o to Co yp o N y o yp o y t Cop o p Ct op o y y o t No ypy o C o ot yyp oo y t ppy tto ypyp yp o y oto to D ot oot py N yp oo D to o yp yp to C Co y to o o yp yp o o to t y o o C o t p N D o N tt p t p o o y yp N y to tto opypy t C pyp Do ottto y pyp ot C D to y o p D D ot pp o Noo o o N y tto yp o o D N o y t C opp y ot o yp opp N o tto p y D ooN D N t o C oto op y to opp N C yp o o too Do No D Noo yyyp o Do N t p pyp C po y lea si, dgts add si, 3 mov bl, 10 mov cx, 4 mov ax, res xtrct: div bl mov [si],ah dec si mov ah,0 loop xtrct lea si, dgts mov cx,4 mov ah, 2 disp: mov dl, [si] add dl, 30h int 21h inc si loop disp mov ah, 4ch int 21h end MCSL 017 28 Loganathan R
toot D N to o oto tot Copyp o No D t o ott C o y to yp C y oot opy t C y C yp t pyp tot p ototo y yp t y y to Copyp to ppyyp p D o p C y ot C p y py D t ot p to pyyp tto C p o o o o o ot o t p Co p o yp t N t py N t p N C N D o C D y C oto C yp o p t t y y o pyp to N py to p o to o t pp y o D N y o D o D to t p yy D oto op C yp o to y to o y o o yp y yp N N to o o o y to pyyp Do tto o o oN o N t Co y D o No D to oo C yy oo C p o o t p o yp o y o t y D ypy o C D oo Do Noot yyp D No o oppyyp o tto ot y N to yp t C p oD Noot ypy ot to D D N to o o p D o t C D pp No C p y yp o t o to Co yp o N y o yp o y t Cop o p Ct op o y y o t No ypy o C o ot yyp oo y t ppy tto ypyp yp o y oto to D ot oot py N yp oo D to o yp yp to C Co y to o o yp yp o o to t y o o C o t p N D o N tt p t p o o y yp N y to tto opypy t C pyp Do ottto y pyp ot C D to y o p D D ot pp o Noo o o N y tto yp o o D N o y t C opp y ot o yp opp N o tto p y D ooN D N t o C oto op y to opp N C yp o o too Do No D Noo yyyp o Do N t p pyp C po y 15. Using the method of "add-and-shift" loop, in which you use the binary digits of one number to control additions of a shifted version of the other number into a running total; this is essentially the same algorithm you use when multiplying numbers by hand in decimal. ;Multiply using shift & add .model small .data mulpir db 21h mulcnd db 30h res dw 0 .code mov ax, @data mov ds, ax mov cx, 8 mov al, mulcnd cbw mov bl, mulpir nxt: shr bl, 1 jnc cntnu add res, ax cntnu: shl ax, 1 loop nxt mov ah, 4ch int 21h end MCSL 017 29 Loganathan R
toot D N to o oto tot Copyp o No D t o ott C o y to yp C y oot opy t C y C yp t pyp tot p ototo y yp t y y to Copyp to ppyyp p D o p C y ot C p y py D t ot p to pyyp tto C p o o o o o ot o t p Co p o yp t N t py N t p N C N D o C D y C oto C yp o p t t y y o pyp to N py to p o to o t pp y o D N y o D o D to t p yy D oto op C yp o to y to o y o o yp y yp N N to o o o y to pyyp Do tto o o oN o N t Co y D o No D to oo C yy oo C p o o t p o yp o y o t y D ypy o C D oo Do Noot yyp D No o oppyyp o tto ot y N to yp t C p oD Noot ypy ot to D D N to o o p D o t C D pp No C p y yp o t o to Co yp o N y o yp o y t Cop o p Ct op o y y o t No ypy o C o ot yyp oo y t ppy tto ypyp yp o y oto to D ot oot py N yp oo D to o yp yp to C Co y to o o yp yp o o to t y o o C o t p N D o N tt p t p o o y yp N y to tto opypy t C pyp Do ottto y pyp ot C D to y o p D D ot pp o Noo o o N y tto yp o o D N o y t C opp y ot o yp opp N o tto p y D ooN D N t o C oto op y to opp N C yp o o too Do No D Noo yyyp o Do N t p pyp C po y 16. Write a Program, which should add two 5-byte numbers (numbers are stored in array- NUM1 & NUM2), and stores the sum in another array named RESULT. ;Adding 2 Five byte Numbers .model small .data num1 db 11h,22h,33h,44h,0f5h, num2 db 55h,44h,33h,22h,0f1h res db 6 dup(0) .code mov ax, @data mov ds, ax mov es, ax mov cx, 5 lea bx, res lea si, num1 lea di, num2 nxt: mov al, [si] add al, [di] jnc cntnu inc [bx+1] cntnu: add [bx], al inc si inc di inc bx loop nxt mov ah, 4ch int 21h end MCSL 017 30 Loganathan R
toot D N to o oto tot Copyp o No D t o ott C o y to yp C y oot opy t C y C yp t pyp tot p ototo y yp t y y to Copyp to ppyyp p D o p C y ot C p y py D t ot p to pyyp tto C p o o o o o ot o t p Co p o yp t N t py N t p N C N D o C D y C oto C yp o p t t y y o pyp to N py to p o to o t pp y o D N y o D o D to t p yy D oto op C yp o to y to o y o o yp y yp N N to o o o y to pyyp Do tto o o oN o N t Co y D o No D to oo C yy oo C p o o t p o yp o y o t y D ypy o C D oo Do Noot yyp D No o oppyyp o tto ot y N to yp t C p oD Noot ypy ot to D D N to o o p D o t C D pp No C p y yp o t o to Co yp o N y o yp o y t Cop o p Ct op o y y o t No ypy o C o ot yyp oo y t ppy tto ypyp yp o y oto to D ot oot py N yp oo D to o yp yp to C Co y to o o yp yp o o to t y o o C o t p N D o N tt p t p o o y yp N y to tto opypy t C pyp Do ottto y pyp ot C D to y o p D D ot pp o Noo o o N y tto yp o o D N o y t C opp y ot o yp opp N o tto p y D ooN D N t o C oto op y to opp N C yp o o too Do No D Noo yyyp o Do N t p pyp C po y 17. Write a program which should convert 4 digits BCD number into its binary equivalent. .model small .stack 64 .data bcd dw 9999h bin dw 0 .code mov ax, @data mov ds, ax mov bp, bcd ; y not dx? mov bx, 10 mov cx, 4 nxt: push cx mov cl, 4 rol bp, cl pop cx mov ax, bin mul bx mov bin, ax mov ax, 0fh and ax, bp add bin, ax loop nxt mov ah, 4ch int 21h end MCSL 017 31 Loganathan R
toot D N to o oto tot Copyp o No D t o ott C o y to yp C y oot opy t C y C yp t pyp tot p ototo y yp t y y to Copyp to ppyyp p D o p C y ot C p y py D t ot p to pyyp tto C p o o o o o ot o t p Co p o yp t N t py N t p N C N D o C D y C oto C yp o p t t y y o pyp to N py to p o to o t pp y o D N y o D o D to t p yy D oto op C yp o to y to o y o o yp y yp N N to o o o y to pyyp Do tto o o oN o N t Co y D o No D to oo C yy oo C p o o t p o yp o y o t y D ypy o C D oo Do Noot yyp D No o oppyyp o tto ot y N to yp t C p oD Noot ypy ot to D D N to o o p D o t C D pp No C p y yp o t o to Co yp o N y o yp o y t Cop o p Ct op o y y o t No ypy o C o ot yyp oo y t ppy tto ypyp yp o y oto to D ot oot py N yp oo D to o yp yp to C Co y to o o yp yp o o to t y o o C o t p N D o N tt p t p o o y yp N y to tto opypy t C pyp Do ottto y pyp ot C D to y o p D D ot pp o Noo o o N y tto yp o o D N o y t C opp y ot o yp opp N o tto p y D ooN D N t o C oto op y to opp N C yp o o too Do No D Noo yyyp o Do N t p pyp C po y 18. Write a program to conduct a binary search on a given sorted array of 16-bit, unsigned integers, and a given 16-bit unsigned key. .model small .data nos dw 1111h,2222h,4444h,7777h,9999h len dw (len - nos) / 2 key dw 0A999h smsg db 'Search Success$' fmsg db 'Search Failure$' .code mov ax, @data mov ds, ax mov bx, 1 mov dx, len ;dx=5 mov cx, key ;cx=2345 agn: cmp bx, dx ja fail mov ax, bx add ax, dx shr ax, 1 mov si, ax dec si add si, si cmp cx, nos[si] jae larg dec ax mov dx, ax jmp agn larg: je sucs inc ax mov bx, ax jmp agn sucs: lea dx, smsg jmp disp fail: lea dx, fmsg disp: mov ah, 09h int 21h mov ah, 4ch int 21h end MCSL 017 32 Loganathan R
toot D N to o oto tot Copyp o No D t o ott C o y to yp C y oot opy t C y C yp t pyp tot p ototo y yp t y y to Copyp to ppyyp p D o p C y ot C p y py D t ot p to pyyp tto C p o o o o o ot o t p Co p o yp t N t py N t p N C N D o C D y C oto C yp o p t t y y o pyp to N py to p o to o t pp y o D N y o D o D to t p yy D oto op C yp o to y to o y o o yp y yp N N to o o o y to pyyp Do tto o o oN o N t Co y D o No D to oo C yy oo C p o o t p o yp o y o t y D ypy o C D oo Do Noot yyp D No o oppyyp o tto ot y N to yp t C p oD Noot ypy ot to D D N to o o p D o t C D pp No C p y yp o t o to Co yp o N y o yp o y t Cop o p Ct op o y y o t No ypy o C o ot yyp oo y t ppy tto ypyp yp o y oto to D ot oot py N yp oo D to o yp yp to C Co y to o o yp yp o o to t y o o C o t p N D o N tt p t p o o y yp N y to tto opypy t C pyp Do ottto y pyp ot C D to y o p D D ot pp o Noo o o N y tto yp o o D N o y t C opp y ot o yp opp N o tto p y D ooN D N t o C oto op y to opp N C yp o o too Do No D Noo yyyp o Do N t p pyp C po y 19. Write a program to convert a string in upper case to lower case or lower case to upper case. .model small .data str db 'UPPERCASE To lowercase$' len dw len-str msg1 db 10,13,'Before Convertion : $' msg2 db 10,13,'After Convertion : $' .code mov ax, @data mov ds, ax mov es, ax lea dx, msg1 mov ah, 9 int 21h lea dx, str int 21h lea dx, msg2 int 21h mov cx, len lea si, str mov di, si nxt: lodsb cmp al, 'A' jb nochg cmp al, 'Z' ja toup add al, 'a' - 'A' jmp nochg toup: cmp al, 'a' jb nochg cmp al, 'z' ja nochg sub al, 'a' - 'A' nochg: stosb loop nxt lea dx, str mov ah, 9 int 21h mov ah, 4ch int 21h end MCSL 017 33 Loganathan R
toot D N to o oto tot Copyp o No D t o ott C o y to yp C y oot opy t C y C yp t pyp tot p ototo y yp t y y to Copyp to ppyyp p D o p C y ot C p y py D t ot p to pyyp tto C p o o o o o ot o t p Co p o yp t N t py N t p N C N D o C D y C oto C yp o p t t y y o pyp to N py to p o to o t pp y o D N y o D o D to t p yy D oto op C yp o to y to o y o o yp y yp N N to o o o y to pyyp Do tto o o oN o N t Co y D o No D to oo C yy oo C p o o t p o yp o y o t y D ypy o C D oo Do Noot yyp D No o oppyyp o tto ot y N to yp t C p oD Noot ypy ot to D D N to o o p D o t C D pp No C p y yp o t o to Co yp o N y o yp o y t Cop o p Ct op o y y o t No ypy o C o ot yyp oo y t ppy tto ypyp yp o y oto to D ot oot py N yp oo D to o yp yp to C Co y to o o yp yp o o to t y o o C o t p N D o N tt p t p o o y yp N y to tto opypy t C pyp Do ottto y pyp ot C D to y o p D D ot pp o Noo o o N y tto yp o o D N o y t C opp y ot o yp opp N o tto p y D ooN D N t o C oto op y to opp N C yp o o too Do No D Noo yyyp o Do N t p pyp C po y 20. Develop cryptographic algorithm where each letter is replaced by a different letter. Given the mapping of characters to encoded characters, it is simple to translate from encoded to decoded data. Write a Program, which encodes the string into the ASCII value but not corresponding ASCII value; shift 5 place left in ASCII and write the encoding string. ;Encryption .model small .data str db 'This is a TEST data XyZ$' len dw len-str msg1 db 10,13,'Before Encryption : $' msg2 db 10,13,'After Encryption : $' .code mov ax, @data mov ds, ax mov es, ax lea dx, msg1 mov ah, 9 int 21h lea dx, str int 21h lea dx, msg2 int 21h mov cx, len lea si, str mov di, si nxt: lodsb cmp al, 'A' jb nochg cmp al, 'Z' ja tolow push cx mov cx, 5 nxtup: dec al cmp al, 'A' jae ucntnu mov al, 'Z' ucntnu: loop nxtup pop cx jmp nochg MCSL 017 34 Loganathan R
toot D N to o oto tot Copyp o No D t o ott C o y to yp C y oot opy t C y C yp t pyp tot p ototo y yp t y y to Copyp to ppyyp p D o p C y ot C p y py D t ot p to pyyp tto C p o o o o o ot o t p Co p o yp t N t py N t p N C N D o C D y C oto C yp o p t t y y o pyp to N py to p o to o t pp y o D N y o D o D to t p yy D oto op C yp o to y to o y o o yp y yp N N to o o o y to pyyp Do tto o o oN o N t Co y D o No D to oo C yy oo C p o o t p o yp o y o t y D ypy o C D oo Do Noot yyp D No o oppyyp o tto ot y N to yp t C p oD Noot ypy ot to D D N to o o p D o t C D pp No C p y yp o t o to Co yp o N y o yp o y t Cop o p Ct op o y y o t No ypy o C o ot yyp oo y t ppy tto ypyp yp o y oto to D ot oot py N yp oo D to o yp yp to C Co y to o o yp yp o o to t y o o C o t p N D o N tt p t p o o y yp N y to tto opypy t C pyp Do ottto y pyp ot C D to y o p D D ot pp o Noo o o N y tto yp o o D N o y t C opp y ot o yp opp N o tto p y D ooN D N t o C oto op y to opp N C yp o o too Do No D Noo yyyp o Do N t p pyp C po y tolow: cmp al, 'a' jb nochg cmp al, 'z' ja nochg push cx mov cx, 5 nxtlow: dec al cmp al, 'a' jae lcntnu mov al, 'z' lcntnu: loop nxtlow pop cx nochg: stosb loop nxt lea dx, str mov ah, 9 int 21h mov ah, 4ch int 21h end MCSL 017 35 Loganathan R
toot D N to o oto tot Copyp o No D t o ott C o y to yp C y oot opy t C y C yp t pyp tot p ototo y yp t y y to Copyp to ppyyp p D o p C y ot C p y py D t ot p to pyyp tto C p o o o o o ot o t p Co p o yp t N t py N t p N C N D o C D y C oto C yp o p t t y y o pyp to N py to p o to o t pp y o D N y o D o D to t p yy D oto op C yp o to y to o y o o yp y yp N N to o o o y to pyyp Do tto o o oN o N t Co y D o No D to oo C yy oo C p o o t p o yp o y o t y D ypy o C D oo Do Noot yyp D No o oppyyp o tto ot y N to yp t C p oD Noot ypy ot to D D N to o o p D o t C D pp No C p y yp o t o to Co yp o N y o yp o y t Cop o p Ct op o y y o t No ypy o C o ot yyp oo y t ppy tto ypyp yp o y oto to D ot oot py N yp oo D to o yp yp to C Co y to o o yp yp o o to t y o o C o t p N D o N tt p t p o o y yp N y to tto opypy t C pyp Do ottto y pyp ot C D to y o p D D ot pp o Noo o o N y tto yp o o D N o y t C opp y ot o yp opp N o tto p y D ooN D N t o C oto op y to opp N C yp o o too Do No D Noo yyyp o Do N t p pyp C po y 21. Similarly write another Program to Decoding with respect to above problem. ;Decryption .model small .data str db 'Ocdn dn v OZNO yvov StU$' ulut db 'FGHIJKLMNOPQRSTUVWXYZABCDE' llut db 'fghijklmnopqrstuvwxyzabcde' len dw len-str msg1 db 10,13,'Before Decryption : $' msg2 db 10,13,'After Decryption : $' .code mov ax, @data mov ds, ax mov es, ax lea dx, msg1 mov ah, 9 int 21h lea dx, str int 21h lea dx, msg2 int 21h mov cx, len lea si, str mov di, si nxt: lodsb cmp al, 'A' jb nochg cmp al, 'Z' ja tolow lea bx, ulut sub al,'A' xlat jmp nochg tolow: cmp al, 'a' jb nochg cmp al, 'z' ja nochg lea bx, llut sub al,'a' xlat MCSL 017 36 Loganathan R
toot D N to o oto tot Copyp o No D t o ott C o y to yp C y oot opy t C y C yp t pyp tot p ototo y yp t y y to Copyp to ppyyp p D o p C y ot C p y py D t ot p to pyyp tto C p o o o o o ot o t p Co p o yp t N t py N t p N C N D o C D y C oto C yp o p t t y y o pyp to N py to p o to o t pp y o D N y o D o D to t p yy D oto op C yp o to y to o y o o yp y yp N N to o o o y to pyyp Do tto o o oN o N t Co y D o No D to oo C yy oo C p o o t p o yp o y o t y D ypy o C D oo Do Noot yyp D No o oppyyp o tto ot y N to yp t C p oD Noot ypy ot to D D N to o o p D o t C D pp No C p y yp o t o to Co yp o N y o yp o y t Cop o p Ct op o y y o t No ypy o C o ot yyp oo y t ppy tto ypyp yp o y oto to D ot oot py N yp oo D to o yp yp to C Co y to o o yp yp o o to t y o o C o t p N D o N tt p t p o o y yp N y to tto opypy t C pyp Do ottto y pyp ot C D to y o p D D ot pp o Noo o o N y tto yp o o D N o y t C opp y ot o yp opp N o tto p y D ooN D N t o C oto op y to opp N C yp o o too Do No D Noo yyyp o Do N t p pyp C po y nochg: stosb loop nxt lea dx, str mov ah, 9 int 21h mov ah, 4ch int 21h end MCSL 017 37 Loganathan R
toot D N to o oto tot Copyp o No D t o ott C o y to yp C y oot opy t C y C yp t pyp tot p ototo y yp t y y to Copyp to ppyyp p D o p C y ot C p y py D t ot p to pyyp tto C p o o o o o ot o t p Co p o yp t N t py N t p N C N D o C D y C oto C yp o p t t y y o pyp to N py to p o to o t pp y o D N y o D o D to t p yy D oto op C yp o to y to o y o o yp y yp N N to o o o y to pyyp Do tto o o oN o N t Co y D o No D to oo C yy oo C p o o t p o yp o y o t y D ypy o C D oo Do Noot yyp D No o oppyyp o tto ot y N to yp t C p oD Noot ypy ot to D D N to o o p D o t C D pp No C p y yp o t o to Co yp o N y o yp o y t Cop o p Ct op o y y o t No ypy o C o ot yyp oo y t ppy tto ypyp yp o y oto to D ot oot py N yp oo D to o yp yp to C Co y to o o yp yp o o to t y o o C o t p N D o N tt p t p o o y yp N y to tto opypy t C pyp Do ottto y pyp ot C D to y o p D D ot pp o Noo o o N y tto yp o o D N o y t C opp y ot o yp opp N o tto p y D ooN D N t o C oto op y to opp N C yp o o too Do No D Noo yyyp o Do N t p pyp C po y Session 8: 1. Write a program, which takes two inputs as strings and display the Concatenated string. ;Concatenation of 2 Strings .model small ;1 ds & 1 CS .data ;Data Segment str1b db 53 sl1 db ? str1 db 51 dup('$') str2b db 53 sl2 db ? str2 db 51 dup('$') cstr db 100 dup('$') msg1 db 'Enter String 1(Max length 50) :$' msg2 db 10,13,'Enter String 2(Max length 50) :$' cmsg db 10,13,'The Concatenated String : $' .code mov ax, @data mov ds, ax ;initialize DS with Data Segment Base mov es, ax ;initialize ES with Data Segment Base lea dx, msg1 mov ah, 9 int 21h lea dx, str1b mov ah, 0ah int 21h lea dx, msg2 mov ah, 9 int 21h lea dx, str2b mov ah, 0ah int 21h lea si, str1 lea di, cstr mov cl, sl1 xor ch, ch jcxz nxt1 cpy1: lodsb stosb loop cpy1 nxt1: lea si, str2 mov cl, sl2 jcxz nxt2 MCSL 017 38 Loganathan R
toot D N to o oto tot Copyp o No D t o ott C o y to yp C y oot opy t C y C yp t pyp tot p ototo y yp t y y to Copyp to ppyyp p D o p C y ot C p y py D t ot p to pyyp tto C p o o o o o ot o t p Co p o yp t N t py N t p N C N D o C D y C oto C yp o p t t y y o pyp to N py to p o to o t pp y o D N y o D o D to t p yy D oto op C yp o to y to o y o o yp y yp N N to o o o y to pyyp Do tto o o oN o N t Co y D o No D to oo C yy oo C p o o t p o yp o y o t y D ypy o C D oo Do Noot yyp D No o oppyyp o tto ot y N to yp t C p oD Noot ypy ot to D D N to o o p D o t C D pp No C p y yp o t o to Co yp o N y o yp o y t Cop o p Ct op o y y o t No ypy o C o ot yyp oo y t ppy tto ypyp yp o y oto to D ot oot py N yp oo D to o yp yp to C Co y to o o yp yp o o to t y o o C o t p N D o N tt p t p o o y yp N y to tto opypy t C pyp Do ottto y pyp ot C D to y o p D D ot pp o Noo o o N y tto yp o o D N o y t C opp y ot o yp opp N o tto p y D ooN D N t o C oto op y to opp N C yp o o too Do No D Noo yyyp o Do N t p pyp C po y cpy2: lodsb stosb loop cpy2 nxt2: mov ah, 9 lea dx, cmsg int 21h lea dx, cstr int 21h mov ah, 4ch ;exit to operating system. int 21h end MCSL 017 39 Loganathan R
toot D N to o oto tot Copyp o No D t o ott C o y to yp C y oot opy t C y C yp t pyp tot p ototo y yp t y y to Copyp to ppyyp p D o p C y ot C p y py D t ot p to pyyp tto C p o o o o o ot o t p Co p o yp t N t py N t p N C N D o C D y C oto C yp o p t t y y o pyp to N py to p o to o t pp y o D N y o D o D to t p yy D oto op C yp o to y to o y o o yp y yp N N to o o o y to pyyp Do tto o o oN o N t Co y D o No D to oo C yy oo C p o o t p o yp o y o t y D ypy o C D oo Do Noot yyp D No o oppyyp o tto ot y N to yp t C p oD Noot ypy ot to D D N to o o p D o t C D pp No C p y yp o t o to Co yp o N y o yp o y t Cop o p Ct op o y y o t No ypy o C o ot yyp oo y t ppy tto ypyp yp o y oto to D ot oot py N yp oo D to o yp yp to C Co y to o o yp yp o o to t y o o C o t p N D o N tt p t p o o y yp N y to tto opypy t C pyp Do ottto y pyp ot C D to y o p D D ot pp o Noo o o N y tto yp o o D N o y t C opp y ot o yp opp N o tto p y D ooN D N t o C oto op y to opp N C yp o o too Do No D Noo yyyp o Do N t p pyp C po y 2. Write a program, which converts string lower case characters to upper case characters and upper case characters to lower case characters. .model small ;1 ds & 1 CS .data ;Data Segment strb db 103 sl db ? str db 101 dup('$') msg db 'Enter String with Upper & Lower case :$' cmsg db 10,13,'The Coverted String : $' .code mov ax, @data mov ds, ax ;initialize DS with Data Segment Base mov es, ax ;initialize ES with Data Segment Base lea dx, msg mov ah, 9 int 21h lea dx, strb mov ah, 0ah int 21h lea dx, cmsg mov ah, 9 int 21h mov cl, sl xor ch, ch jcxz xit lea si, str mov di, si nxt: lodsb cmp al, 'A' jb nochg cmp al, 'Z' ja toup add al, 'a' - 'A' jmp nochg toup: cmp al, 'a' jb nochg cmp al, 'z' ja nochg sub al, 'a' - 'A' nochg: MCSL 017 40 Loganathan R
toot D N to o oto tot Copyp o No D t o ott C o y to yp C y oot opy t C y C yp t pyp tot p ototo y yp t y y to Copyp to ppyyp p D o p C y ot C p y py D t ot p to pyyp tto C p o o o o o ot o t p Co p o yp t N t py N t p N C N D o C D y C oto C yp o p t t y y o pyp to N py to p o to o t pp y o D N y o D o D to t p yy D oto op C yp o to y to o y o o yp y yp N N to o o o y to pyyp Do tto o o oN o N t Co y D o No D to oo C yy oo C p o o t p o yp o y o t y D ypy o C D oo Do Noot yyp D No o oppyyp o tto ot y N to yp t C p oD Noot ypy ot to D D N to o o p D o t C D pp No C p y yp o t o to Co yp o N y o yp o y t Cop o p Ct op o y y o t No ypy o C o ot yyp oo y t ppy tto ypyp yp o y oto to D ot oot py N yp oo D to o yp yp to C Co y to o o yp yp o o to t y o o C o t p N D o N tt p t p o o y yp N y to tto opypy t C pyp Do ottto y pyp ot C D to y o p D D ot pp o Noo o o N y tto yp o o D N o y t C opp y ot o yp opp N o tto p y D ooN D N t o C oto op y to opp N C yp o o too Do No D Noo yyyp o Do N t p pyp C po y stosb loop nxt xit: lea dx, str mov ah, 9 int 21h mov ah, 4ch ;exit to operating system. int 21h end MCSL 017 41 Loganathan R
toot D N to o oto tot Copyp o No D t o ott C o y to yp C y oot opy t C y C yp t pyp tot p ototo y yp t y y to Copyp to ppyyp p D o p C y ot C p y py D t ot p to pyyp tto C p o o o o o ot o t p Co p o yp t N t py N t p N C N D o C D y C oto C yp o p t t y y o pyp to N py to p o to o t pp y o D N y o D o D to t p yy D oto op C yp o to y to o y o o yp y yp N N to o o o y to pyyp Do tto o o oN o N t Co y D o No D to oo C yy oo C p o o t p o yp o y o t y D ypy o C D oo Do Noot yyp D No o oppyyp o tto ot y N to yp t C p oD Noot ypy ot to D D N to o o p D o t C D pp No C p y yp o t o to Co yp o N y o yp o y t Cop o p Ct op o y y o t No ypy o C o ot yyp oo y t ppy tto ypyp yp o y oto to D ot oot py N yp oo D to o yp yp to C Co y to o o yp yp o o to t y o o C o t p N D o N tt p t p o o y yp N y to tto opypy t C pyp Do ottto y pyp ot C D to y o p D D ot pp o Noo o o N y tto yp o o D N o y t C opp y ot o yp opp N o tto p y D ooN D N t o C oto op y to opp N C yp o o too Do No D Noo yyyp o Do N t p pyp C po y 3. Write a program for reversing a given string. .model small ;1 ds & 1 CS .data ;Data Segment strb db 103 sl db ? mstr db 101 dup('$') rstr db 100 dup('$') msg db 'Enter a String : $' cmsg db 10,13,'The Reversed String : $' .code mov ax, @data mov ds, ax ;initialize DS with Data Segment Base mov es, ax ;initialize ES with Data Segment Base lea dx, msg mov ah, 9 int 21h lea dx, strb mov ah, 0ah int 21h lea dx, cmsg mov ah, 9 int 21h mov cl, sl xor ch, ch jcxz xit lea si, mstr lea di, rstr add si, cx nxt: dec si mov al, [si] stosb loop nxt xit: lea dx, rstr mov ah, 9 int 21h mov ah, 4ch ;exit to operating system. int 21h end MCSL 017 42 Loganathan R
toot D N to o oto tot Copyp o No D t o ott C o y to yp C y oot opy t C y C yp t pyp tot p ototo y yp t y y to Copyp to ppyyp p D o p C y ot C p y py D t ot p to pyyp tto C p o o o o o ot o t p Co p o yp t N t py N t p N C N D o C D y C oto C yp o p t t y y o pyp to N py to p o to o t pp y o D N y o D o D to t p yy D oto op C yp o to y to o y o o yp y yp N N to o o o y to pyyp Do tto o o oN o N t Co y D o No D to oo C yy oo C p o o t p o yp o y o t y D ypy o C D oo Do Noot yyp D No o oppyyp o tto ot y N to yp t C p oD Noot ypy ot to D D N to o o p D o t C D pp No C p y yp o t o to Co yp o N y o yp o y t Cop o p Ct op o y y o t No ypy o C o ot yyp oo y t ppy tto ypyp yp o y oto to D ot oot py N yp oo D to o yp yp to C Co y to o o yp yp o o to t y o o C o t p N D o N tt p t p o o y yp N y to tto opypy t C pyp Do ottto y pyp ot C D to y o p D D ot pp o Noo o o N y tto yp o o D N o y t C opp y ot o yp opp N o tto p y D ooN D N t o C oto op y to opp N C yp o o too Do No D Noo yyyp o Do N t p pyp C po y 4. Write a program, which converts string to its ASCII value and store in array. .model small ;1 ds & 1 CS .data ;Data Segment strb db 103 sl db ? str db 101 dup(0) ; ASCII equivalent of string characters msg db 10,13,'Enter a String : $' .code mov ax, @data mov ds, ax ;initialize DS with Data Segment Base lea dx, msg mov ah, 9 int 21h lea dx, strb mov ah, 0ah int 21h mov ah, 4ch ;exit to operating system. int 21h end MCSL 017 43 Loganathan R
toot D N to o oto tot Copyp o No D t o ott C o y to yp C y oot opy t C y C yp t pyp tot p ototo y yp t y y to Copyp to ppyyp p D o p C y ot C p y py D t ot p to pyyp tto C p o o o o o ot o t p Co p o yp t N t py N t p N C N D o C D y C oto C yp o p t t y y o pyp to N py to p o to o t pp y o D N y o D o D to t p yy D oto op C yp o to y to o y o o yp y yp N N to o o o y to pyyp Do tto o o oN o N t Co y D o No D to oo C yy oo C p o o t p o yp o y o t y D ypy o C D oo Do Noot yyp D No o oppyyp o tto ot y N to yp t C p oD Noot ypy ot to D D N to o o p D o t C D pp No C p y yp o t o to Co yp o N y o yp o y t Cop o p Ct op o y y o t No ypy o C o ot yyp oo y t ppy tto ypyp yp o y oto to D ot oot py N yp oo D to o yp yp to C Co y to o o yp yp o o to t y o o C o t p N D o N tt p t p o o y yp N y to tto opypy t C pyp Do ottto y pyp ot C D to y o p D D ot pp o Noo o o N y tto yp o o D N o y t C opp y ot o yp opp N o tto p y D ooN D N t o C oto op y to opp N C yp o o too Do No D Noo yyyp o Do N t p pyp C po y 5. Write a program to find if two strings are equal length: and if the strings are found to be of equivalent length then are they the same, if not the same then which string is lexicographically greater. ;Concatenation of 2 Strins .model small ;1 ds & 1 CS .data ;Data Segment str1b db 103 sl1 db ? str1 db 101 dup('$') str2b db 103 sl2 db ? str2 db 101 dup('$') msg1 db 10,13,'Enter String 1(Max length 50) :$' msg2 db 10,13,'Enter String 2(Max length 50) :$' emsg db 10,13,'The Strings are Equal$' nemsg db 10,13,'The Strings are NOT Equal Length$' gmsg db 10,13,'String ' res db ?,' is Greater$' .code mov ax, @data mov ds, ax ;initialize DS with Data Segment Base mov es, ax ;initialize ES with Data Segment Base agn: lea dx, msg1 mov ah, 9 int 21h lea dx, str1b mov ah, 0ah int 21h lea dx, msg2 mov ah, 9 int 21h lea dx, str2b mov ah, 0ah int 21h lea si, str1 lea di, str2 mov cl, sl1 cmp cl, sl2 jne diflen xor ch, ch jcxz agn repe cmpsb je eqlstr mov al, [si-1] cmp al, [di-1] ja gstr1 MCSL 017 44 Loganathan R
toot D N to o oto tot Copyp o No D t o ott C o y to yp C y oot opy t C y C yp t pyp tot p ototo y yp t y y to Copyp to ppyyp p D o p C y ot C p y py D t ot p to pyyp tto C p o o o o o ot o t p Co p o yp t N t py N t p N C N D o C D y C oto C yp o p t t y y o pyp to N py to p o to o t pp y o D N y o D o D to t p yy D oto op C yp o to y to o y o o yp y yp N N to o o o y to pyyp Do tto o o oN o N t Co y D o No D to oo C yy oo C p o o t p o yp o y o t y D ypy o C D oo Do Noot yyp D No o oppyyp o tto ot y N to yp t C p oD Noot ypy ot to D D N to o o p D o t C D pp No C p y yp o t o to Co yp o N y o yp o y t Cop o p Ct op o y y o t No ypy o C o ot yyp oo y t ppy tto ypyp yp o y oto to D ot oot py N yp oo D to o yp yp to C Co y to o o yp yp o o to t y o o C o t p N D o N tt p t p o o y yp N y to tto opypy t C pyp Do ottto y pyp ot C D to y o p D D ot pp o Noo o o N y tto yp o o D N o y t C opp y ot o yp opp N o tto p y D ooN D N t o C oto op y to opp N C yp o o too Do No D Noo yyyp o Do N t p pyp C po y mov res, '2' jmp dspgstr gstr1: mov res, '1' dspgstr: lea dx, gmsg jmp disp: eqlstr: lea dx, emsg jmp disp diflen: lea dx, nemsg disp: mov ah, 9 int 21h mov ah, 4ch ;exit to operating system. int 21h end MCSL 017 45 Loganathan R
toot D N to o oto tot Copyp o No D t o ott C o y to yp C y oot opy t C y C yp t pyp tot p ototo y yp t y y to Copyp to ppyyp p D o p C y ot C p y py D t ot p to pyyp tto C p o o o o o ot o t p Co p o yp t N t py N t p N C N D o C D y C oto C yp o p t t y y o pyp to N py to p o to o t pp y o D N y o D o D to t p yy D oto op C yp o to y to o y o o yp y yp N N to o o o y to pyyp Do tto o o oN o N t Co y D o No D to oo C yy oo C p o o t p o yp o y o t y D ypy o C D oo Do Noot yyp D No o oppyyp o tto ot y N to yp t C p oD Noot ypy ot to D D N to o o p D o t C D pp No C p y yp o t o to Co yp o N y o yp o y t Cop o p Ct op o y y o t No ypy o C o ot yyp oo y t ppy tto ypyp yp o y oto to D ot oot py N yp oo D to o yp yp to C Co y to o o yp yp o o to t y o o C o t p N D o N tt p t p o o y yp N y to tto opypy t C pyp Do ottto y pyp ot C D to y o p D D ot pp o Noo o o N y tto yp o o D N o y t C opp y ot o yp opp N o tto p y D ooN D N t o C oto op y to opp N C yp o o too Do No D Noo yyyp o Do N t p pyp C po y 6. Write a program to determine a given string is a palindrome. If 'Yes' output the message “The given string is a palindrome”. If 'No' output the message “No, it is not a palindrome”. .model small ;1 ds & 1 CS .data ;Data Segment strb db 103 sl db ? mstr db 101 dup('$') rstr db 100 dup('$') msg db 10,13,'Enter a String : $' pmsg db 10,13,'Given String is a Polindrome$' npmsg db 10,13,'Given String is NOT a Polindrome$' .code mov ax, @data mov ds, ax ;initialize DS with Data Segment Base mov es, ax ;initialize ES with Data Segment Base agn: lea dx, msg mov ah, 9 int 21h lea dx, strb mov ah, 0ah int 21h mov cl, sl xor ch, ch jcxz agn lea si, mstr lea di, rstr add si, cx nxt: dec si mov al, [si] stosb loop nxt mov cl, sl lea si, mstr lea di, rstr repe cmpsb je equl lea dx, npmsg jmp disp equl: lea dx, pmsg MCSL 017 46 Loganathan R
toot D N to o oto tot Copyp o No D t o ott C o y to yp C y oot opy t C y C yp t pyp tot p ototo y yp t y y to Copyp to ppyyp p D o p C y ot C p y py D t ot p to pyyp tto C p o o o o o ot o t p Co p o yp t N t py N t p N C N D o C D y C oto C yp o p t t y y o pyp to N py to p o to o t pp y o D N y o D o D to t p yy D oto op C yp o to y to o y o o yp y yp N N to o o o y to pyyp Do tto o o oN o N t Co y D o No D to oo C yy oo C p o o t p o yp o y o t y D ypy o C D oo Do Noot yyp D No o oppyyp o tto ot y N to yp t C p oD Noot ypy ot to D D N to o o p D o t C D pp No C p y yp o t o to Co yp o N y o yp o y t Cop o p Ct op o y y o t No ypy o C o ot yyp oo y t ppy tto ypyp yp o y oto to D ot oot py N yp oo D to o yp yp to C Co y to o o yp yp o o to t y o o C o t p N D o N tt p t p o o y yp N y to tto opypy t C pyp Do ottto y pyp ot C D to y o p D D ot pp o Noo o o N y tto yp o o D N o y t C opp y ot o yp opp N o tto p y D ooN D N t o C oto op y to opp N C yp o o too Do No D Noo yyyp o Do N t p pyp C po y disp: mov ah, 9 int 21h xit: mov ah, 4ch ;exit to operating system. int 21h end MCSL 017 47 Loganathan R
toot D N to o oto tot Copyp o No D t o ott C o y to yp C y oot opy t C y C yp t pyp tot p ototo y yp t y y to Copyp to ppyyp p D o p C y ot C p y py D t ot p to pyyp tto C p o o o o o ot o t p Co p o yp t N t py N t p N C N D o C D y C oto C yp o p t t y y o pyp to N py to p o to o t pp y o D N y o D o D to t p yy D oto op C yp o to y to o y o o yp y yp N N to o o o y to pyyp Do tto o o oN o N t Co y D o No D to oo C yy oo C p o o t p o yp o y o t y D ypy o C D oo Do Noot yyp D No o oppyyp o tto ot y N to yp t C p oD Noot ypy ot to D D N to o o p D o t C D pp No C p y yp o t o to Co yp o N y o yp o y t Cop o p Ct op o y y o t No ypy o C o ot yyp oo y t ppy tto ypyp yp o y oto to D ot oot py N yp oo D to o yp yp to C Co y to o o yp yp o o to t y o o C o t p N D o N tt p t p o o y yp N y to tto opypy t C pyp Do ottto y pyp ot C D to y o p D D ot pp o Noo o o N y tto yp o o D N o y t C opp y ot o yp opp N o tto p y D ooN D N t o C oto op y to opp N C yp o o too Do No D Noo yyyp o Do N t p pyp C po y 7. Write a program to search for a character in a given string and calculate the number of occurrences of the character in the given string. ;Character Search .model small ;1 ds & 1 CS .data ;Data Segment strb db 103 sl db ? str db 101 dup('$') msg1 db 10,13,'Enter a String : $' msg2 db 10,13,'Enter the charector to be searched : $' msg3 db 10,13,'Given Character' chr db ?,' Present ' nos db 0,0,' Times$' .code mov ax, @data mov ds, ax ;initialize DS with Data Segment Base mov es, ax ;initialize ES with Data Segment Base agn: lea dx, msg1 mov ah, 9 int 21h lea dx, strb mov ah, 0ah int 21h lea dx, msg2 mov ah, 9 int 21h mov ah, 1 int 21h mov chr, al mov cl, sl xor ch, ch jcxz agn lea di, str nxt: scasb jne cntnu inc nos cntnu: loop nxt mov al, nos aam MCSL 017 48 Loganathan R
toot D N to o oto tot Copyp o No D t o ott C o y to yp C y oot opy t C y C yp t pyp tot p ototo y yp t y y to Copyp to ppyyp p D o p C y ot C p y py D t ot p to pyyp tto C p o o o o o ot o t p Co p o yp t N t py N t p N C N D o C D y C oto C yp o p t t y y o pyp to N py to p o to o t pp y o D N y o D o D to t p yy D oto op C yp o to y to o y o o yp y yp N N to o o o y to pyyp Do tto o o oN o N t Co y D o No D to oo C yy oo C p o o t p o yp o y o t y D ypy o C D oo Do Noot yyp D No o oppyyp o tto ot y N to yp t C p oD Noot ypy ot to D D N to o o p D o t C D pp No C p y yp o t o to Co yp o N y o yp o y t Cop o p Ct op o y y o t No ypy o C o ot yyp oo y t ppy tto ypyp yp o y oto to D ot oot py N yp oo D to o yp yp to C Co y to o o yp yp o o to t y o o C o t p N D o N tt p t p o o y yp N y to tto opypy t C pyp Do ottto y pyp ot C D to y o p D D ot pp o Noo o o N y tto yp o o D N o y t C opp y ot o yp opp N o tto p y D ooN D N t o C oto op y to opp N C yp o o too Do No D Noo yyyp o Do N t p pyp C po y add ax, 3030h mov nos, ah mov nos+1, al lea dx, msg3 mov ah, 9 int 21h mov ah, 4ch ;exit to operating system. int 21h end MCSL 017 49 Loganathan R

IGNOU Assembly Language Programming

  • 1.
    toot D N to o oto tot Copyp o No D t o ottC o y to yp C y oot opy t C y C yp t pyp tot p ototo y yp t y y to Copyp to ppyyp p D o p C y ot C p y py D t ot p to pyyp tto C p o o o o o ot o t p Co p o yp t N t py N t p N C N D o C D y C oto C yp o p t t y y o pyp to N py to p o to o t pp y o D N y o D o D to t p yy D oto op C yp o to y to o y o o yp y yp N N to o o o y to pyyp Do tto o o oN o N t Co y D o No D to oo C yy oo C p o o t p o yp o y o t y D ypy o C D oo Do Noot yyp D No o oppyyp o tto ot y N to yp t C p oD Noot ypy ot to D D N to o o p D o t C D pp No C p y yp o t o to Co yp o N y o yp o y t Cop o p Ct op o y y o t No ypy o C o ot yyp oo y t ppy tto ypyp yp o y oto to D ot oot py N yp oo D to o yp yp to C Co y to o o yp yp o o to t y o o C o t p N D o N tt p t p o o y yp N y to tto opypy t C pyp Do ottto y pyp ot C D to y o p D D ot pp o Noo o o N y tto yp o o D N o y t C opp y ot o yp opp N o tto p y D ooN D N t o C oto op y to opp N C yp o o too Do No D Noo yyyp o Do N t p pyp C po y MCSL 017 Assembly Language Programming Manual Sessions 3 and 4: 1. Write a program to add two numbers present in two consecutive memory locations and store the result in next memory location. .model small .data n1 db 12h n2 db 13h res db ? .code mov ax, @data mov ds, ax mov al, n1 add al, n2 mov res, al mov ah, 4ch int 21h end 2. Develop program to read a character from console and echo it. .model small .data msg1 db 'Enter a Character : $' msg2 db 10,13,'Your Input is : $' .code mov ax, @data mov ds, ax mov ah, 9 lea dx, msg1 int 21h mov ah, 1 int 21h mov bl, al mov ah, 9 lea dx, msg2 int 21h mov dl, bl mov ah, 2 int 21h mov ah, 4ch int 21h end MCSL 017 1 Loganathan R
  • 2.
    toot D N to o oto tot Copyp o No D t o ottC o y to yp C y oot opy t C y C yp t pyp tot p ototo y yp t y y to Copyp to ppyyp p D o p C y ot C p y py D t ot p to pyyp tto C p o o o o o ot o t p Co p o yp t N t py N t p N C N D o C D y C oto C yp o p t t y y o pyp to N py to p o to o t pp y o D N y o D o D to t p yy D oto op C yp o to y to o y o o yp y yp N N to o o o y to pyyp Do tto o o oN o N t Co y D o No D to oo C yy oo C p o o t p o yp o y o t y D ypy o C D oo Do Noot yyp D No o oppyyp o tto ot y N to yp t C p oD Noot ypy ot to D D N to o o p D o t C D pp No C p y yp o t o to Co yp o N y o yp o y t Cop o p Ct op o y y o t No ypy o C o ot yyp oo y t ppy tto ypyp yp o y oto to D ot oot py N yp oo D to o yp yp to C Co y to o o yp yp o o to t y o o C o t p N D o N tt p t p o o y yp N y to tto opypy t C pyp Do ottto y pyp ot C D to y o p D D ot pp o Noo o o N y tto yp o o D N o y t C opp y ot o yp opp N o tto p y D ooN D N t o C oto op y to opp N C yp o o too Do No D Noo yyyp o Do N t p pyp C po y 3. Develop and execute a program to read 10 chars from console. .model small .data msg1 db 'Enter 10 Characters : $' msg2 db 10,13,'Your Input is : $' chars db 10 dup(?) .code mov ax, @data mov ds, ax mov ah, 9 lea dx, msg1 int 21h lea si, chars mov cl, 10 mov ah, 1 agn: int 21h mov [si], al inc si dec cl jnz agn mov ah, 9 lea dx, msg2 int 21h lea si, chars mov cl, 10 mov ah, 2 nxt: mov dl, [si] int 21h inc si dec cl jnz nxt mov ah, 4ch int 21h end MCSL 017 2 Loganathan R
  • 3.
    toot D N to o oto tot Copyp o No D t o ottC o y to yp C y oot opy t C y C yp t pyp tot p ototo y yp t y y to Copyp to ppyyp p D o p C y ot C p y py D t ot p to pyyp tto C p o o o o o ot o t p Co p o yp t N t py N t p N C N D o C D y C oto C yp o p t t y y o pyp to N py to p o to o t pp y o D N y o D o D to t p yy D oto op C yp o to y to o y o o yp y yp N N to o o o y to pyyp Do tto o o oN o N t Co y D o No D to oo C yy oo C p o o t p o yp o y o t y D ypy o C D oo Do Noot yyp D No o oppyyp o tto ot y N to yp t C p oD Noot ypy ot to D D N to o o p D o t C D pp No C p y yp o t o to Co yp o N y o yp o y t Cop o p Ct op o y y o t No ypy o C o ot yyp oo y t ppy tto ypyp yp o y oto to D ot oot py N yp oo D to o yp yp to C Co y to o o yp yp o o to t y o o C o t p N D o N tt p t p o o y yp N y to tto opypy t C pyp Do ottto y pyp ot C D to y o p D D ot pp o Noo o o N y tto yp o o D N o y t C opp y ot o yp opp N o tto p y D ooN D N t o C oto op y to opp N C yp o o too Do No D Noo yyyp o Do N t p pyp C po y 4. Write a program to exchange two memory variables using MOV and XCHG instruction. Can you do it with just XCHG? .model small .data n1 db 12h n2 db 13h .code mov ax, @data mov ds, ax mov al, n1 xchg al, n2 mov n1,al mov ah, 4ch int 21h end Using XCHG only: .model small .data n1 db 12h n2 db 13h .code mov ax, @data mov ds, ax xchg al, n1 xchg al, n2 xchg n1,al mov ah, 4ch int 21h end MCSL 017 3 Loganathan R
  • 4.
    toot D N to o oto tot Copyp o No D t o ottC o y to yp C y oot opy t C y C yp t pyp tot p ototo y yp t y y to Copyp to ppyyp p D o p C y ot C p y py D t ot p to pyyp tto C p o o o o o ot o t p Co p o yp t N t py N t p N C N D o C D y C oto C yp o p t t y y o pyp to N py to p o to o t pp y o D N y o D o D to t p yy D oto op C yp o to y to o y o o yp y yp N N to o o o y to pyyp Do tto o o oN o N t Co y D o No D to oo C yy oo C p o o t p o yp o y o t y D ypy o C D oo Do Noot yyp D No o oppyyp o tto ot y N to yp t C p oD Noot ypy ot to D D N to o o p D o t C D pp No C p y yp o t o to Co yp o N y o yp o y t Cop o p Ct op o y y o t No ypy o C o ot yyp oo y t ppy tto ypyp yp o y oto to D ot oot py N yp oo D to o yp yp to C Co y to o o yp yp o o to t y o o C o t p N D o N tt p t p o o y yp N y to tto opypy t C pyp Do ottto y pyp ot C D to y o p D D ot pp o Noo o o N y tto yp o o D N o y t C opp y ot o yp opp N o tto p y D ooN D N t o C oto op y to opp N C yp o o too Do No D Noo yyyp o Do N t p pyp C po y 5. Write a program to find the sum of two BCD numbers stored in memory. .model small .data n1 db 12h n2 db 13h res db ? .code mov ax, @data mov ds, ax mov al, n1 add al, n2 daa mov res, al mov ah, 4ch int 21h end MCSL 017 4 Loganathan R
  • 5.
    toot D N to o oto tot Copyp o No D t o ottC o y to yp C y oot opy t C y C yp t pyp tot p ototo y yp t y y to Copyp to ppyyp p D o p C y ot C p y py D t ot p to pyyp tto C p o o o o o ot o t p Co p o yp t N t py N t p N C N D o C D y C oto C yp o p t t y y o pyp to N py to p o to o t pp y o D N y o D o D to t p yy D oto op C yp o to y to o y o o yp y yp N N to o o o y to pyyp Do tto o o oN o N t Co y D o No D to oo C yy oo C p o o t p o yp o y o t y D ypy o C D oo Do Noot yyp D No o oppyyp o tto ot y N to yp t C p oD Noot ypy ot to D D N to o o p D o t C D pp No C p y yp o t o to Co yp o N y o yp o y t Cop o p Ct op o y y o t No ypy o C o ot yyp oo y t ppy tto ypyp yp o y oto to D ot oot py N yp oo D to o yp yp to C Co y to o o yp yp o o to t y o o C o t p N D o N tt p t p o o y yp N y to tto opypy t C pyp Do ottto y pyp ot C D to y o p D D ot pp o Noo o o N y tto yp o o D N o y t C opp y ot o yp opp N o tto p y D ooN D N t o C oto op y to opp N C yp o o too Do No D Noo yyyp o Do N t p pyp C po y 6. Write a program, which will read two decimal numbers, then multiply them together, and finally print out the result (in decimal). .model small .data msg1 db 'Enter First Decimal Digit : $' msg2 db 10,13,'Enter Second Decimal Digit : $' msg3 db 10,13,'Multiplied Result : $' .code mov ax, @data mov ds, ax mov ah, 9 lea dx, msg1 int 21h mov ah, 1 int 21h sub al, 30h mov bl, al mov ah, 9 lea dx, msg2 int 21h mov ah, 1 int 21h sub al, 30h mul bl aam add ax, 3030h mov bx, ax mov ah, 9 lea dx, msg3 int 21h mov dl, bh mov ah, 2 int 21h mov dl, bl mov ah, 2 int 21h mov ah, 4ch int 21h end MCSL 017 5 Loganathan R
  • 6.
    toot D N to o oto tot Copyp o No D t o ottC o y to yp C y oot opy t C y C yp t pyp tot p ototo y yp t y y to Copyp to ppyyp p D o p C y ot C p y py D t ot p to pyyp tto C p o o o o o ot o t p Co p o yp t N t py N t p N C N D o C D y C oto C yp o p t t y y o pyp to N py to p o to o t pp y o D N y o D o D to t p yy D oto op C yp o to y to o y o o yp y yp N N to o o o y to pyyp Do tto o o oN o N t Co y D o No D to oo C yy oo C p o o t p o yp o y o t y D ypy o C D oo Do Noot yyp D No o oppyyp o tto ot y N to yp t C p oD Noot ypy ot to D D N to o o p D o t C D pp No C p y yp o t o to Co yp o N y o yp o y t Cop o p Ct op o y y o t No ypy o C o ot yyp oo y t ppy tto ypyp yp o y oto to D ot oot py N yp oo D to o yp yp to C Co y to o o yp yp o o to t y o o C o t p N D o N tt p t p o o y yp N y to tto opypy t C pyp Do ottto y pyp ot C D to y o p D D ot pp o Noo o o N y tto yp o o D N o y t C opp y ot o yp opp N o tto p y D ooN D N t o C oto op y to opp N C yp o o too Do No D Noo yyyp o Do N t p pyp C po y 7. Write a program to convert the ASCII code to its BCD equivalent. .model small .data ascii db 46H ;for Hex ditits 30h-39h,41h-46h bcd db ? .code mov ax, @data mov ds, ax mov al, ascii cmp al, 39h jbe sub30 sub al, 7h sub30: sub al, 30h daa mov bcd, al mov ah, 4ch int 21h end MCSL 017 6 Loganathan R
  • 7.
    toot D N to o oto tot Copyp o No D t o ottC o y to yp C y oot opy t C y C yp t pyp tot p ototo y yp t y y to Copyp to ppyyp p D o p C y ot C p y py D t ot p to pyyp tto C p o o o o o ot o t p Co p o yp t N t py N t p N C N D o C D y C oto C yp o p t t y y o pyp to N py to p o to o t pp y o D N y o D o D to t p yy D oto op C yp o to y to o y o o yp y yp N N to o o o y to pyyp Do tto o o oN o N t Co y D o No D to oo C yy oo C p o o t p o yp o y o t y D ypy o C D oo Do Noot yyp D No o oppyyp o tto ot y N to yp t C p oD Noot ypy ot to D D N to o o p D o t C D pp No C p y yp o t o to Co yp o N y o yp o y t Cop o p Ct op o y y o t No ypy o C o ot yyp oo y t ppy tto ypyp yp o y oto to D ot oot py N yp oo D to o yp yp to C Co y to o o yp yp o o to t y o o C o t p N D o N tt p t p o o y yp N y to tto opypy t C pyp Do ottto y pyp ot C D to y o p D D ot pp o Noo o o N y tto yp o o D N o y t C opp y ot o yp opp N o tto p y D ooN D N t o C oto op y to opp N C yp o o too Do No D Noo yyyp o Do N t p pyp C po y 8. Write a program, which will read in two decimal inputs and print out their sum, in decimal. .model small .data msg1 db 'Enter First Decimal Digit : $' msg2 db 10,13,'Enter Second Decimal Digit : $' msg3 db 10,13,'Addition Result : $' .code mov ax, @data mov ds, ax mov ah, 9 lea dx, msg1 int 21h mov ah, 1 int 21h sub al, 30h mov bl, al mov ah, 9 lea dx, msg2 int 21h mov ah, 1 int 21h sub al, 30h add al, bl aam add ax, 3030h mov bx, ax mov ah, 9 lea dx, msg3 int 21h mov dl, bh mov ah, 2 int 21h mov dl, bl mov ah, 2 int 21h mov ah, 4ch int 21h end MCSL 017 7 Loganathan R
  • 8.
    toot D N to o oto tot Copyp o No D t o ottC o y to yp C y oot opy t C y C yp t pyp tot p ototo y yp t y y to Copyp to ppyyp p D o p C y ot C p y py D t ot p to pyyp tto C p o o o o o ot o t p Co p o yp t N t py N t p N C N D o C D y C oto C yp o p t t y y o pyp to N py to p o to o t pp y o D N y o D o D to t p yy D oto op C yp o to y to o y o o yp y yp N N to o o o y to pyyp Do tto o o oN o N t Co y D o No D to oo C yy oo C p o o t p o yp o y o t y D ypy o C D oo Do Noot yyp D No o oppyyp o tto ot y N to yp t C p oD Noot ypy ot to D D N to o o p D o t C D pp No C p y yp o t o to Co yp o N y o yp o y t Cop o p Ct op o y y o t No ypy o C o ot yyp oo y t ppy tto ypyp yp o y oto to D ot oot py N yp oo D to o yp yp to C Co y to o o yp yp o o to t y o o C o t p N D o N tt p t p o o y yp N y to tto opypy t C pyp Do ottto y pyp ot C D to y o p D D ot pp o Noo o o N y tto yp o o D N o y t C opp y ot o yp opp N o tto p y D ooN D N t o C oto op y to opp N C yp o o too Do No D Noo yyyp o Do N t p pyp C po y 9. Write a program, which will read in two decimal inputs and print out the smaller of the two, in decimal. .model small .data msg1 db 'Enter First Decimal Digit : $' msg2 db 10,13,'Enter Second Decimal Digit : $' msg3 db 10,13,'Smallest : $' .code mov ax, @data mov ds, ax mov ah, 9 lea dx, msg1 int 21h mov ah, 1 int 21h mov bl, al mov ah, 9 lea dx, msg2 int 21h mov ah, 1 int 21h mov bh, al mov ah, 9 lea dx, msg3 int 21h cmp bl, bh jb lessbl mov dl, bh jmp disp lessbl: mov dl, bl disp: mov ah, 2 int 21h mov ah, 4ch int 21h end MCSL 017 8 Loganathan R
  • 9.
    toot D N to o oto tot Copyp o No D t o ottC o y to yp C y oot opy t C y C yp t pyp tot p ototo y yp t y y to Copyp to ppyyp p D o p C y ot C p y py D t ot p to pyyp tto C p o o o o o ot o t p Co p o yp t N t py N t p N C N D o C D y C oto C yp o p t t y y o pyp to N py to p o to o t pp y o D N y o D o D to t p yy D oto op C yp o to y to o y o o yp y yp N N to o o o y to pyyp Do tto o o oN o N t Co y D o No D to oo C yy oo C p o o t p o yp o y o t y D ypy o C D oo Do Noot yyp D No o oppyyp o tto ot y N to yp t C p oD Noot ypy ot to D D N to o o p D o t C D pp No C p y yp o t o to Co yp o N y o yp o y t Cop o p Ct op o y y o t No ypy o C o ot yyp oo y t ppy tto ypyp yp o y oto to D ot oot py N yp oo D to o yp yp to C Co y to o o yp yp o o to t y o o C o t p N D o N tt p t p o o y yp N y to tto opypy t C pyp Do ottto y pyp ot C D to y o p D D ot pp o Noo o o N y tto yp o o D N o y t C opp y ot o yp opp N o tto p y D ooN D N t o C oto op y to opp N C yp o o too Do No D Noo yyyp o Do N t p pyp C po y 10. Write a program to calculate the average of three given numbers stored in memory. .model small .data n1 db 2 n2 db 3 n3 db 3 avg db ? .code mov ax, @data mov ds, ax xor ah, ah mov al, n1 add al, n2 jnc adnxt inc ah adnxt: add al, n3 jnc cntnu inc ah cntnu: mov bl, 3 div bl mov avg, al mov ah, 4ch int 21h end MCSL 017 9 Loganathan R
  • 10.
    toot D N to o oto tot Copyp o No D t o ottC o y to yp C y oot opy t C y C yp t pyp tot p ototo y yp t y y to Copyp to ppyyp p D o p C y ot C p y py D t ot p to pyyp tto C p o o o o o ot o t p Co p o yp t N t py N t p N C N D o C D y C oto C yp o p t t y y o pyp to N py to p o to o t pp y o D N y o D o D to t p yy D oto op C yp o to y to o y o o yp y yp N N to o o o y to pyyp Do tto o o oN o N t Co y D o No D to oo C yy oo C p o o t p o yp o y o t y D ypy o C D oo Do Noot yyp D No o oppyyp o tto ot y N to yp t C p oD Noot ypy ot to D D N to o o p D o t C D pp No C p y yp o t o to Co yp o N y o yp o y t Cop o p Ct op o y y o t No ypy o C o ot yyp oo y t ppy tto ypyp yp o y oto to D ot oot py N yp oo D to o yp yp to C Co y to o o yp yp o o to t y o o C o t p N D o N tt p t p o o y yp N y to tto opypy t C pyp Do ottto y pyp ot C D to y o p D D ot pp o Noo o o N y tto yp o o D N o y t C opp y ot o yp opp N o tto p y D ooN D N t o C oto op y to opp N C yp o o too Do No D Noo yyyp o Do N t p pyp C po y 11. Write a program in 8086 assembly language to find the volume of sphere using following formula: V = 4/3π r3 ;find the volume of sphere using following formula: V = 4/3 pi r3 .model small .data r db 3 v db ? .code mov ax, @data mov ds, ax mov al, r mul al mul r mov bl ,al mov al, 88 mov cl, 21 div cl mul bl mov v, al ; result in hexa decimal mov ah, 4ch int 21h end MCSL 017 10 Loganathan R
  • 11.
    toot D N to o oto tot Copyp o No D t o ottC o y to yp C y oot opy t C y C yp t pyp tot p ototo y yp t y y to Copyp to ppyyp p D o p C y ot C p y py D t ot p to pyyp tto C p o o o o o ot o t p Co p o yp t N t py N t p N C N D o C D y C oto C yp o p t t y y o pyp to N py to p o to o t pp y o D N y o D o D to t p yy D oto op C yp o to y to o y o o yp y yp N N to o o o y to pyyp Do tto o o oN o N t Co y D o No D to oo C yy oo C p o o t p o yp o y o t y D ypy o C D oo Do Noot yyp D No o oppyyp o tto ot y N to yp t C p oD Noot ypy ot to D D N to o o p D o t C D pp No C p y yp o t o to Co yp o N y o yp o y t Cop o p Ct op o y y o t No ypy o C o ot yyp oo y t ppy tto ypyp yp o y oto to D ot oot py N yp oo D to o yp yp to C Co y to o o yp yp o o to t y o o C o t p N D o N tt p t p o o y yp N y to tto opypy t C pyp Do ottto y pyp ot C D to y o p D D ot pp o Noo o o N y tto yp o o D N o y t C opp y ot o yp opp N o tto p y D ooN D N t o C oto op y to opp N C yp o o too Do No D Noo yyyp o Do N t p pyp C po y 12. Write a program to evaluates 3 * (x^3) + 4x + 5 if flag = = 1 or evaluates 7x + 8 if flag = = 0. Assume x is a 16-bit unsigned integer. ;evaluates 3 * (x^3) + 4x + 5 if flag = = 1 ;evaluates 7x + 8 if flag = = 0 .model small .data flag db 1 x dw 2 res dw ? .code mov ax, @data mov ds, ax cmp flag, 1 jne eq2 mov ax, 3 mul x mul x mul x mov cx, ax ; assume result doest not exceed 16 bit mov ax, 4 mul x add ax, 5 add ax, cx jmp xit eq2: mov ax, 7 mul x add ax, 8 xit: mov res, ax mov ah, 4ch int 21h end MCSL 017 11 Loganathan R
  • 12.
    toot D N to o oto tot Copyp o No D t o ottC o y to yp C y oot opy t C y C yp t pyp tot p ototo y yp t y y to Copyp to ppyyp p D o p C y ot C p y py D t ot p to pyyp tto C p o o o o o ot o t p Co p o yp t N t py N t p N C N D o C D y C oto C yp o p t t y y o pyp to N py to p o to o t pp y o D N y o D o D to t p yy D oto op C yp o to y to o y o o yp y yp N N to o o o y to pyyp Do tto o o oN o N t Co y D o No D to oo C yy oo C p o o t p o yp o y o t y D ypy o C D oo Do Noot yyp D No o oppyyp o tto ot y N to yp t C p oD Noot ypy ot to D D N to o o p D o t C D pp No C p y yp o t o to Co yp o N y o yp o y t Cop o p Ct op o y y o t No ypy o C o ot yyp oo y t ppy tto ypyp yp o y oto to D ot oot py N yp oo D to o yp yp to C Co y to o o yp yp o o to t y o o C o t p N D o N tt p t p o o y yp N y to tto opypy t C pyp Do ottto y pyp ot C D to y o p D D ot pp o Noo o o N y tto yp o o D N o y t C opp y ot o yp opp N o tto p y D ooN D N t o C oto op y to opp N C yp o o too Do No D Noo yyyp o Do N t p pyp C po y 13. Write a program to convert Centigrade (Celsius) to Fahrenheit temperature measuring scales. Using formula: Celsius = (Fahrenheit - 32) * 5 / 9 ;convert Centigrade (Celsius) to Fahrenheit temperature ;formula: Celsius = (Fahrenheit - 32) * 5 / 9 ; i.e f = (c * 9 / 5) + 32 .model small .data c db 40 f db ? .code mov ax, @data mov ds, ax mov cl, 32 mov al, 9 mov bl, 5 mul c div bl add al, cl mov f, al ; result in hexadecimal mov ah, 4ch int 21h end MCSL 017 12 Loganathan R
  • 13.
    toot D N to o oto tot Copyp o No D t o ottC o y to yp C y oot opy t C y C yp t pyp tot p ototo y yp t y y to Copyp to ppyyp p D o p C y ot C p y py D t ot p to pyyp tto C p o o o o o ot o t p Co p o yp t N t py N t p N C N D o C D y C oto C yp o p t t y y o pyp to N py to p o to o t pp y o D N y o D o D to t p yy D oto op C yp o to y to o y o o yp y yp N N to o o o y to pyyp Do tto o o oN o N t Co y D o No D to oo C yy oo C p o o t p o yp o y o t y D ypy o C D oo Do Noot yyp D No o oppyyp o tto ot y N to yp t C p oD Noot ypy ot to D D N to o o p D o t C D pp No C p y yp o t o to Co yp o N y o yp o y t Cop o p Ct op o y y o t No ypy o C o ot yyp oo y t ppy tto ypyp yp o y oto to D ot oot py N yp oo D to o yp yp to C Co y to o o yp yp o o to t y o o C o t p N D o N tt p t p o o y yp N y to tto opypy t C pyp Do ottto y pyp ot C D to y o p D D ot pp o Noo o o N y tto yp o o D N o y t C opp y ot o yp opp N o tto p y D ooN D N t o C oto op y to opp N C yp o o too Do No D Noo yyyp o Do N t p pyp C po y 14. Write a Program which adds the sales tax in the Price list of items and replace the Price list with a new list. ;adds the sales tax in the Price list of items ;replace the Price list with a new list .model small .data price db 20h, 30h, 40h, 50h, 60h,70h tax db 3, 4, 5, 6, 7, 8 n db tax - price .code mov ax, @data mov ds, ax mov es, ax ; since di used mov cl, n lea si, price lea di, tax nxt: mov al , [di] add [si], al inc si inc di dec cx jnz nxt mov ah, 4ch int 21h end MCSL 017 13 Loganathan R
  • 14.
    toot D N to o oto tot Copyp o No D t o ottC o y to yp C y oot opy t C y C yp t pyp tot p ototo y yp t y y to Copyp to ppyyp p D o p C y ot C p y py D t ot p to pyyp tto C p o o o o o ot o t p Co p o yp t N t py N t p N C N D o C D y C oto C yp o p t t y y o pyp to N py to p o to o t pp y o D N y o D o D to t p yy D oto op C yp o to y to o y o o yp y yp N N to o o o y to pyyp Do tto o o oN o N t Co y D o No D to oo C yy oo C p o o t p o yp o y o t y D ypy o C D oo Do Noot yyp D No o oppyyp o tto ot y N to yp t C p oD Noot ypy ot to D D N to o o p D o t C D pp No C p y yp o t o to Co yp o N y o yp o y t Cop o p Ct op o y y o t No ypy o C o ot yyp oo y t ppy tto ypyp yp o y oto to D ot oot py N yp oo D to o yp yp to C Co y to o o yp yp o o to t y o o C o t p N D o N tt p t p o o y yp N y to tto opypy t C pyp Do ottto y pyp ot C D to y o p D D ot pp o Noo o o N y tto yp o o D N o y t C opp y ot o yp opp N o tto p y D ooN D N t o C oto op y to opp N C yp o o too Do No D Noo yyyp o Do N t p pyp C po y Sessions 5, 6 and 7: 1. Write a program to find the factorial of decimal number given by user. ;factorial of decimal number given by user .model small .data n db 5 f db ? .code mov ax, @data mov ds, ax mov cl, n mov al, 1 agn: cmp cl, 0 jbe xit mul cl dec cl jmp agn xit: mov f, al mov ah, 4ch int 21h end MCSL 017 14 Loganathan R
  • 15.
    toot D N to o oto tot Copyp o No D t o ottC o y to yp C y oot opy t C y C yp t pyp tot p ototo y yp t y y to Copyp to ppyyp p D o p C y ot C p y py D t ot p to pyyp tto C p o o o o o ot o t p Co p o yp t N t py N t p N C N D o C D y C oto C yp o p t t y y o pyp to N py to p o to o t pp y o D N y o D o D to t p yy D oto op C yp o to y to o y o o yp y yp N N to o o o y to pyyp Do tto o o oN o N t Co y D o No D to oo C yy oo C p o o t p o yp o y o t y D ypy o C D oo Do Noot yyp D No o oppyyp o tto ot y N to yp t C p oD Noot ypy ot to D D N to o o p D o t C D pp No C p y yp o t o to Co yp o N y o yp o y t Cop o p Ct op o y y o t No ypy o C o ot yyp oo y t ppy tto ypyp yp o y oto to D ot oot py N yp oo D to o yp yp to C Co y to o o yp yp o o to t y o o C o t p N D o N tt p t p o o y yp N y to tto opypy t C pyp Do ottto y pyp ot C D to y o p D D ot pp o Noo o o N y tto yp o o D N o y t C opp y ot o yp opp N o tto p y D ooN D N t o C oto op y to opp N C yp o o too Do No D Noo yyyp o Do N t p pyp C po y 2. Write a program to find nCr for a given n and r. .model small .data n db 5 r db 2 ncr db ? .code mov ax, @data mov ds, ax xor ch, ch mov cl, n mov al, 1 forn: mul cl loop forn mov bl, al ;n! mov cl, r mov al, 1 forr: mul cl loop forr mov bh, al ;r! mov al, 1 mov cl, n sub cl, r ; cl <- n-r jcxz xitnr fornr: mul cl loop fornr xitnr: mul bh ;(n-r)! * r! mov cl, al mov al, bl div cl ;n! / {(n-r)! * r!) daa mov ncr, al mov ah, 4ch int 21h end MCSL 017 15 Loganathan R
  • 16.
    toot D N to o oto tot Copyp o No D t o ottC o y to yp C y oot opy t C y C yp t pyp tot p ototo y yp t y y to Copyp to ppyyp p D o p C y ot C p y py D t ot p to pyyp tto C p o o o o o ot o t p Co p o yp t N t py N t p N C N D o C D y C oto C yp o p t t y y o pyp to N py to p o to o t pp y o D N y o D o D to t p yy D oto op C yp o to y to o y o o yp y yp N N to o o o y to pyyp Do tto o o oN o N t Co y D o No D to oo C yy oo C p o o t p o yp o y o t y D ypy o C D oo Do Noot yyp D No o oppyyp o tto ot y N to yp t C p oD Noot ypy ot to D D N to o o p D o t C D pp No C p y yp o t o to Co yp o N y o yp o y t Cop o p Ct op o y y o t No ypy o C o ot yyp oo y t ppy tto ypyp yp o y oto to D ot oot py N yp oo D to o yp yp to C Co y to o o yp yp o o to t y o o C o t p N D o N tt p t p o o y yp N y to tto opypy t C pyp Do ottto y pyp ot C D to y o p D D ot pp o Noo o o N y tto yp o o D N o y t C opp y ot o yp opp N o tto p y D ooN D N t o C oto op y to opp N C yp o o too Do No D Noo yyyp o Do N t p pyp C po y 3. Write a program to arrange given N numbers in descending order. ;Signed Descending order .model small .data a db 34h,78h,56h,47h,0,90h len dw len-a ;len=no of elements .code mov ax,@data mov ds,ax mov bx,len dec bx ;bx=no of passes needed to complete sorting(n-1) outlup: mov cx,bx ;cx=no of comparisions to be performed in a pass mov si,0 inlup: mov al,a[si] inc si cmp al,a[si] ja go_on xchg al,a[si] mov a[si-1],al go_on: loop inlup ;dec cx,until cx=0 dec bx jnz outlup mov ah, 4ch int 21h end MCSL 017 16 Loganathan R
  • 17.
    toot D N to o oto tot Copyp o No D t o ottC o y to yp C y oot opy t C y C yp t pyp tot p ototo y yp t y y to Copyp to ppyyp p D o p C y ot C p y py D t ot p to pyyp tto C p o o o o o ot o t p Co p o yp t N t py N t p N C N D o C D y C oto C yp o p t t y y o pyp to N py to p o to o t pp y o D N y o D o D to t p yy D oto op C yp o to y to o y o o yp y yp N N to o o o y to pyyp Do tto o o oN o N t Co y D o No D to oo C yy oo C p o o t p o yp o y o t y D ypy o C D oo Do Noot yyp D No o oppyyp o tto ot y N to yp t C p oD Noot ypy ot to D D N to o o p D o t C D pp No C p y yp o t o to Co yp o N y o yp o y t Cop o p Ct op o y y o t No ypy o C o ot yyp oo y t ppy tto ypyp yp o y oto to D ot oot py N yp oo D to o yp yp to C Co y to o o yp yp o o to t y o o C o t p N D o N tt p t p o o y yp N y to tto opypy t C pyp Do ottto y pyp ot C D to y o p D D ot pp o Noo o o N y tto yp o o D N o y t C opp y ot o yp opp N o tto p y D ooN D N t o C oto op y to opp N C yp o o too Do No D Noo yyyp o Do N t p pyp C po y 4. Write a program, which will read in decimal inputs repeatedly until a zero value is read; at this point, it should print out the sum of the numbers read in so far. .model small .data msg1 db 10,13,'Enter Decimal Digit (0 to Stop): $' msg2 db 10,13,'The sum : $' .code mov ax, @data mov ds, ax mov bl, 0 nxt: mov ah, 9 lea dx, msg1 int 21h mov ah, 1 int 21h cmp al, '0' je xit sub al, 30h add al, bl mov bl, al jmp nxt xit: mov ah, 9 lea dx, msg2 int 21h mov al, bl aam add ax, 3030h mov bx, ax mov dl, bh mov ah, 2 int 21h mov dl, bl mov ah, 2 int 21h mov ah, 4ch int 21h end MCSL 017 17 Loganathan R
  • 18.
    toot D N to o oto tot Copyp o No D t o ottC o y to yp C y oot opy t C y C yp t pyp tot p ototo y yp t y y to Copyp to ppyyp p D o p C y ot C p y py D t ot p to pyyp tto C p o o o o o ot o t p Co p o yp t N t py N t p N C N D o C D y C oto C yp o p t t y y o pyp to N py to p o to o t pp y o D N y o D o D to t p yy D oto op C yp o to y to o y o o yp y yp N N to o o o y to pyyp Do tto o o oN o N t Co y D o No D to oo C yy oo C p o o t p o yp o y o t y D ypy o C D oo Do Noot yyp D No o oppyyp o tto ot y N to yp t C p oD Noot ypy ot to D D N to o o p D o t C D pp No C p y yp o t o to Co yp o N y o yp o y t Cop o p Ct op o y y o t No ypy o C o ot yyp oo y t ppy tto ypyp yp o y oto to D ot oot py N yp oo D to o yp yp to C Co y to o o yp yp o o to t y o o C o t p N D o N tt p t p o o y yp N y to tto opypy t C pyp Do ottto y pyp ot C D to y o p D D ot pp o Noo o o N y tto yp o o D N o y t C opp y ot o yp opp N o tto p y D ooN D N t o C oto op y to opp N C yp o o too Do No D Noo yyyp o Do N t p pyp C po y 5. Develop and execute an assembly language program to find the LCM of two 16-bit unsigned integers. .model small .data n1 dw 8000 n2 dw 9000 lcml dw ? lcmh dw ? .code mov ax,@data mov ds,ax mov dx,0 mov ax,n1 ;dx_ax=25 mov bx,n2 ;bx=15 again: push ax push dx div bx cmp dx,0 ;remainder of the division is stored in dx je exit pop dx pop ax add ax,n1 jnc noincdx inc dx noincdx: jmp again exit: pop lcmh pop lcml mov ah, 4ch int 21h end MCSL 017 18 Loganathan R
  • 19.
    toot D N to o oto tot Copyp o No D t o ottC o y to yp C y oot opy t C y C yp t pyp tot p ototo y yp t y y to Copyp to ppyyp p D o p C y ot C p y py D t ot p to pyyp tto C p o o o o o ot o t p Co p o yp t N t py N t p N C N D o C D y C oto C yp o p t t y y o pyp to N py to p o to o t pp y o D N y o D o D to t p yy D oto op C yp o to y to o y o o yp y yp N N to o o o y to pyyp Do tto o o oN o N t Co y D o No D to oo C yy oo C p o o t p o yp o y o t y D ypy o C D oo Do Noot yyp D No o oppyyp o tto ot y N to yp t C p oD Noot ypy ot to D D N to o o p D o t C D pp No C p y yp o t o to Co yp o N y o yp o y t Cop o p Ct op o y y o t No ypy o C o ot yyp oo y t ppy tto ypyp yp o y oto to D ot oot py N yp oo D to o yp yp to C Co y to o o yp yp o o to t y o o C o t p N D o N tt p t p o o y yp N y to tto opypy t C pyp Do ottto y pyp ot C D to y o p D D ot pp o Noo o o N y tto yp o o D N o y t C opp y ot o yp opp N o tto p y D ooN D N t o C oto op y to opp N C yp o o too Do No D Noo yyyp o Do N t p pyp C po y 6. Develop and execute an assembly language program to find the HCF of two unsigned 16-bit numbers. .model small .data val1 dw 30 val2 dw 75 gcd dw ? .code mov ax,@data mov ds, ax mov ax, val1 mov bx, val2 again: cmp ax,bx je exit jb bigbx divaxbx: mov dx,0 div bx cmp dx,0 je exit mov ax,dx jmp again bigbx: xchg ax,bx jmp divaxbx exit: mov gcd,bx mov ah, 4ch int 21h end MCSL 017 19 Loganathan R
  • 20.
    toot D N to o oto tot Copyp o No D t o ottC o y to yp C y oot opy t C y C yp t pyp tot p ototo y yp t y y to Copyp to ppyyp p D o p C y ot C p y py D t ot p to pyyp tto C p o o o o o ot o t p Co p o yp t N t py N t p N C N D o C D y C oto C yp o p t t y y o pyp to N py to p o to o t pp y o D N y o D o D to t p yy D oto op C yp o to y to o y o o yp y yp N N to o o o y to pyyp Do tto o o oN o N t Co y D o No D to oo C yy oo C p o o t p o yp o y o t y D ypy o C D oo Do Noot yyp D No o oppyyp o tto ot y N to yp t C p oD Noot ypy ot to D D N to o o p D o t C D pp No C p y yp o t o to Co yp o N y o yp o y t Cop o p Ct op o y y o t No ypy o C o ot yyp oo y t ppy tto ypyp yp o y oto to D ot oot py N yp oo D to o yp yp to C Co y to o o yp yp o o to t y o o C o t p N D o N tt p t p o o y yp N y to tto opypy t C pyp Do ottto y pyp ot C D to y o p D D ot pp o Noo o o N y tto yp o o D N o y t C opp y ot o yp opp N o tto p y D ooN D N t o C oto op y to opp N C yp o o too Do No D Noo yyyp o Do N t p pyp C po y 7. Write a program for finding the largest number in an array of 10 elements. ;Largest .model small .data a db 34h,78h,56h,47h,0,90h, 22h,88h,12h len dw $-a ;len=no of elements lrg db ? .code mov ax,@data mov ds,ax lea si, a mov al, [si] mov cx,len nxt: cmp al, [si] jae cntnu mov al,[si] cntnu: inc si loop nxt mov lrg, al mov ah, 4ch int 21h end MCSL 017 20 Loganathan R
  • 21.
    toot D N to o oto tot Copyp o No D t o ottC o y to yp C y oot opy t C y C yp t pyp tot p ototo y yp t y y to Copyp to ppyyp p D o p C y ot C p y py D t ot p to pyyp tto C p o o o o o ot o t p Co p o yp t N t py N t p N C N D o C D y C oto C yp o p t t y y o pyp to N py to p o to o t pp y o D N y o D o D to t p yy D oto op C yp o to y to o y o o yp y yp N N to o o o y to pyyp Do tto o o oN o N t Co y D o No D to oo C yy oo C p o o t p o yp o y o t y D ypy o C D oo Do Noot yyp D No o oppyyp o tto ot y N to yp t C p oD Noot ypy ot to D D N to o o p D o t C D pp No C p y yp o t o to Co yp o N y o yp o y t Cop o p Ct op o y y o t No ypy o C o ot yyp oo y t ppy tto ypyp yp o y oto to D ot oot py N yp oo D to o yp yp to C Co y to o o yp yp o o to t y o o C o t p N D o N tt p t p o o y yp N y to tto opypy t C pyp Do ottto y pyp ot C D to y o p D D ot pp o Noo o o N y tto yp o o D N o y t C opp y ot o yp opp N o tto p y D ooN D N t o C oto op y to opp N C yp o o too Do No D Noo yyyp o Do N t p pyp C po y 8. Develop and execute a program to sort a given set of 8-bit unsigned integers into ascending order. ;Unsigned Ascending order .model small .data a db 34h,78h,56h,47h,0,90h len dw $-a ;len=no of elements .code mov ax,@data mov ds,ax mov bx,len dec bx ;bx=no of passes needed to complete sorting(n-1) outlup: mov cx,bx ;cx=no of comparisions to be performed in a pass mov si,0 inlup: mov al,a[si] inc si cmp al,a[si] jb go_on xchg al,a[si] mov a[si-1],al go_on: loop inlup ;dec cx,until cx=0 dec bx jnz outlup mov ah, 4ch int 21h end MCSL 017 21 Loganathan R
  • 22.
    toot D N to o oto tot Copyp o No D t o ottC o y to yp C y oot opy t C y C yp t pyp tot p ototo y yp t y y to Copyp to ppyyp p D o p C y ot C p y py D t ot p to pyyp tto C p o o o o o ot o t p Co p o yp t N t py N t p N C N D o C D y C oto C yp o p t t y y o pyp to N py to p o to o t pp y o D N y o D o D to t p yy D oto op C yp o to y to o y o o yp y yp N N to o o o y to pyyp Do tto o o oN o N t Co y D o No D to oo C yy oo C p o o t p o yp o y o t y D ypy o C D oo Do Noot yyp D No o oppyyp o tto ot y N to yp t C p oD Noot ypy ot to D D N to o o p D o t C D pp No C p y yp o t o to Co yp o N y o yp o y t Cop o p Ct op o y y o t No ypy o C o ot yyp oo y t ppy tto ypyp yp o y oto to D ot oot py N yp oo D to o yp yp to C Co y to o o yp yp o o to t y o o C o t p N D o N tt p t p o o y yp N y to tto opypy t C pyp Do ottto y pyp ot C D to y o p D D ot pp o Noo o o N y tto yp o o D N o y t C opp y ot o yp opp N o tto p y D ooN D N t o C oto op y to opp N C yp o o too Do No D Noo yyyp o Do N t p pyp C po y 9. Develop and execute an assembly language program to sort a given set of 16-bit unsigned integers into descending order. ;16 bit Unsigned Descending order .model small .data a dw 5678h,1234h,3456h,2345h,4567h,6789h len dw ($-a)/2 ;len=no of elements .code mov ax,@data mov ds,ax mov bx,len dec bx ;bx=no of passes needed to complete sorting(n-1) outlup: mov cx,bx ;cx=no of comparisions to be performed in a pass mov si,0 inlup: mov ax,a[si] inc si inc si cmp ax,a[si] ja go_on xchg ax,a[si] mov a[si-2],ax go_on: loop inlup ;dec cx,until cx=0 dec bx jnz outlup mov ah, 4ch int 21h end MCSL 017 22 Loganathan R
  • 23.
    toot D N to o oto tot Copyp o No D t o ottC o y to yp C y oot opy t C y C yp t pyp tot p ototo y yp t y y to Copyp to ppyyp p D o p C y ot C p y py D t ot p to pyyp tto C p o o o o o ot o t p Co p o yp t N t py N t p N C N D o C D y C oto C yp o p t t y y o pyp to N py to p o to o t pp y o D N y o D o D to t p yy D oto op C yp o to y to o y o o yp y yp N N to o o o y to pyyp Do tto o o oN o N t Co y D o No D to oo C yy oo C p o o t p o yp o y o t y D ypy o C D oo Do Noot yyp D No o oppyyp o tto ot y N to yp t C p oD Noot ypy ot to D D N to o o p D o t C D pp No C p y yp o t o to Co yp o N y o yp o y t Cop o p Ct op o y y o t No ypy o C o ot yyp oo y t ppy tto ypyp yp o y oto to D ot oot py N yp oo D to o yp yp to C Co y to o o yp yp o o to t y o o C o t p N D o N tt p t p o o y yp N y to tto opypy t C pyp Do ottto y pyp ot C D to y o p D D ot pp o Noo o o N y tto yp o o D N o y t C opp y ot o yp opp N o tto p y D ooN D N t o C oto op y to opp N C yp o o too Do No D Noo yyyp o Do N t p pyp C po y 10. Write a Program which adds the sales tax in the Price list of items and replace the Price list with calculated values. ;adds the sales tax in the Price list of items ;replace the Price list with a new list .model small .data price db 20, 30, 40, 50, 60,70 tax db 5, 4, 5, 3, 2, 2 n db tax - price .code mov ax, @data mov ds, ax mov es, ax ; since di used mov cl, n mov bl, 100 lea si, price lea di, tax nxt: mov al , [di] mul [si] div bl add [si], al inc si inc di loop nxt mov ah, 4ch int 21h end MCSL 017 23 Loganathan R
  • 24.
    toot D N to o oto tot Copyp o No D t o ottC o y to yp C y oot opy t C y C yp t pyp tot p ototo y yp t y y to Copyp to ppyyp p D o p C y ot C p y py D t ot p to pyyp tto C p o o o o o ot o t p Co p o yp t N t py N t p N C N D o C D y C oto C yp o p t t y y o pyp to N py to p o to o t pp y o D N y o D o D to t p yy D oto op C yp o to y to o y o o yp y yp N N to o o o y to pyyp Do tto o o oN o N t Co y D o No D to oo C yy oo C p o o t p o yp o y o t y D ypy o C D oo Do Noot yyp D No o oppyyp o tto ot y N to yp t C p oD Noot ypy ot to D D N to o o p D o t C D pp No C p y yp o t o to Co yp o N y o yp o y t Cop o p Ct op o y y o t No ypy o C o ot yyp oo y t ppy tto ypyp yp o y oto to D ot oot py N yp oo D to o yp yp to C Co y to o o yp yp o o to t y o o C o t p N D o N tt p t p o o y yp N y to tto opypy t C pyp Do ottto y pyp ot C D to y o p D D ot pp o Noo o o N y tto yp o o D N o y t C opp y ot o yp opp N o tto p y D ooN D N t o C oto op y to opp N C yp o o too Do No D Noo yyyp o Do N t p pyp C po y 11. Write a program to Convert ASCII number into decimal digit. ;ASCII to Decimal .model large .stack 100h .model small .data asci db 'z' bcd dw 0 .code mov ax, @data mov ds,ax mov bl, 10 mov cl, 0 mov al, asci nxt: mov ah, 0 div bl mov ch,al xchg al, ah cbw shl ax, cl or bcd, ax add cl, 4 mov al, ch cmp al, 0 jnz nxt mov ah,4ch int 21h end MCSL 017 24 Loganathan R
  • 25.
    toot D N to o oto tot Copyp o No D t o ottC o y to yp C y oot opy t C y C yp t pyp tot p ototo y yp t y y to Copyp to ppyyp p D o p C y ot C p y py D t ot p to pyyp tto C p o o o o o ot o t p Co p o yp t N t py N t p N C N D o C D y C oto C yp o p t t y y o pyp to N py to p o to o t pp y o D N y o D o D to t p yy D oto op C yp o to y to o y o o yp y yp N N to o o o y to pyyp Do tto o o oN o N t Co y D o No D to oo C yy oo C p o o t p o yp o y o t y D ypy o C D oo Do Noot yyp D No o oppyyp o tto ot y N to yp t C p oD Noot ypy ot to D D N to o o p D o t C D pp No C p y yp o t o to Co yp o N y o yp o y t Cop o p Ct op o y y o t No ypy o C o ot yyp oo y t ppy tto ypyp yp o y oto to D ot oot py N yp oo D to o yp yp to C Co y to o o yp yp o o to t y o o C o t p N D o N tt p t p o o y yp N y to tto opypy t C pyp Do ottto y pyp ot C D to y o p D D ot pp o Noo o o N y tto yp o o D N o y t C opp y ot o yp opp N o tto p y D ooN D N t o C oto op y to opp N C yp o o too Do No D Noo yyyp o Do N t p pyp C po y 12. Write a Program for performing the following operation. Z=((A-B)/10*C) ** 2 ;z= ((a-b) /10 *c) **2 .model small .data a db 60 b db 20 c db 5 Z dw ? .code mov ax, @data mov ds, ax mov ah, 0 mov bl, 10 mov al, a sub al, b div bl mul c mul al mov z, ax mov ah, 4ch int 21h end MCSL 017 25 Loganathan R
  • 26.
    toot D N to o oto tot Copyp o No D t o ottC o y to yp C y oot opy t C y C yp t pyp tot p ototo y yp t y y to Copyp to ppyyp p D o p C y ot C p y py D t ot p to pyyp tto C p o o o o o ot o t p Co p o yp t N t py N t p N C N D o C D y C oto C yp o p t t y y o pyp to N py to p o to o t pp y o D N y o D o D to t p yy D oto op C yp o to y to o y o o yp y yp N N to o o o y to pyyp Do tto o o oN o N t Co y D o No D to oo C yy oo C p o o t p o yp o y o t y D ypy o C D oo Do Noot yyp D No o oppyyp o tto ot y N to yp t C p oD Noot ypy ot to D D N to o o p D o t C D pp No C p y yp o t o to Co yp o N y o yp o y t Cop o p Ct op o y y o t No ypy o C o ot yyp oo y t ppy tto ypyp yp o y oto to D ot oot py N yp oo D to o yp yp to C Co y to o o yp yp o o to t y o o C o t p N D o N tt p t p o o y yp N y to tto opypy t C pyp Do ottto y pyp ot C D to y o p D D ot pp o Noo o o N y tto yp o o D N o y t C opp y ot o yp opp N o tto p y D ooN D N t o C oto op y to opp N C yp o o too Do No D Noo yyyp o Do N t p pyp C po y 13. Write a Program for adding an array of Binary Digits. ;add array of binar digits .model small .data bin db 1,0,1,1,1,1,1,1,1,0,1 len dw len-bin res db ? .code mov ax, @data mov ds, ax lea si, bin mov cx, len mov al, 0 nxt: test [si], 1 jz cntnu inc al cntnu: inc si loop nxt mov res, al mov ah, 4ch int 21h end MCSL 017 26 Loganathan R
  • 27.
    toot D N to o oto tot Copyp o No D t o ottC o y to yp C y oot opy t C y C yp t pyp tot p ototo y yp t y y to Copyp to ppyyp p D o p C y ot C p y py D t ot p to pyyp tto C p o o o o o ot o t p Co p o yp t N t py N t p N C N D o C D y C oto C yp o p t t y y o pyp to N py to p o to o t pp y o D N y o D o D to t p yy D oto op C yp o to y to o y o o yp y yp N N to o o o y to pyyp Do tto o o oN o N t Co y D o No D to oo C yy oo C p o o t p o yp o y o t y D ypy o C D oo Do Noot yyp D No o oppyyp o tto ot y N to yp t C p oD Noot ypy ot to D D N to o o p D o t C D pp No C p y yp o t o to Co yp o N y o yp o y t Cop o p Ct op o y y o t No ypy o C o ot yyp oo y t ppy tto ypyp yp o y oto to D ot oot py N yp oo D to o yp yp to C Co y to o o yp yp o o to t y o o C o t p N D o N tt p t p o o y yp N y to tto opypy t C pyp Do ottto y pyp ot C D to y o p D D ot pp o Noo o o N y tto yp o o D N o y t C opp y ot o yp opp N o tto p y D ooN D N t o C oto op y to opp N C yp o o too Do No D Noo yyyp o Do N t p pyp C po y 14. Write a Program, which takes the input of 4-digit number, and display the sum of square of digits as given below. Example: Input = 4721 42 +72 +22 +12 = 16+49+4+1 Result = 70. (Display) ;Squarte & add digits .model small .data msg1 db 10,13,'Enter a 4 digit decimal number : $' n dw 0 msg2 db 10,13,'Addition of Square of all digits : $' dgts db 4 dup(?) res dw 0 .code mov ax, @data mov ds, ax lea si, dgts wrng: lea dx, msg1 mov ah, 9 int 21h mov cx, 4 mov ah, 1 nxt: int 21h cmp al, '0' jb wrng cmp al, '9' ja wrng sub al, 30h mov [si], al inc si loop nxt lea si, dgts mov cx, 4 nxtdgt: mov al, [si] mul al add res, ax inc si loop nxtdgt lea dx, msg2 mov ah, 9 int 21h MCSL 017 27 Loganathan R
  • 28.
    toot D N to o oto tot Copyp o No D t o ottC o y to yp C y oot opy t C y C yp t pyp tot p ototo y yp t y y to Copyp to ppyyp p D o p C y ot C p y py D t ot p to pyyp tto C p o o o o o ot o t p Co p o yp t N t py N t p N C N D o C D y C oto C yp o p t t y y o pyp to N py to p o to o t pp y o D N y o D o D to t p yy D oto op C yp o to y to o y o o yp y yp N N to o o o y to pyyp Do tto o o oN o N t Co y D o No D to oo C yy oo C p o o t p o yp o y o t y D ypy o C D oo Do Noot yyp D No o oppyyp o tto ot y N to yp t C p oD Noot ypy ot to D D N to o o p D o t C D pp No C p y yp o t o to Co yp o N y o yp o y t Cop o p Ct op o y y o t No ypy o C o ot yyp oo y t ppy tto ypyp yp o y oto to D ot oot py N yp oo D to o yp yp to C Co y to o o yp yp o o to t y o o C o t p N D o N tt p t p o o y yp N y to tto opypy t C pyp Do ottto y pyp ot C D to y o p D D ot pp o Noo o o N y tto yp o o D N o y t C opp y ot o yp opp N o tto p y D ooN D N t o C oto op y to opp N C yp o o too Do No D Noo yyyp o Do N t p pyp C po y lea si, dgts add si, 3 mov bl, 10 mov cx, 4 mov ax, res xtrct: div bl mov [si],ah dec si mov ah,0 loop xtrct lea si, dgts mov cx,4 mov ah, 2 disp: mov dl, [si] add dl, 30h int 21h inc si loop disp mov ah, 4ch int 21h end MCSL 017 28 Loganathan R
  • 29.
    toot D N to o oto tot Copyp o No D t o ottC o y to yp C y oot opy t C y C yp t pyp tot p ototo y yp t y y to Copyp to ppyyp p D o p C y ot C p y py D t ot p to pyyp tto C p o o o o o ot o t p Co p o yp t N t py N t p N C N D o C D y C oto C yp o p t t y y o pyp to N py to p o to o t pp y o D N y o D o D to t p yy D oto op C yp o to y to o y o o yp y yp N N to o o o y to pyyp Do tto o o oN o N t Co y D o No D to oo C yy oo C p o o t p o yp o y o t y D ypy o C D oo Do Noot yyp D No o oppyyp o tto ot y N to yp t C p oD Noot ypy ot to D D N to o o p D o t C D pp No C p y yp o t o to Co yp o N y o yp o y t Cop o p Ct op o y y o t No ypy o C o ot yyp oo y t ppy tto ypyp yp o y oto to D ot oot py N yp oo D to o yp yp to C Co y to o o yp yp o o to t y o o C o t p N D o N tt p t p o o y yp N y to tto opypy t C pyp Do ottto y pyp ot C D to y o p D D ot pp o Noo o o N y tto yp o o D N o y t C opp y ot o yp opp N o tto p y D ooN D N t o C oto op y to opp N C yp o o too Do No D Noo yyyp o Do N t p pyp C po y 15. Using the method of "add-and-shift" loop, in which you use the binary digits of one number to control additions of a shifted version of the other number into a running total; this is essentially the same algorithm you use when multiplying numbers by hand in decimal. ;Multiply using shift & add .model small .data mulpir db 21h mulcnd db 30h res dw 0 .code mov ax, @data mov ds, ax mov cx, 8 mov al, mulcnd cbw mov bl, mulpir nxt: shr bl, 1 jnc cntnu add res, ax cntnu: shl ax, 1 loop nxt mov ah, 4ch int 21h end MCSL 017 29 Loganathan R
  • 30.
    toot D N to o oto tot Copyp o No D t o ottC o y to yp C y oot opy t C y C yp t pyp tot p ototo y yp t y y to Copyp to ppyyp p D o p C y ot C p y py D t ot p to pyyp tto C p o o o o o ot o t p Co p o yp t N t py N t p N C N D o C D y C oto C yp o p t t y y o pyp to N py to p o to o t pp y o D N y o D o D to t p yy D oto op C yp o to y to o y o o yp y yp N N to o o o y to pyyp Do tto o o oN o N t Co y D o No D to oo C yy oo C p o o t p o yp o y o t y D ypy o C D oo Do Noot yyp D No o oppyyp o tto ot y N to yp t C p oD Noot ypy ot to D D N to o o p D o t C D pp No C p y yp o t o to Co yp o N y o yp o y t Cop o p Ct op o y y o t No ypy o C o ot yyp oo y t ppy tto ypyp yp o y oto to D ot oot py N yp oo D to o yp yp to C Co y to o o yp yp o o to t y o o C o t p N D o N tt p t p o o y yp N y to tto opypy t C pyp Do ottto y pyp ot C D to y o p D D ot pp o Noo o o N y tto yp o o D N o y t C opp y ot o yp opp N o tto p y D ooN D N t o C oto op y to opp N C yp o o too Do No D Noo yyyp o Do N t p pyp C po y 16. Write a Program, which should add two 5-byte numbers (numbers are stored in array- NUM1 & NUM2), and stores the sum in another array named RESULT. ;Adding 2 Five byte Numbers .model small .data num1 db 11h,22h,33h,44h,0f5h, num2 db 55h,44h,33h,22h,0f1h res db 6 dup(0) .code mov ax, @data mov ds, ax mov es, ax mov cx, 5 lea bx, res lea si, num1 lea di, num2 nxt: mov al, [si] add al, [di] jnc cntnu inc [bx+1] cntnu: add [bx], al inc si inc di inc bx loop nxt mov ah, 4ch int 21h end MCSL 017 30 Loganathan R
  • 31.
    toot D N to o oto tot Copyp o No D t o ottC o y to yp C y oot opy t C y C yp t pyp tot p ototo y yp t y y to Copyp to ppyyp p D o p C y ot C p y py D t ot p to pyyp tto C p o o o o o ot o t p Co p o yp t N t py N t p N C N D o C D y C oto C yp o p t t y y o pyp to N py to p o to o t pp y o D N y o D o D to t p yy D oto op C yp o to y to o y o o yp y yp N N to o o o y to pyyp Do tto o o oN o N t Co y D o No D to oo C yy oo C p o o t p o yp o y o t y D ypy o C D oo Do Noot yyp D No o oppyyp o tto ot y N to yp t C p oD Noot ypy ot to D D N to o o p D o t C D pp No C p y yp o t o to Co yp o N y o yp o y t Cop o p Ct op o y y o t No ypy o C o ot yyp oo y t ppy tto ypyp yp o y oto to D ot oot py N yp oo D to o yp yp to C Co y to o o yp yp o o to t y o o C o t p N D o N tt p t p o o y yp N y to tto opypy t C pyp Do ottto y pyp ot C D to y o p D D ot pp o Noo o o N y tto yp o o D N o y t C opp y ot o yp opp N o tto p y D ooN D N t o C oto op y to opp N C yp o o too Do No D Noo yyyp o Do N t p pyp C po y 17. Write a program which should convert 4 digits BCD number into its binary equivalent. .model small .stack 64 .data bcd dw 9999h bin dw 0 .code mov ax, @data mov ds, ax mov bp, bcd ; y not dx? mov bx, 10 mov cx, 4 nxt: push cx mov cl, 4 rol bp, cl pop cx mov ax, bin mul bx mov bin, ax mov ax, 0fh and ax, bp add bin, ax loop nxt mov ah, 4ch int 21h end MCSL 017 31 Loganathan R
  • 32.
    toot D N to o oto tot Copyp o No D t o ottC o y to yp C y oot opy t C y C yp t pyp tot p ototo y yp t y y to Copyp to ppyyp p D o p C y ot C p y py D t ot p to pyyp tto C p o o o o o ot o t p Co p o yp t N t py N t p N C N D o C D y C oto C yp o p t t y y o pyp to N py to p o to o t pp y o D N y o D o D to t p yy D oto op C yp o to y to o y o o yp y yp N N to o o o y to pyyp Do tto o o oN o N t Co y D o No D to oo C yy oo C p o o t p o yp o y o t y D ypy o C D oo Do Noot yyp D No o oppyyp o tto ot y N to yp t C p oD Noot ypy ot to D D N to o o p D o t C D pp No C p y yp o t o to Co yp o N y o yp o y t Cop o p Ct op o y y o t No ypy o C o ot yyp oo y t ppy tto ypyp yp o y oto to D ot oot py N yp oo D to o yp yp to C Co y to o o yp yp o o to t y o o C o t p N D o N tt p t p o o y yp N y to tto opypy t C pyp Do ottto y pyp ot C D to y o p D D ot pp o Noo o o N y tto yp o o D N o y t C opp y ot o yp opp N o tto p y D ooN D N t o C oto op y to opp N C yp o o too Do No D Noo yyyp o Do N t p pyp C po y 18. Write a program to conduct a binary search on a given sorted array of 16-bit, unsigned integers, and a given 16-bit unsigned key. .model small .data nos dw 1111h,2222h,4444h,7777h,9999h len dw (len - nos) / 2 key dw 0A999h smsg db 'Search Success$' fmsg db 'Search Failure$' .code mov ax, @data mov ds, ax mov bx, 1 mov dx, len ;dx=5 mov cx, key ;cx=2345 agn: cmp bx, dx ja fail mov ax, bx add ax, dx shr ax, 1 mov si, ax dec si add si, si cmp cx, nos[si] jae larg dec ax mov dx, ax jmp agn larg: je sucs inc ax mov bx, ax jmp agn sucs: lea dx, smsg jmp disp fail: lea dx, fmsg disp: mov ah, 09h int 21h mov ah, 4ch int 21h end MCSL 017 32 Loganathan R
  • 33.
    toot D N to o oto tot Copyp o No D t o ottC o y to yp C y oot opy t C y C yp t pyp tot p ototo y yp t y y to Copyp to ppyyp p D o p C y ot C p y py D t ot p to pyyp tto C p o o o o o ot o t p Co p o yp t N t py N t p N C N D o C D y C oto C yp o p t t y y o pyp to N py to p o to o t pp y o D N y o D o D to t p yy D oto op C yp o to y to o y o o yp y yp N N to o o o y to pyyp Do tto o o oN o N t Co y D o No D to oo C yy oo C p o o t p o yp o y o t y D ypy o C D oo Do Noot yyp D No o oppyyp o tto ot y N to yp t C p oD Noot ypy ot to D D N to o o p D o t C D pp No C p y yp o t o to Co yp o N y o yp o y t Cop o p Ct op o y y o t No ypy o C o ot yyp oo y t ppy tto ypyp yp o y oto to D ot oot py N yp oo D to o yp yp to C Co y to o o yp yp o o to t y o o C o t p N D o N tt p t p o o y yp N y to tto opypy t C pyp Do ottto y pyp ot C D to y o p D D ot pp o Noo o o N y tto yp o o D N o y t C opp y ot o yp opp N o tto p y D ooN D N t o C oto op y to opp N C yp o o too Do No D Noo yyyp o Do N t p pyp C po y 19. Write a program to convert a string in upper case to lower case or lower case to upper case. .model small .data str db 'UPPERCASE To lowercase$' len dw len-str msg1 db 10,13,'Before Convertion : $' msg2 db 10,13,'After Convertion : $' .code mov ax, @data mov ds, ax mov es, ax lea dx, msg1 mov ah, 9 int 21h lea dx, str int 21h lea dx, msg2 int 21h mov cx, len lea si, str mov di, si nxt: lodsb cmp al, 'A' jb nochg cmp al, 'Z' ja toup add al, 'a' - 'A' jmp nochg toup: cmp al, 'a' jb nochg cmp al, 'z' ja nochg sub al, 'a' - 'A' nochg: stosb loop nxt lea dx, str mov ah, 9 int 21h mov ah, 4ch int 21h end MCSL 017 33 Loganathan R
  • 34.
    toot D N to o oto tot Copyp o No D t o ottC o y to yp C y oot opy t C y C yp t pyp tot p ototo y yp t y y to Copyp to ppyyp p D o p C y ot C p y py D t ot p to pyyp tto C p o o o o o ot o t p Co p o yp t N t py N t p N C N D o C D y C oto C yp o p t t y y o pyp to N py to p o to o t pp y o D N y o D o D to t p yy D oto op C yp o to y to o y o o yp y yp N N to o o o y to pyyp Do tto o o oN o N t Co y D o No D to oo C yy oo C p o o t p o yp o y o t y D ypy o C D oo Do Noot yyp D No o oppyyp o tto ot y N to yp t C p oD Noot ypy ot to D D N to o o p D o t C D pp No C p y yp o t o to Co yp o N y o yp o y t Cop o p Ct op o y y o t No ypy o C o ot yyp oo y t ppy tto ypyp yp o y oto to D ot oot py N yp oo D to o yp yp to C Co y to o o yp yp o o to t y o o C o t p N D o N tt p t p o o y yp N y to tto opypy t C pyp Do ottto y pyp ot C D to y o p D D ot pp o Noo o o N y tto yp o o D N o y t C opp y ot o yp opp N o tto p y D ooN D N t o C oto op y to opp N C yp o o too Do No D Noo yyyp o Do N t p pyp C po y 20. Develop cryptographic algorithm where each letter is replaced by a different letter. Given the mapping of characters to encoded characters, it is simple to translate from encoded to decoded data. Write a Program, which encodes the string into the ASCII value but not corresponding ASCII value; shift 5 place left in ASCII and write the encoding string. ;Encryption .model small .data str db 'This is a TEST data XyZ$' len dw len-str msg1 db 10,13,'Before Encryption : $' msg2 db 10,13,'After Encryption : $' .code mov ax, @data mov ds, ax mov es, ax lea dx, msg1 mov ah, 9 int 21h lea dx, str int 21h lea dx, msg2 int 21h mov cx, len lea si, str mov di, si nxt: lodsb cmp al, 'A' jb nochg cmp al, 'Z' ja tolow push cx mov cx, 5 nxtup: dec al cmp al, 'A' jae ucntnu mov al, 'Z' ucntnu: loop nxtup pop cx jmp nochg MCSL 017 34 Loganathan R
  • 35.
    toot D N to o oto tot Copyp o No D t o ottC o y to yp C y oot opy t C y C yp t pyp tot p ototo y yp t y y to Copyp to ppyyp p D o p C y ot C p y py D t ot p to pyyp tto C p o o o o o ot o t p Co p o yp t N t py N t p N C N D o C D y C oto C yp o p t t y y o pyp to N py to p o to o t pp y o D N y o D o D to t p yy D oto op C yp o to y to o y o o yp y yp N N to o o o y to pyyp Do tto o o oN o N t Co y D o No D to oo C yy oo C p o o t p o yp o y o t y D ypy o C D oo Do Noot yyp D No o oppyyp o tto ot y N to yp t C p oD Noot ypy ot to D D N to o o p D o t C D pp No C p y yp o t o to Co yp o N y o yp o y t Cop o p Ct op o y y o t No ypy o C o ot yyp oo y t ppy tto ypyp yp o y oto to D ot oot py N yp oo D to o yp yp to C Co y to o o yp yp o o to t y o o C o t p N D o N tt p t p o o y yp N y to tto opypy t C pyp Do ottto y pyp ot C D to y o p D D ot pp o Noo o o N y tto yp o o D N o y t C opp y ot o yp opp N o tto p y D ooN D N t o C oto op y to opp N C yp o o too Do No D Noo yyyp o Do N t p pyp C po y tolow: cmp al, 'a' jb nochg cmp al, 'z' ja nochg push cx mov cx, 5 nxtlow: dec al cmp al, 'a' jae lcntnu mov al, 'z' lcntnu: loop nxtlow pop cx nochg: stosb loop nxt lea dx, str mov ah, 9 int 21h mov ah, 4ch int 21h end MCSL 017 35 Loganathan R
  • 36.
    toot D N to o oto tot Copyp o No D t o ottC o y to yp C y oot opy t C y C yp t pyp tot p ototo y yp t y y to Copyp to ppyyp p D o p C y ot C p y py D t ot p to pyyp tto C p o o o o o ot o t p Co p o yp t N t py N t p N C N D o C D y C oto C yp o p t t y y o pyp to N py to p o to o t pp y o D N y o D o D to t p yy D oto op C yp o to y to o y o o yp y yp N N to o o o y to pyyp Do tto o o oN o N t Co y D o No D to oo C yy oo C p o o t p o yp o y o t y D ypy o C D oo Do Noot yyp D No o oppyyp o tto ot y N to yp t C p oD Noot ypy ot to D D N to o o p D o t C D pp No C p y yp o t o to Co yp o N y o yp o y t Cop o p Ct op o y y o t No ypy o C o ot yyp oo y t ppy tto ypyp yp o y oto to D ot oot py N yp oo D to o yp yp to C Co y to o o yp yp o o to t y o o C o t p N D o N tt p t p o o y yp N y to tto opypy t C pyp Do ottto y pyp ot C D to y o p D D ot pp o Noo o o N y tto yp o o D N o y t C opp y ot o yp opp N o tto p y D ooN D N t o C oto op y to opp N C yp o o too Do No D Noo yyyp o Do N t p pyp C po y 21. Similarly write another Program to Decoding with respect to above problem. ;Decryption .model small .data str db 'Ocdn dn v OZNO yvov StU$' ulut db 'FGHIJKLMNOPQRSTUVWXYZABCDE' llut db 'fghijklmnopqrstuvwxyzabcde' len dw len-str msg1 db 10,13,'Before Decryption : $' msg2 db 10,13,'After Decryption : $' .code mov ax, @data mov ds, ax mov es, ax lea dx, msg1 mov ah, 9 int 21h lea dx, str int 21h lea dx, msg2 int 21h mov cx, len lea si, str mov di, si nxt: lodsb cmp al, 'A' jb nochg cmp al, 'Z' ja tolow lea bx, ulut sub al,'A' xlat jmp nochg tolow: cmp al, 'a' jb nochg cmp al, 'z' ja nochg lea bx, llut sub al,'a' xlat MCSL 017 36 Loganathan R
  • 37.
    toot D N to o oto tot Copyp o No D t o ottC o y to yp C y oot opy t C y C yp t pyp tot p ototo y yp t y y to Copyp to ppyyp p D o p C y ot C p y py D t ot p to pyyp tto C p o o o o o ot o t p Co p o yp t N t py N t p N C N D o C D y C oto C yp o p t t y y o pyp to N py to p o to o t pp y o D N y o D o D to t p yy D oto op C yp o to y to o y o o yp y yp N N to o o o y to pyyp Do tto o o oN o N t Co y D o No D to oo C yy oo C p o o t p o yp o y o t y D ypy o C D oo Do Noot yyp D No o oppyyp o tto ot y N to yp t C p oD Noot ypy ot to D D N to o o p D o t C D pp No C p y yp o t o to Co yp o N y o yp o y t Cop o p Ct op o y y o t No ypy o C o ot yyp oo y t ppy tto ypyp yp o y oto to D ot oot py N yp oo D to o yp yp to C Co y to o o yp yp o o to t y o o C o t p N D o N tt p t p o o y yp N y to tto opypy t C pyp Do ottto y pyp ot C D to y o p D D ot pp o Noo o o N y tto yp o o D N o y t C opp y ot o yp opp N o tto p y D ooN D N t o C oto op y to opp N C yp o o too Do No D Noo yyyp o Do N t p pyp C po y nochg: stosb loop nxt lea dx, str mov ah, 9 int 21h mov ah, 4ch int 21h end MCSL 017 37 Loganathan R
  • 38.
    toot D N to o oto tot Copyp o No D t o ottC o y to yp C y oot opy t C y C yp t pyp tot p ototo y yp t y y to Copyp to ppyyp p D o p C y ot C p y py D t ot p to pyyp tto C p o o o o o ot o t p Co p o yp t N t py N t p N C N D o C D y C oto C yp o p t t y y o pyp to N py to p o to o t pp y o D N y o D o D to t p yy D oto op C yp o to y to o y o o yp y yp N N to o o o y to pyyp Do tto o o oN o N t Co y D o No D to oo C yy oo C p o o t p o yp o y o t y D ypy o C D oo Do Noot yyp D No o oppyyp o tto ot y N to yp t C p oD Noot ypy ot to D D N to o o p D o t C D pp No C p y yp o t o to Co yp o N y o yp o y t Cop o p Ct op o y y o t No ypy o C o ot yyp oo y t ppy tto ypyp yp o y oto to D ot oot py N yp oo D to o yp yp to C Co y to o o yp yp o o to t y o o C o t p N D o N tt p t p o o y yp N y to tto opypy t C pyp Do ottto y pyp ot C D to y o p D D ot pp o Noo o o N y tto yp o o D N o y t C opp y ot o yp opp N o tto p y D ooN D N t o C oto op y to opp N C yp o o too Do No D Noo yyyp o Do N t p pyp C po y Session 8: 1. Write a program, which takes two inputs as strings and display the Concatenated string. ;Concatenation of 2 Strings .model small ;1 ds & 1 CS .data ;Data Segment str1b db 53 sl1 db ? str1 db 51 dup('$') str2b db 53 sl2 db ? str2 db 51 dup('$') cstr db 100 dup('$') msg1 db 'Enter String 1(Max length 50) :$' msg2 db 10,13,'Enter String 2(Max length 50) :$' cmsg db 10,13,'The Concatenated String : $' .code mov ax, @data mov ds, ax ;initialize DS with Data Segment Base mov es, ax ;initialize ES with Data Segment Base lea dx, msg1 mov ah, 9 int 21h lea dx, str1b mov ah, 0ah int 21h lea dx, msg2 mov ah, 9 int 21h lea dx, str2b mov ah, 0ah int 21h lea si, str1 lea di, cstr mov cl, sl1 xor ch, ch jcxz nxt1 cpy1: lodsb stosb loop cpy1 nxt1: lea si, str2 mov cl, sl2 jcxz nxt2 MCSL 017 38 Loganathan R
  • 39.
    toot D N to o oto tot Copyp o No D t o ottC o y to yp C y oot opy t C y C yp t pyp tot p ototo y yp t y y to Copyp to ppyyp p D o p C y ot C p y py D t ot p to pyyp tto C p o o o o o ot o t p Co p o yp t N t py N t p N C N D o C D y C oto C yp o p t t y y o pyp to N py to p o to o t pp y o D N y o D o D to t p yy D oto op C yp o to y to o y o o yp y yp N N to o o o y to pyyp Do tto o o oN o N t Co y D o No D to oo C yy oo C p o o t p o yp o y o t y D ypy o C D oo Do Noot yyp D No o oppyyp o tto ot y N to yp t C p oD Noot ypy ot to D D N to o o p D o t C D pp No C p y yp o t o to Co yp o N y o yp o y t Cop o p Ct op o y y o t No ypy o C o ot yyp oo y t ppy tto ypyp yp o y oto to D ot oot py N yp oo D to o yp yp to C Co y to o o yp yp o o to t y o o C o t p N D o N tt p t p o o y yp N y to tto opypy t C pyp Do ottto y pyp ot C D to y o p D D ot pp o Noo o o N y tto yp o o D N o y t C opp y ot o yp opp N o tto p y D ooN D N t o C oto op y to opp N C yp o o too Do No D Noo yyyp o Do N t p pyp C po y cpy2: lodsb stosb loop cpy2 nxt2: mov ah, 9 lea dx, cmsg int 21h lea dx, cstr int 21h mov ah, 4ch ;exit to operating system. int 21h end MCSL 017 39 Loganathan R
  • 40.
    toot D N to o oto tot Copyp o No D t o ottC o y to yp C y oot opy t C y C yp t pyp tot p ototo y yp t y y to Copyp to ppyyp p D o p C y ot C p y py D t ot p to pyyp tto C p o o o o o ot o t p Co p o yp t N t py N t p N C N D o C D y C oto C yp o p t t y y o pyp to N py to p o to o t pp y o D N y o D o D to t p yy D oto op C yp o to y to o y o o yp y yp N N to o o o y to pyyp Do tto o o oN o N t Co y D o No D to oo C yy oo C p o o t p o yp o y o t y D ypy o C D oo Do Noot yyp D No o oppyyp o tto ot y N to yp t C p oD Noot ypy ot to D D N to o o p D o t C D pp No C p y yp o t o to Co yp o N y o yp o y t Cop o p Ct op o y y o t No ypy o C o ot yyp oo y t ppy tto ypyp yp o y oto to D ot oot py N yp oo D to o yp yp to C Co y to o o yp yp o o to t y o o C o t p N D o N tt p t p o o y yp N y to tto opypy t C pyp Do ottto y pyp ot C D to y o p D D ot pp o Noo o o N y tto yp o o D N o y t C opp y ot o yp opp N o tto p y D ooN D N t o C oto op y to opp N C yp o o too Do No D Noo yyyp o Do N t p pyp C po y 2. Write a program, which converts string lower case characters to upper case characters and upper case characters to lower case characters. .model small ;1 ds & 1 CS .data ;Data Segment strb db 103 sl db ? str db 101 dup('$') msg db 'Enter String with Upper & Lower case :$' cmsg db 10,13,'The Coverted String : $' .code mov ax, @data mov ds, ax ;initialize DS with Data Segment Base mov es, ax ;initialize ES with Data Segment Base lea dx, msg mov ah, 9 int 21h lea dx, strb mov ah, 0ah int 21h lea dx, cmsg mov ah, 9 int 21h mov cl, sl xor ch, ch jcxz xit lea si, str mov di, si nxt: lodsb cmp al, 'A' jb nochg cmp al, 'Z' ja toup add al, 'a' - 'A' jmp nochg toup: cmp al, 'a' jb nochg cmp al, 'z' ja nochg sub al, 'a' - 'A' nochg: MCSL 017 40 Loganathan R
  • 41.
    toot D N to o oto tot Copyp o No D t o ottC o y to yp C y oot opy t C y C yp t pyp tot p ototo y yp t y y to Copyp to ppyyp p D o p C y ot C p y py D t ot p to pyyp tto C p o o o o o ot o t p Co p o yp t N t py N t p N C N D o C D y C oto C yp o p t t y y o pyp to N py to p o to o t pp y o D N y o D o D to t p yy D oto op C yp o to y to o y o o yp y yp N N to o o o y to pyyp Do tto o o oN o N t Co y D o No D to oo C yy oo C p o o t p o yp o y o t y D ypy o C D oo Do Noot yyp D No o oppyyp o tto ot y N to yp t C p oD Noot ypy ot to D D N to o o p D o t C D pp No C p y yp o t o to Co yp o N y o yp o y t Cop o p Ct op o y y o t No ypy o C o ot yyp oo y t ppy tto ypyp yp o y oto to D ot oot py N yp oo D to o yp yp to C Co y to o o yp yp o o to t y o o C o t p N D o N tt p t p o o y yp N y to tto opypy t C pyp Do ottto y pyp ot C D to y o p D D ot pp o Noo o o N y tto yp o o D N o y t C opp y ot o yp opp N o tto p y D ooN D N t o C oto op y to opp N C yp o o too Do No D Noo yyyp o Do N t p pyp C po y stosb loop nxt xit: lea dx, str mov ah, 9 int 21h mov ah, 4ch ;exit to operating system. int 21h end MCSL 017 41 Loganathan R
  • 42.
    toot D N to o oto tot Copyp o No D t o ottC o y to yp C y oot opy t C y C yp t pyp tot p ototo y yp t y y to Copyp to ppyyp p D o p C y ot C p y py D t ot p to pyyp tto C p o o o o o ot o t p Co p o yp t N t py N t p N C N D o C D y C oto C yp o p t t y y o pyp to N py to p o to o t pp y o D N y o D o D to t p yy D oto op C yp o to y to o y o o yp y yp N N to o o o y to pyyp Do tto o o oN o N t Co y D o No D to oo C yy oo C p o o t p o yp o y o t y D ypy o C D oo Do Noot yyp D No o oppyyp o tto ot y N to yp t C p oD Noot ypy ot to D D N to o o p D o t C D pp No C p y yp o t o to Co yp o N y o yp o y t Cop o p Ct op o y y o t No ypy o C o ot yyp oo y t ppy tto ypyp yp o y oto to D ot oot py N yp oo D to o yp yp to C Co y to o o yp yp o o to t y o o C o t p N D o N tt p t p o o y yp N y to tto opypy t C pyp Do ottto y pyp ot C D to y o p D D ot pp o Noo o o N y tto yp o o D N o y t C opp y ot o yp opp N o tto p y D ooN D N t o C oto op y to opp N C yp o o too Do No D Noo yyyp o Do N t p pyp C po y 3. Write a program for reversing a given string. .model small ;1 ds & 1 CS .data ;Data Segment strb db 103 sl db ? mstr db 101 dup('$') rstr db 100 dup('$') msg db 'Enter a String : $' cmsg db 10,13,'The Reversed String : $' .code mov ax, @data mov ds, ax ;initialize DS with Data Segment Base mov es, ax ;initialize ES with Data Segment Base lea dx, msg mov ah, 9 int 21h lea dx, strb mov ah, 0ah int 21h lea dx, cmsg mov ah, 9 int 21h mov cl, sl xor ch, ch jcxz xit lea si, mstr lea di, rstr add si, cx nxt: dec si mov al, [si] stosb loop nxt xit: lea dx, rstr mov ah, 9 int 21h mov ah, 4ch ;exit to operating system. int 21h end MCSL 017 42 Loganathan R
  • 43.
    toot D N to o oto tot Copyp o No D t o ottC o y to yp C y oot opy t C y C yp t pyp tot p ototo y yp t y y to Copyp to ppyyp p D o p C y ot C p y py D t ot p to pyyp tto C p o o o o o ot o t p Co p o yp t N t py N t p N C N D o C D y C oto C yp o p t t y y o pyp to N py to p o to o t pp y o D N y o D o D to t p yy D oto op C yp o to y to o y o o yp y yp N N to o o o y to pyyp Do tto o o oN o N t Co y D o No D to oo C yy oo C p o o t p o yp o y o t y D ypy o C D oo Do Noot yyp D No o oppyyp o tto ot y N to yp t C p oD Noot ypy ot to D D N to o o p D o t C D pp No C p y yp o t o to Co yp o N y o yp o y t Cop o p Ct op o y y o t No ypy o C o ot yyp oo y t ppy tto ypyp yp o y oto to D ot oot py N yp oo D to o yp yp to C Co y to o o yp yp o o to t y o o C o t p N D o N tt p t p o o y yp N y to tto opypy t C pyp Do ottto y pyp ot C D to y o p D D ot pp o Noo o o N y tto yp o o D N o y t C opp y ot o yp opp N o tto p y D ooN D N t o C oto op y to opp N C yp o o too Do No D Noo yyyp o Do N t p pyp C po y 4. Write a program, which converts string to its ASCII value and store in array. .model small ;1 ds & 1 CS .data ;Data Segment strb db 103 sl db ? str db 101 dup(0) ; ASCII equivalent of string characters msg db 10,13,'Enter a String : $' .code mov ax, @data mov ds, ax ;initialize DS with Data Segment Base lea dx, msg mov ah, 9 int 21h lea dx, strb mov ah, 0ah int 21h mov ah, 4ch ;exit to operating system. int 21h end MCSL 017 43 Loganathan R
  • 44.
    toot D N to o oto tot Copyp o No D t o ottC o y to yp C y oot opy t C y C yp t pyp tot p ototo y yp t y y to Copyp to ppyyp p D o p C y ot C p y py D t ot p to pyyp tto C p o o o o o ot o t p Co p o yp t N t py N t p N C N D o C D y C oto C yp o p t t y y o pyp to N py to p o to o t pp y o D N y o D o D to t p yy D oto op C yp o to y to o y o o yp y yp N N to o o o y to pyyp Do tto o o oN o N t Co y D o No D to oo C yy oo C p o o t p o yp o y o t y D ypy o C D oo Do Noot yyp D No o oppyyp o tto ot y N to yp t C p oD Noot ypy ot to D D N to o o p D o t C D pp No C p y yp o t o to Co yp o N y o yp o y t Cop o p Ct op o y y o t No ypy o C o ot yyp oo y t ppy tto ypyp yp o y oto to D ot oot py N yp oo D to o yp yp to C Co y to o o yp yp o o to t y o o C o t p N D o N tt p t p o o y yp N y to tto opypy t C pyp Do ottto y pyp ot C D to y o p D D ot pp o Noo o o N y tto yp o o D N o y t C opp y ot o yp opp N o tto p y D ooN D N t o C oto op y to opp N C yp o o too Do No D Noo yyyp o Do N t p pyp C po y 5. Write a program to find if two strings are equal length: and if the strings are found to be of equivalent length then are they the same, if not the same then which string is lexicographically greater. ;Concatenation of 2 Strins .model small ;1 ds & 1 CS .data ;Data Segment str1b db 103 sl1 db ? str1 db 101 dup('$') str2b db 103 sl2 db ? str2 db 101 dup('$') msg1 db 10,13,'Enter String 1(Max length 50) :$' msg2 db 10,13,'Enter String 2(Max length 50) :$' emsg db 10,13,'The Strings are Equal$' nemsg db 10,13,'The Strings are NOT Equal Length$' gmsg db 10,13,'String ' res db ?,' is Greater$' .code mov ax, @data mov ds, ax ;initialize DS with Data Segment Base mov es, ax ;initialize ES with Data Segment Base agn: lea dx, msg1 mov ah, 9 int 21h lea dx, str1b mov ah, 0ah int 21h lea dx, msg2 mov ah, 9 int 21h lea dx, str2b mov ah, 0ah int 21h lea si, str1 lea di, str2 mov cl, sl1 cmp cl, sl2 jne diflen xor ch, ch jcxz agn repe cmpsb je eqlstr mov al, [si-1] cmp al, [di-1] ja gstr1 MCSL 017 44 Loganathan R
  • 45.
    toot D N to o oto tot Copyp o No D t o ottC o y to yp C y oot opy t C y C yp t pyp tot p ototo y yp t y y to Copyp to ppyyp p D o p C y ot C p y py D t ot p to pyyp tto C p o o o o o ot o t p Co p o yp t N t py N t p N C N D o C D y C oto C yp o p t t y y o pyp to N py to p o to o t pp y o D N y o D o D to t p yy D oto op C yp o to y to o y o o yp y yp N N to o o o y to pyyp Do tto o o oN o N t Co y D o No D to oo C yy oo C p o o t p o yp o y o t y D ypy o C D oo Do Noot yyp D No o oppyyp o tto ot y N to yp t C p oD Noot ypy ot to D D N to o o p D o t C D pp No C p y yp o t o to Co yp o N y o yp o y t Cop o p Ct op o y y o t No ypy o C o ot yyp oo y t ppy tto ypyp yp o y oto to D ot oot py N yp oo D to o yp yp to C Co y to o o yp yp o o to t y o o C o t p N D o N tt p t p o o y yp N y to tto opypy t C pyp Do ottto y pyp ot C D to y o p D D ot pp o Noo o o N y tto yp o o D N o y t C opp y ot o yp opp N o tto p y D ooN D N t o C oto op y to opp N C yp o o too Do No D Noo yyyp o Do N t p pyp C po y mov res, '2' jmp dspgstr gstr1: mov res, '1' dspgstr: lea dx, gmsg jmp disp: eqlstr: lea dx, emsg jmp disp diflen: lea dx, nemsg disp: mov ah, 9 int 21h mov ah, 4ch ;exit to operating system. int 21h end MCSL 017 45 Loganathan R
  • 46.
    toot D N to o oto tot Copyp o No D t o ottC o y to yp C y oot opy t C y C yp t pyp tot p ototo y yp t y y to Copyp to ppyyp p D o p C y ot C p y py D t ot p to pyyp tto C p o o o o o ot o t p Co p o yp t N t py N t p N C N D o C D y C oto C yp o p t t y y o pyp to N py to p o to o t pp y o D N y o D o D to t p yy D oto op C yp o to y to o y o o yp y yp N N to o o o y to pyyp Do tto o o oN o N t Co y D o No D to oo C yy oo C p o o t p o yp o y o t y D ypy o C D oo Do Noot yyp D No o oppyyp o tto ot y N to yp t C p oD Noot ypy ot to D D N to o o p D o t C D pp No C p y yp o t o to Co yp o N y o yp o y t Cop o p Ct op o y y o t No ypy o C o ot yyp oo y t ppy tto ypyp yp o y oto to D ot oot py N yp oo D to o yp yp to C Co y to o o yp yp o o to t y o o C o t p N D o N tt p t p o o y yp N y to tto opypy t C pyp Do ottto y pyp ot C D to y o p D D ot pp o Noo o o N y tto yp o o D N o y t C opp y ot o yp opp N o tto p y D ooN D N t o C oto op y to opp N C yp o o too Do No D Noo yyyp o Do N t p pyp C po y 6. Write a program to determine a given string is a palindrome. If 'Yes' output the message “The given string is a palindrome”. If 'No' output the message “No, it is not a palindrome”. .model small ;1 ds & 1 CS .data ;Data Segment strb db 103 sl db ? mstr db 101 dup('$') rstr db 100 dup('$') msg db 10,13,'Enter a String : $' pmsg db 10,13,'Given String is a Polindrome$' npmsg db 10,13,'Given String is NOT a Polindrome$' .code mov ax, @data mov ds, ax ;initialize DS with Data Segment Base mov es, ax ;initialize ES with Data Segment Base agn: lea dx, msg mov ah, 9 int 21h lea dx, strb mov ah, 0ah int 21h mov cl, sl xor ch, ch jcxz agn lea si, mstr lea di, rstr add si, cx nxt: dec si mov al, [si] stosb loop nxt mov cl, sl lea si, mstr lea di, rstr repe cmpsb je equl lea dx, npmsg jmp disp equl: lea dx, pmsg MCSL 017 46 Loganathan R
  • 47.
    toot D N to o oto tot Copyp o No D t o ottC o y to yp C y oot opy t C y C yp t pyp tot p ototo y yp t y y to Copyp to ppyyp p D o p C y ot C p y py D t ot p to pyyp tto C p o o o o o ot o t p Co p o yp t N t py N t p N C N D o C D y C oto C yp o p t t y y o pyp to N py to p o to o t pp y o D N y o D o D to t p yy D oto op C yp o to y to o y o o yp y yp N N to o o o y to pyyp Do tto o o oN o N t Co y D o No D to oo C yy oo C p o o t p o yp o y o t y D ypy o C D oo Do Noot yyp D No o oppyyp o tto ot y N to yp t C p oD Noot ypy ot to D D N to o o p D o t C D pp No C p y yp o t o to Co yp o N y o yp o y t Cop o p Ct op o y y o t No ypy o C o ot yyp oo y t ppy tto ypyp yp o y oto to D ot oot py N yp oo D to o yp yp to C Co y to o o yp yp o o to t y o o C o t p N D o N tt p t p o o y yp N y to tto opypy t C pyp Do ottto y pyp ot C D to y o p D D ot pp o Noo o o N y tto yp o o D N o y t C opp y ot o yp opp N o tto p y D ooN D N t o C oto op y to opp N C yp o o too Do No D Noo yyyp o Do N t p pyp C po y disp: mov ah, 9 int 21h xit: mov ah, 4ch ;exit to operating system. int 21h end MCSL 017 47 Loganathan R
  • 48.
    toot D N to o oto tot Copyp o No D t o ottC o y to yp C y oot opy t C y C yp t pyp tot p ototo y yp t y y to Copyp to ppyyp p D o p C y ot C p y py D t ot p to pyyp tto C p o o o o o ot o t p Co p o yp t N t py N t p N C N D o C D y C oto C yp o p t t y y o pyp to N py to p o to o t pp y o D N y o D o D to t p yy D oto op C yp o to y to o y o o yp y yp N N to o o o y to pyyp Do tto o o oN o N t Co y D o No D to oo C yy oo C p o o t p o yp o y o t y D ypy o C D oo Do Noot yyp D No o oppyyp o tto ot y N to yp t C p oD Noot ypy ot to D D N to o o p D o t C D pp No C p y yp o t o to Co yp o N y o yp o y t Cop o p Ct op o y y o t No ypy o C o ot yyp oo y t ppy tto ypyp yp o y oto to D ot oot py N yp oo D to o yp yp to C Co y to o o yp yp o o to t y o o C o t p N D o N tt p t p o o y yp N y to tto opypy t C pyp Do ottto y pyp ot C D to y o p D D ot pp o Noo o o N y tto yp o o D N o y t C opp y ot o yp opp N o tto p y D ooN D N t o C oto op y to opp N C yp o o too Do No D Noo yyyp o Do N t p pyp C po y 7. Write a program to search for a character in a given string and calculate the number of occurrences of the character in the given string. ;Character Search .model small ;1 ds & 1 CS .data ;Data Segment strb db 103 sl db ? str db 101 dup('$') msg1 db 10,13,'Enter a String : $' msg2 db 10,13,'Enter the charector to be searched : $' msg3 db 10,13,'Given Character' chr db ?,' Present ' nos db 0,0,' Times$' .code mov ax, @data mov ds, ax ;initialize DS with Data Segment Base mov es, ax ;initialize ES with Data Segment Base agn: lea dx, msg1 mov ah, 9 int 21h lea dx, strb mov ah, 0ah int 21h lea dx, msg2 mov ah, 9 int 21h mov ah, 1 int 21h mov chr, al mov cl, sl xor ch, ch jcxz agn lea di, str nxt: scasb jne cntnu inc nos cntnu: loop nxt mov al, nos aam MCSL 017 48 Loganathan R
  • 49.
    toot D N to o oto tot Copyp o No D t o ottC o y to yp C y oot opy t C y C yp t pyp tot p ototo y yp t y y to Copyp to ppyyp p D o p C y ot C p y py D t ot p to pyyp tto C p o o o o o ot o t p Co p o yp t N t py N t p N C N D o C D y C oto C yp o p t t y y o pyp to N py to p o to o t pp y o D N y o D o D to t p yy D oto op C yp o to y to o y o o yp y yp N N to o o o y to pyyp Do tto o o oN o N t Co y D o No D to oo C yy oo C p o o t p o yp o y o t y D ypy o C D oo Do Noot yyp D No o oppyyp o tto ot y N to yp t C p oD Noot ypy ot to D D N to o o p D o t C D pp No C p y yp o t o to Co yp o N y o yp o y t Cop o p Ct op o y y o t No ypy o C o ot yyp oo y t ppy tto ypyp yp o y oto to D ot oot py N yp oo D to o yp yp to C Co y to o o yp yp o o to t y o o C o t p N D o N tt p t p o o y yp N y to tto opypy t C pyp Do ottto y pyp ot C D to y o p D D ot pp o Noo o o N y tto yp o o D N o y t C opp y ot o yp opp N o tto p y D ooN D N t o C oto op y to opp N C yp o o too Do No D Noo yyyp o Do N t p pyp C po y add ax, 3030h mov nos, ah mov nos+1, al lea dx, msg3 mov ah, 9 int 21h mov ah, 4ch ;exit to operating system. int 21h end MCSL 017 49 Loganathan R