SlideShare uma empresa Scribd logo
1 de 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
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

Mais conteúdo relacionado

Mais procurados

4 evolution-of-programming-languages
4 evolution-of-programming-languages4 evolution-of-programming-languages
4 evolution-of-programming-languages
Rohit Shrivastava
 

Mais procurados (20)

Code generation
Code generationCode generation
Code generation
 
Linux Basic commands and VI Editor
Linux Basic commands and VI EditorLinux Basic commands and VI Editor
Linux Basic commands and VI Editor
 
Finite state Transducers and mealy Machine
Finite state Transducers and mealy Machine Finite state Transducers and mealy Machine
Finite state Transducers and mealy Machine
 
1.Role lexical Analyzer
1.Role lexical Analyzer1.Role lexical Analyzer
1.Role lexical Analyzer
 
Input-Buffering
Input-BufferingInput-Buffering
Input-Buffering
 
4 evolution-of-programming-languages
4 evolution-of-programming-languages4 evolution-of-programming-languages
4 evolution-of-programming-languages
 
Macro-processor
Macro-processorMacro-processor
Macro-processor
 
best notes in c language
best notes in c languagebest notes in c language
best notes in c language
 
C language unit-1
C language unit-1C language unit-1
C language unit-1
 
Kien truc bo_lenh_mips
Kien truc bo_lenh_mipsKien truc bo_lenh_mips
Kien truc bo_lenh_mips
 
Lecture 1 introduction to language processors
Lecture 1  introduction to language processorsLecture 1  introduction to language processors
Lecture 1 introduction to language processors
 
Programming in c
Programming in cProgramming in c
Programming in c
 
Chapter 5 Syntax Directed Translation
Chapter 5   Syntax Directed TranslationChapter 5   Syntax Directed Translation
Chapter 5 Syntax Directed Translation
 
Data Analysis in Python
Data Analysis in PythonData Analysis in Python
Data Analysis in Python
 
Learn C
Learn CLearn C
Learn C
 
Type checking compiler construction Chapter #6
Type checking compiler construction Chapter #6Type checking compiler construction Chapter #6
Type checking compiler construction Chapter #6
 
3 data-types-in-c
3 data-types-in-c3 data-types-in-c
3 data-types-in-c
 
Step to program in tasm
Step to program in tasmStep to program in tasm
Step to program in tasm
 
Dbms lab Manual
Dbms lab ManualDbms lab Manual
Dbms lab Manual
 
C programming basics
C  programming basicsC  programming basics
C programming basics
 

Destaque

Io (2)
Io (2)Io (2)
Io (2)
Aisu
 
Individual differences and call ppt
Individual differences and call pptIndividual differences and call ppt
Individual differences and call ppt
gianbisa
 

Destaque (20)

Mcs 012 computer organisation and assemly language programming- ignou assignm...
Mcs 012 computer organisation and assemly language programming- ignou assignm...Mcs 012 computer organisation and assemly language programming- ignou assignm...
Mcs 012 computer organisation and assemly language programming- ignou assignm...
 
Mcs 013 solve assignment
Mcs 013 solve assignmentMcs 013 solve assignment
Mcs 013 solve assignment
 
Mcs 015 solve assignment
Mcs 015 solve assignmentMcs 015 solve assignment
Mcs 015 solve assignment
 
Mcs 012 soved assignment 2015-16
Mcs 012 soved assignment 2015-16Mcs 012 soved assignment 2015-16
Mcs 012 soved assignment 2015-16
 
MCS 012 computer organisation and assembly language programming assignment…
MCS 012 computer organisation and assembly language programming assignment…MCS 012 computer organisation and assembly language programming assignment…
MCS 012 computer organisation and assembly language programming assignment…
 
Mcs 011 solved assignment 2015-16
Mcs 011 solved assignment 2015-16Mcs 011 solved assignment 2015-16
Mcs 011 solved assignment 2015-16
 
8086 microprocessor lab manual
8086 microprocessor lab manual8086 microprocessor lab manual
8086 microprocessor lab manual
 
Assembly Language Programming Of 8085
Assembly Language Programming Of 8085Assembly Language Programming Of 8085
Assembly Language Programming Of 8085
 
Assembly language programming
Assembly language programmingAssembly language programming
Assembly language programming
 
8 memory management strategies
8 memory management strategies8 memory management strategies
8 memory management strategies
 
Implement a queue using two stacks.
Implement a queue using two stacks.Implement a queue using two stacks.
Implement a queue using two stacks.
 
Io (2)
Io (2)Io (2)
Io (2)
 
Bcsl 033 data and file structures lab s5-3
Bcsl 033 data and file structures lab s5-3Bcsl 033 data and file structures lab s5-3
Bcsl 033 data and file structures lab s5-3
 
Chapter11 addressing
Chapter11 addressingChapter11 addressing
Chapter11 addressing
 
Stres na drodze - raport
Stres na drodze - raportStres na drodze - raport
Stres na drodze - raport
 
Individual differences and call ppt
Individual differences and call pptIndividual differences and call ppt
Individual differences and call ppt
 
Providing Access for Spanish Speaking Patrons
Providing Access for Spanish Speaking PatronsProviding Access for Spanish Speaking Patrons
Providing Access for Spanish Speaking Patrons
 
Sarcs sexii power point final
Sarcs sexii power point finalSarcs sexii power point final
Sarcs sexii power point final
 
Ning post #2
Ning post #2Ning post #2
Ning post #2
 
#ThroughGlass : An Introduction to Google Glass
#ThroughGlass : An Introduction to Google Glass#ThroughGlass : An Introduction to Google Glass
#ThroughGlass : An Introduction to Google Glass
 

Semelhante a IGNOU Assembly Language Programming

Semelhante a IGNOU Assembly Language Programming (20)

Resume
ResumeResume
Resume
 
Resume
ResumeResume
Resume
 
Know How: Graduates & Research Placement Application Form
Know How: Graduates & Research Placement Application FormKnow How: Graduates & Research Placement Application Form
Know How: Graduates & Research Placement Application Form
 
Demonolithing The Monolith? Bullocks!
Demonolithing The Monolith?  Bullocks!Demonolithing The Monolith?  Bullocks!
Demonolithing The Monolith? Bullocks!
 
CNC.pdf
CNC.pdfCNC.pdf
CNC.pdf
 
Running Puppet In Stand Alone Mode
Running Puppet In Stand Alone ModeRunning Puppet In Stand Alone Mode
Running Puppet In Stand Alone Mode
 
Transcripts and PC
Transcripts and PCTranscripts and PC
Transcripts and PC
 
Detour - Anna Univ_1
Detour - Anna Univ_1Detour - Anna Univ_1
Detour - Anna Univ_1
 
Presentation For Minnor Project MCET
Presentation For Minnor Project MCETPresentation For Minnor Project MCET
Presentation For Minnor Project MCET
 
WeCT Infographic
WeCT InfographicWeCT Infographic
WeCT Infographic
 
PROJECT STORYBOARD: Increasing First Run Parts From 60% to 90%
PROJECT STORYBOARD: Increasing First Run Parts From 60% to 90%PROJECT STORYBOARD: Increasing First Run Parts From 60% to 90%
PROJECT STORYBOARD: Increasing First Run Parts From 60% to 90%
 
PyData Paris 2015 - Track 3.2 Serge Guelton et Pierrick Brunet
PyData Paris 2015 - Track 3.2 Serge Guelton et Pierrick Brunet PyData Paris 2015 - Track 3.2 Serge Guelton et Pierrick Brunet
PyData Paris 2015 - Track 3.2 Serge Guelton et Pierrick Brunet
 
Lean PRODUCT - UX e Design Thinking
Lean PRODUCT - UX e Design ThinkingLean PRODUCT - UX e Design Thinking
Lean PRODUCT - UX e Design Thinking
 
PyLadies Talk: Learn to love the command line!
PyLadies Talk: Learn to love the command line!PyLadies Talk: Learn to love the command line!
PyLadies Talk: Learn to love the command line!
 
Rosa Cano_openexpo2018_sin_texto
Rosa Cano_openexpo2018_sin_textoRosa Cano_openexpo2018_sin_texto
Rosa Cano_openexpo2018_sin_texto
 
Strategic Cartography: Identifying IL Intersections Across the Curriculum
Strategic Cartography: Identifying IL Intersections Across the CurriculumStrategic Cartography: Identifying IL Intersections Across the Curriculum
Strategic Cartography: Identifying IL Intersections Across the Curriculum
 
Creativity journey presentation
Creativity journey presentationCreativity journey presentation
Creativity journey presentation
 
PostgreSQL Day italy 2016 Unit Test
PostgreSQL Day italy 2016 Unit TestPostgreSQL Day italy 2016 Unit Test
PostgreSQL Day italy 2016 Unit Test
 
Neigbourhood Planning, RCE Curitiba Parana
Neigbourhood Planning, RCE Curitiba ParanaNeigbourhood Planning, RCE Curitiba Parana
Neigbourhood Planning, RCE Curitiba Parana
 
PHP Doesn't Suck - Notes
PHP Doesn't Suck - NotesPHP Doesn't Suck - Notes
PHP Doesn't Suck - Notes
 

Mais de Dr. Loganathan R

Mais de Dr. Loganathan R (20)

Ch 6 IoT Processing Topologies and Types.pdf
Ch 6 IoT Processing Topologies and Types.pdfCh 6 IoT Processing Topologies and Types.pdf
Ch 6 IoT Processing Topologies and Types.pdf
 
IoT Sensing and Actuation.pdf
 IoT Sensing and Actuation.pdf IoT Sensing and Actuation.pdf
IoT Sensing and Actuation.pdf
 
Ch 4 Emergence of IoT.pdf
Ch 4 Emergence of IoT.pdfCh 4 Emergence of IoT.pdf
Ch 4 Emergence of IoT.pdf
 
Program in ‘C’ language to implement linear search using pointers
Program in ‘C’ language to implement linear search using pointersProgram in ‘C’ language to implement linear search using pointers
Program in ‘C’ language to implement linear search using pointers
 
Bcsl 033 data and file structures lab s5-2
Bcsl 033 data and file structures lab s5-2Bcsl 033 data and file structures lab s5-2
Bcsl 033 data and file structures lab s5-2
 
Bcsl 033 data and file structures lab s4-3
Bcsl 033 data and file structures lab s4-3Bcsl 033 data and file structures lab s4-3
Bcsl 033 data and file structures lab s4-3
 
Bcsl 033 data and file structures lab s4-2
Bcsl 033 data and file structures lab s4-2Bcsl 033 data and file structures lab s4-2
Bcsl 033 data and file structures lab s4-2
 
Bcsl 033 data and file structures lab s3-3
Bcsl 033 data and file structures lab s3-3Bcsl 033 data and file structures lab s3-3
Bcsl 033 data and file structures lab s3-3
 
Bcsl 033 data and file structures lab s3-2
Bcsl 033 data and file structures lab s3-2Bcsl 033 data and file structures lab s3-2
Bcsl 033 data and file structures lab s3-2
 
Bcsl 033 data and file structures lab s3-1
Bcsl 033 data and file structures lab s3-1Bcsl 033 data and file structures lab s3-1
Bcsl 033 data and file structures lab s3-1
 
Bcsl 033 data and file structures lab s2-3
Bcsl 033 data and file structures lab s2-3Bcsl 033 data and file structures lab s2-3
Bcsl 033 data and file structures lab s2-3
 
Bcsl 033 data and file structures lab s2-2
Bcsl 033 data and file structures lab s2-2Bcsl 033 data and file structures lab s2-2
Bcsl 033 data and file structures lab s2-2
 
Bcsl 033 data and file structures lab s2-1
Bcsl 033 data and file structures lab s2-1Bcsl 033 data and file structures lab s2-1
Bcsl 033 data and file structures lab s2-1
 
Bcsl 033 data and file structures lab s1-4
Bcsl 033 data and file structures lab s1-4Bcsl 033 data and file structures lab s1-4
Bcsl 033 data and file structures lab s1-4
 
Bcsl 033 data and file structures lab s1-3
Bcsl 033 data and file structures lab s1-3Bcsl 033 data and file structures lab s1-3
Bcsl 033 data and file structures lab s1-3
 
Bcsl 033 data and file structures lab s1-2
Bcsl 033 data and file structures lab s1-2Bcsl 033 data and file structures lab s1-2
Bcsl 033 data and file structures lab s1-2
 
Bcsl 033 data and file structures lab s1-1
Bcsl 033 data and file structures lab s1-1Bcsl 033 data and file structures lab s1-1
Bcsl 033 data and file structures lab s1-1
 
Introduction to Information Security
Introduction to Information SecurityIntroduction to Information Security
Introduction to Information Security
 
Session 9 4 alp to display the current system time using dos int 21 h
Session 9  4 alp to display the current system time using dos int 21 hSession 9  4 alp to display the current system time using dos int 21 h
Session 9 4 alp to display the current system time using dos int 21 h
 
Session 9 1 alp to compute a grade using procedures
Session 9   1 alp to compute a grade using proceduresSession 9   1 alp to compute a grade using procedures
Session 9 1 alp to compute a grade using procedures
 

Último

BASLIQ CURRENT LOOKBOOK LOOKBOOK(1) (1).pdf
BASLIQ CURRENT LOOKBOOK  LOOKBOOK(1) (1).pdfBASLIQ CURRENT LOOKBOOK  LOOKBOOK(1) (1).pdf
BASLIQ CURRENT LOOKBOOK LOOKBOOK(1) (1).pdf
SoniaTolstoy
 
The basics of sentences session 2pptx copy.pptx
The basics of sentences session 2pptx copy.pptxThe basics of sentences session 2pptx copy.pptx
The basics of sentences session 2pptx copy.pptx
heathfieldcps1
 
Russian Escort Service in Delhi 11k Hotel Foreigner Russian Call Girls in Delhi
Russian Escort Service in Delhi 11k Hotel Foreigner Russian Call Girls in DelhiRussian Escort Service in Delhi 11k Hotel Foreigner Russian Call Girls in Delhi
Russian Escort Service in Delhi 11k Hotel Foreigner Russian Call Girls in Delhi
kauryashika82
 

Último (20)

Call Girls in Dwarka Mor Delhi Contact Us 9654467111
Call Girls in Dwarka Mor Delhi Contact Us 9654467111Call Girls in Dwarka Mor Delhi Contact Us 9654467111
Call Girls in Dwarka Mor Delhi Contact Us 9654467111
 
BASLIQ CURRENT LOOKBOOK LOOKBOOK(1) (1).pdf
BASLIQ CURRENT LOOKBOOK  LOOKBOOK(1) (1).pdfBASLIQ CURRENT LOOKBOOK  LOOKBOOK(1) (1).pdf
BASLIQ CURRENT LOOKBOOK LOOKBOOK(1) (1).pdf
 
General AI for Medical Educators April 2024
General AI for Medical Educators April 2024General AI for Medical Educators April 2024
General AI for Medical Educators April 2024
 
APM Welcome, APM North West Network Conference, Synergies Across Sectors
APM Welcome, APM North West Network Conference, Synergies Across SectorsAPM Welcome, APM North West Network Conference, Synergies Across Sectors
APM Welcome, APM North West Network Conference, Synergies Across Sectors
 
Software Engineering Methodologies (overview)
Software Engineering Methodologies (overview)Software Engineering Methodologies (overview)
Software Engineering Methodologies (overview)
 
Paris 2024 Olympic Geographies - an activity
Paris 2024 Olympic Geographies - an activityParis 2024 Olympic Geographies - an activity
Paris 2024 Olympic Geographies - an activity
 
BAG TECHNIQUE Bag technique-a tool making use of public health bag through wh...
BAG TECHNIQUE Bag technique-a tool making use of public health bag through wh...BAG TECHNIQUE Bag technique-a tool making use of public health bag through wh...
BAG TECHNIQUE Bag technique-a tool making use of public health bag through wh...
 
Q4-W6-Restating Informational Text Grade 3
Q4-W6-Restating Informational Text Grade 3Q4-W6-Restating Informational Text Grade 3
Q4-W6-Restating Informational Text Grade 3
 
The basics of sentences session 2pptx copy.pptx
The basics of sentences session 2pptx copy.pptxThe basics of sentences session 2pptx copy.pptx
The basics of sentences session 2pptx copy.pptx
 
social pharmacy d-pharm 1st year by Pragati K. Mahajan
social pharmacy d-pharm 1st year by Pragati K. Mahajansocial pharmacy d-pharm 1st year by Pragati K. Mahajan
social pharmacy d-pharm 1st year by Pragati K. Mahajan
 
Mattingly "AI & Prompt Design: Structured Data, Assistants, & RAG"
Mattingly "AI & Prompt Design: Structured Data, Assistants, & RAG"Mattingly "AI & Prompt Design: Structured Data, Assistants, & RAG"
Mattingly "AI & Prompt Design: Structured Data, Assistants, & RAG"
 
Sports & Fitness Value Added Course FY..
Sports & Fitness Value Added Course FY..Sports & Fitness Value Added Course FY..
Sports & Fitness Value Added Course FY..
 
Disha NEET Physics Guide for classes 11 and 12.pdf
Disha NEET Physics Guide for classes 11 and 12.pdfDisha NEET Physics Guide for classes 11 and 12.pdf
Disha NEET Physics Guide for classes 11 and 12.pdf
 
Measures of Central Tendency: Mean, Median and Mode
Measures of Central Tendency: Mean, Median and ModeMeasures of Central Tendency: Mean, Median and Mode
Measures of Central Tendency: Mean, Median and Mode
 
The Most Excellent Way | 1 Corinthians 13
The Most Excellent Way | 1 Corinthians 13The Most Excellent Way | 1 Corinthians 13
The Most Excellent Way | 1 Corinthians 13
 
Student login on Anyboli platform.helpin
Student login on Anyboli platform.helpinStudent login on Anyboli platform.helpin
Student login on Anyboli platform.helpin
 
Z Score,T Score, Percential Rank and Box Plot Graph
Z Score,T Score, Percential Rank and Box Plot GraphZ Score,T Score, Percential Rank and Box Plot Graph
Z Score,T Score, Percential Rank and Box Plot Graph
 
fourth grading exam for kindergarten in writing
fourth grading exam for kindergarten in writingfourth grading exam for kindergarten in writing
fourth grading exam for kindergarten in writing
 
Russian Escort Service in Delhi 11k Hotel Foreigner Russian Call Girls in Delhi
Russian Escort Service in Delhi 11k Hotel Foreigner Russian Call Girls in DelhiRussian Escort Service in Delhi 11k Hotel Foreigner Russian Call Girls in Delhi
Russian Escort Service in Delhi 11k Hotel Foreigner Russian Call Girls in Delhi
 
INDIA QUIZ 2024 RLAC DELHI UNIVERSITY.pptx
INDIA QUIZ 2024 RLAC DELHI UNIVERSITY.pptxINDIA QUIZ 2024 RLAC DELHI UNIVERSITY.pptx
INDIA QUIZ 2024 RLAC DELHI UNIVERSITY.pptx
 

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