Disha NEET Physics Guide for classes 11 and 12.pdf
IGNOU Assembly Language Programming
1. 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
2. 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
3. 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
4. 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
5. 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
6. 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
7. 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
8. 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
9. 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
10. 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
11. 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
12. 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
13. 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
14. 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
15. 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
16. 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
17. 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
18. 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
19. 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
20. 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
21. 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
22. 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
23. 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
24. 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
25. 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
26. 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
27. 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
28. 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
29. 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
30. 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
31. 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
32. 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
33. 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
34. 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
35. 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
36. 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
37. 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
38. 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
39. 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
40. 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
41. 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
42. 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
43. 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
44. 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
45. 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
46. 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
47. 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
48. 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
49. 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