0% found this document useful (0 votes)
117 views76 pages

Swarna Bharathi Institute of Science & Technology: Computer Organization Lab Observation Book 2018-19

The document appears to be a laboratory manual for a computer organization lab from Swarna Bharathi Institute of Science and Technology. It includes the mission and vision of the Electronics and Communication department, which aims to develop students' skills and promote excellence in the field. It also provides a list of 12 experiments on topics like basic gates, universal gates, boolean expressions, adders, decoders, multiplexers and working with microcontroller kits. The manual describes the procedures and objectives for experiments on verifying truth tables for logic gates and realizing and simplifying given boolean expressions using gates.

Uploaded by

Hafizuddin Syed
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
117 views76 pages

Swarna Bharathi Institute of Science & Technology: Computer Organization Lab Observation Book 2018-19

The document appears to be a laboratory manual for a computer organization lab from Swarna Bharathi Institute of Science and Technology. It includes the mission and vision of the Electronics and Communication department, which aims to develop students' skills and promote excellence in the field. It also provides a list of 12 experiments on topics like basic gates, universal gates, boolean expressions, adders, decoders, multiplexers and working with microcontroller kits. The manual describes the procedures and objectives for experiments on verifying truth tables for logic gates and realizing and simplifying given boolean expressions using gates.

Uploaded by

Hafizuddin Syed
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
You are on page 1/ 76

SWARNA BHARATHI INSTITUTE OF

SCIENCE & TECHNOLOGY


(Approved by AICTE & Affiliated to JNTUH, Hyderabad )
(Accredited by NAAC with B+)

DEPARTMENTOF ELECTRONICS AND


COMMUNICATION

COMPUTER ORGANIZATION
LAB OBSERVATION BOOK
2018-19

Name: __________________________________________________

Roll No._________________________________________________

Year Sem. _______________________________________________


Mission and Vision of the Department

VISION OF THE DEPARTMENT

• To develop the Department into a full-fledged


centre of learning in the area of Electronics &
Communication Engineering through continuous
improvement in teaching and learning process.

• To foster conscience, proficiency and competency


among the students in pursuit of excellence in
the field of Electronics & Communication
Engineering

MISSION OF THE DEPARTMENT

• To create competent professionals who are trained


in the design, implementation of Electronics and
communication systems and to have a successful
career either in industry or in higher education
in India or abroad.

• Imparting technical education that encourages


independent thinking, develops strong domain
knowledge, hones contemporary skills and provide
attitude towards holistic growth of young minds.
Digital Electronics and Micro controllers

SWARNA BHARATHI INSTISTUTE OF SCIENCE AND TECHNOLOGY


DIPLOMA IN ELECTRICAL AND ELECTRONICS

LABORATORY MANUAL
DIGITAL ELECTRONICS AND MICRO CONTROLLERS

List of Experiments
1. Basic gates.
2. Universal gates.
3. Realization of Given Boolean Expression. SBIT
4. Half adder and Full adder.
CO LAB
5. Decoder.
MANUAL
6. Multiplexer.
7. Magnitude comparator.
8. NAND and NOR latches.
9. Flip-Flops.
10. Working with Micro controller kits and simulators.
11. Practicing Arithmetic instruction of 8051.
12. Interfacing switches and LEDs to 8051.

1
SBIT,khammam
Digital Electronics and Micro controllers

DIGITAL ELECTRONIC

1. BASIC GATES
AIM: To verify the truth tables of NOT, AND and OR gates.

APPARATUS:

1. General purpose training kit


2. IC 74LS04
3. IC 74LS08
4. IC 74LS32
5. Connecting wires

PIN DIAGRAMS AND TRUTH TABLES:

NOT GATE:
SBIT
Symbol: CO LAB
MANUAL

Pin diagram:

Truth table:

A Y=A’

0 1

1 0

2
SBIT,khammam
Digital Electronics and Micro controllers

AND GATE:

Symbol:

Pin diagram:

SBIT
CO LAB
MANUAL
Truth table:

A B Y=AB
0 0 0

0 1 0
1 0 0
1 1 1

OR GATE:

Symbol:

3
SBIT,khammam
Digital Electronics and Micro controllers

Pin diagram:

Truth table: SBIT


A B Y=A+B
CO LAB
0 0 0
MANUAL
0 1 1
1 0 1

1 1 1

PROCEDURE:

1. Take the general purpose trainer kit and insert NOT gate at appropriate position.
2. Connect pin No. 14 to Vcc and pin No. 7 to GND.
3. Verify the truth table of NOT gate by applying different combination of input.
4. Verify the functioning of other NOT gates present in the IC.
5. Repeat the same process for AND andOR gates.

RESULT: Hence verified the truth tables of NOT, OR, and AND gates.

4
SBIT,khammam
Digital Electronics and Micro controllers

SBIT
CO LAB
MANUAL

5
SBIT,khammam
Digital Electronics and Micro controllers

SBIT
CO LAB
MANUAL

6
SBIT,khammam
Digital Electronics and Micro controllers

2. UNIVERSAL GATES
AIM: To verify the truth tables of NAND and NOR (universal) gates.

APPARATUS:

1. General purpose training kit


2. IC 74LS00
3. IC 74LS02
4. Connecting wires

PIN DIAGRAM S AND TRUTH TABLES:

NAND GATE:

Symbol: SBIT
CO LAB
MANUAL

Pin diagram:

Truth table:

A B Y=(AB)’

0 0 1

0 1 1

1 0 1

1 1 0

7
SBIT,khammam
Digital Electronics and Micro controllers

NOR GATE:

Symbol:

Pin diagram:

SBIT
CO LAB
MANUAL

Truth table:

A B Y=(A+B)’

0 0 1

0 1 0

1 0 0

1 1 0

PROCEDURE:

1. Take the general purpose trainer kit and insert NAND gate at appropriate position.
2. Connect pin No. 14 to Vcc and pin No. 7 to GND.
3. Verify the truth table of NAND gate by applying different combinations of input.
4. Verify the functioning of other NANDgates present in the IC.
5. Repeatthe above process for NOR gate.

RESULT: Hence verified the truth tables of NAND and NOR gates.

8
SBIT,khammam
Digital Electronics and Micro controllers

SBIT
CO LAB
MANUAL

9
SBIT,khammam
Digital Electronics and Micro controllers

SBIT
CO LAB
MANUAL

10
SBIT,khammam
Digital Electronics and Micro controllers

3. REALIZATION OF GIVEN BOOLEAN EXPRESSION


AIM: To realize a given Boolean expression and to verify its truth table after simplification.

(EXAMPLE: F = A’B’C’+A’B’C+A’BC+AB’C+ABC)

APPARATUS:

1. General purpose training kit


2. IC 74LS04
3. IC 74LS08
4. IC 74LS32
5. Connecting wires

Simplification:

Given expression
SBIT
F = A’B’C’+A’B’C+A’BC+AB’C+ABC
CO LAB
K-map diagram: MANUAL

Simplified equation:

F = A’B’+C

Logic diagram:

11
SBIT,khammam
Digital Electronics and Micro controllers

Required gates:

NOT gate:

AND gate:

SBIT
CO LAB
MANUAL

OR gate:

12
SBIT,khammam
Digital Electronics and Micro controllers

Truth table:

A B C A’ B’ A’B’ A’B’+C

0 0 0 1 1 1 1

0 0 1 1 1 1 1

0 1 0 1 0 0 0

0 1 1 1 0 0 1

1 0 0 0 1 0 0

1 0 1 0 1 0 1

1 1 0 0 0 0 0

1 1 1 0 0 0 SBIT
1

CO LAB
PROCEDURE: MANUAL
1. Check whether the given expression is in SSOP or not.
2. If not convert it into SSOP.
3. By using K-map method simplify the function.
4. After simplification identify the required logic gates and draw the circuit diagram using logic
gates.
5. Insert the IC s on the trainer kit and make the connections among the ICs using circuit diagram.
6. By applying different input combinations observe the output.
7. Tabulate the outputs for input combinations.

RESULT: Hence realized a given Boolean expression and verified its truth table after simplification.

13
SBIT,khammam
Digital Electronics and Micro controllers

SBIT
CO LAB
MANUAL

14
SBIT,khammam
Digital Electronics and Micro controllers

4. HALF ADDER AND FULL ADDER


AIM: To construct and to verify the truth tables of Half adder and Full adder using logic gates.

APPARATUS:

1. General purpose training kit


2. IC 74LS86
3. IC 74LS08
4. IC 74LS32
5. Connecting wires

CIRCUIT DIAGRAM AND TRUTH TABLES:

HALF ADDER:

Required IC’s:
SBIT
Exclusive OR gate:
CO LAB
MANUAL

AND gate:

Circuit diagram:

15
SBIT,khammam
Digital Electronics and Micro controllers

Truth table:

A B SUM CARRY

0 0 0 0

0 1 1 0

1 0 1 0

1 1 0 1

FULL ADDER:

Required IC’s: SBIT


Exclusive OR gate: CO LAB
MANUAL

AND gate:

OR gate:

16
SBIT,khammam
Digital Electronics and Micro controllers

Circuit diagram:

Truth table:

A B C SUM CARRY
0 0 0 0 0
0 0 1 1 0
0 1 0 1 0 SBIT
0 1 1 0 1 CO LAB
1 0 0 1 0
MANUAL
1 0 1 0 1
1 1 0 0 1
1 1 1 1 1

PROCEDURE:

1. Insert IC 7486, IC 7408 at appropriate positions of a trainer kit.


2. Connect pin no. 14 of all IC’s to Vcc and pin no.7 of all IC’s to GND.
3. Make the connections between the IC’s using circuit diagram.
4. By applying different combinations of input s observe the outputs.
5. Now repeat the above process for full adder.

RESULT: Hence constructed the half adder and full adder and also verified the truth tables.

17
SBIT,khammam
Digital Electronics and Micro controllers

SBIT
CO LAB
MANUAL

18
SBIT,khammam
Digital Electronics and Micro controllers

5. DECODER
AIM: To verify the truth table of 3x8 decoder using 74LS138.

APPARATUS:

1. General purpose training kit


2. IC 74LS138
3. Connecting wires

Decoder block diagram:

SBIT
CO LAB
MANUAL

PIN DIAGRAM OF 74LS138:

19
SBIT,khammam
Digital Electronics and Micro controllers

TRUTH TABLE:

Enable pins Input pins Output pins

G1 G2a’ G2b’ C B A Y0’ Y1’ Y2’ Y3’ Y4’ Y5’ Y6’ Y7’

0 X X X X X 1 1 1 1 1 1 1 1

1 1 1 X X X 1 1 1 1 1 1 1 1

1 0 0 0 0 0 0 1 1 1 1 1 1 1

1 0 0 0 0 1 1 0 1 1 1 1 1 1

1 0 0 0 1 0 1 1 0 1 1 1 1 1

1 0 0 0 1 1 1 1 1 0 1 1SBIT
1 1

1 0 0 1 0 0 1 1 1 1 0 CO
1 LAB
1 1
MANUAL
1 0 0 1 0 1 1 1 1 1 1 0 1 1

1 0 0 1 1 0 1 1 1 1 1 1 0 1

1 0 0 1 1 1 1 1 1 1 1 1 1 0

PROCEDURE:

1. Insert IC 74LS138 properly on the trainer kit.


2. Connect enable pins and input pins at the input side of trainer kit.
3. Connect output pins at the output side of trainer kit.
4. By applying different combinations of inputs and enables observe the outputs.
5. Verify the truth table for all combinations of inputs.

RESULT: Hence verified the truth table of 3x8 decoder using 74LS138.

20
SBIT,khammam
Digital Electronics and Micro controllers

6. MULTIPLEXER
AIM: To verify the truth table of 8:1 multiplexer using 74LS151.

APPARATUS:

1. General purpose training kit


2. IC 74LS151
3. Connecting wires

Multiplexer block diagram:

SBIT
CO LAB
MANUAL

PIN DIAGRAM OF 74LS151:

21
SBIT,khammam
Digital Electronics and Micro controllers

Truth table:

INPUTS OUTPUTS
E’ S0 S1 S2 D0 D1 D2 D3 D4 D5 D6 D7 Y Y’
0 0 0 0 0 X X X X X X X 0 1
0 0 0 0 1 X X X X X X X 1 0
0 0 0 1 X 0 X X X X X X 0 1
0 0 0 1 X 1 X X X X X X 1 0
0 0 1 0 X X 0 X X X X X 0 1
0 0 1 0 X X 1 X X X X X 1 0
0 0 1 1 X X X 0 X X X X 0 1
0 0 1 1 X X X 1 X X X X 1 0
0 1 0 0 X X X X 0 X X X 0SBIT
1
0 1 0 0 X X X X 1 X X X CO
1 LAB
0
0 1 0 1 X X X X X 0 X X MANUAL
0 1
0 1 0 1 X X X X X 1 X X 1 0
0 1 1 0 X X X X X X 0 X 0 1
0 1 1 0 X X X X X X 1 X 1 0
0 1 1 1 X X X X X X X 0 0 1
0 1 1 1 X X X X X X X 1 1 0

PROCEDURE:

1. Insert IC 74LS151 properly on the trainer kit.


2. Connect enable pin and data pins at the input side of trainer kit.
3. Connect output pins at the output side of trainer kit.
4. By applying different combinations of inputs and enable observe the outputs.
5. Verify the truth table for all combinations of inputs.

RESULT: Hence verified the truth table of 8:1 multiplexer using 74LS151.

22
SBIT,khammam
Digital Electronics and Micro controllers

7. MAGNITUDE COMPARATOR
AIM: To verify the truth table of 4 bit magnitude comparator using 74LS85.

APPARATUS:

4. General purpose training kit


5. IC 74LS85
6. Connecting wires

Comparator block diagram:

SBIT
CO LAB
MANUAL

PIN DIAGRAM OF 74LS85:

23
SBIT,khammam
Digital Electronics and Micro controllers

TRUTH TABLE:

Comparing inputs Cascading inputs Out puts


A3,B3 A2,B2 A1,B1 A0,B0 I(A>B) I(A<B) I(A=B) A>B A<B A=B
A3>B3 X X X X X X 1 0 0
A3<B3 X X X X X X 0 1 0
A3=B3 A2>B2 X X X X X 1 0 0
A3=B3 A2<B2 X X X X X 0 1 0
A3=B3 A2=B2 A1>B1 X X X X 1 0 0
A3=B3 A2=B2 A1<B1 X X X X 0 1 0
A3=B3 A2=B2 A1=B1 A0>B0 X X X 1 0 0
A3=B3 A2=B2 A1=B1 A0<B0 X X X 0 1 0
A3=B3 A2=B2 A1=B1 A0=B0 0 0 0 1 1 0
A3=B3 A2=B2 A1=B1 A0=B0 0 0 1 0 0 SBIT 1
A3=B3 A2=B2 A1=B1 A0=B0 0 1 0 0 1 0
A3=B3 A2=B2 A1=B1 A0=B0 0 1 1 0 0CO LAB1
A3=B3 A2=B2 A1=B1 A0=B0 1 0 0 1 0MANUAL0
A3=B3 A2=B2 A1=B1 A0=B0 1 0 1 0 0 1
A3=B3 A2=B2 A1=B1 A0=B0 1 1 0 0 0 0
A3=B3 A2=B2 A1=B1 A0=B0 1 1 1 0 0 1

PROCEDURE:

6. Insert IC 74LS85 properly on the trainer kit.


7. Connect cascading pins and input pins at the input side of trainer kit.
8. Connect output pins at the output side of trainer kit.
9. By applying different combinations of inputs and cascading pins observe the outputs.
10. Verify the truth table for all combinations of inputs.

RESULT: Hence verified the truth table of 4 bit magnitude comparator using 74LS85.

24
SBIT,khammam
Digital Electronics and Micro controllers

8. NAND and NOR LATCHES


AIM: To construct NAND and NOR latches and to verify using NAND and NOR gates and to verify their
truth tables.

APPARATUS:

1. General purpose training kit


2. IC 74LS00
3. IC 74LS02
4. Connecting wires

NAND LATCH:

Circuit diagram:

SBIT
CO LAB
MANUAL

Circuit connection using 74LS00:

25
SBIT,khammam
Digital Electronics and Micro controllers

Truth table:

inputs Present Next status


state state
R’ S’ Qn Qn+1
0 0 x x Not used
0 0 x x
0 1 0 0 reset
0 1 1 0
1 0 0 1 set
1 0 1 1
1 1 0 0 No
change
1 1 1 1 SBIT
CO LAB
NOR LATCH: MANUAL
Circuit diagram:

Circuit connection using 74LS02:

26
SBIT,khammam
Digital Electronics and Micro controllers

Truth table:

inputs Present Next status


state state
R S Qn Qn+1
0 0 0 0 No
change
0 0 1 1
0 1 0 1 Set
0 1 1 1
1 0 0 0 Reset
1 0 1 0
1 1 x x Not used
1 1 x x SBIT
CO LAB
PROCEDURE: MANUAL
For NAND latch:

1. Insert IC 74LS00 on the general purpose trainer kit.


2. Make the connections among the internal NAND gates according to the NAND latch circuit
diagram.
3. By applying different combinations of inputs and present state value observe the next state
value.
4. Tabulate the results.

For NOR latch:

1. Insert IC 74LS02 on the general purpose trainer kit.


2. Make the connections among the internal NOR gates according to the NOR latch circuit diagram.
3. By applying different combinations of inputs and present state value observe the next state
value.
4. Tabulate the results.

RESULT: Hence verified the truth table of NAND and NOR latches.

27
SBIT,khammam
Digital Electronics and Micro controllers

SBIT
CO LAB
MANUAL

28
SBIT,khammam
Digital Electronics and Micro controllers

9. FLIP-FLOPS
AIM:

a) To construct clocked RS flip flop using NAND gates and to verify its truth table.
b) To verify truth table of JK flip flop using 74LS76IC.
c) To construct D and T flip flops using 74LS76 and to verify their truth tables.

APPARATUS:

1. General purpose training kit


2. IC 74LS00
3. IC 74LS76
4. Connecting wires

Circuit diagram of RS flip flop:

SBIT
CO LAB
MANUAL

Circuit connection using 74LS00:

29
SBIT,khammam
Digital Electronics and Micro controllers

Truth table:

Inputs Present Next status


state state
clock R S Qn Qn+1
0 0 0 0 No
change

0 0 1 1

0 1 0 1 Set

0 1 1 1

1 0 0 0
SBIT
Reset
CO LAB
1 0 1 0 MANUAL

1 1 x x Not used

1 1 x x

JK flip flop:

JK Flip flop diagram:

30
SBIT,khammam
Digital Electronics and Micro controllers

Pin diagram of 74LS76:

Truth table:

Inputs Present Next status


SBIT
state state CO LAB
clock K J Qn Qn+1
0 0 0 0 No MANUAL
change
0 0 1 1

0 1 0 1 Set

0 1 1 1

1 0 0 0 Reset

1 0 1 0

1 1 0 1 toggle

1 1 1 0

D Flip flop using JK flip flop:

31
SBIT,khammam
Digital Electronics and Micro controllers

Truth table:

clock Input Present Next status


D state Qn state
Qn+1
0 0 0

reset
0 1 0

1 0 1

1 1 1 set

T flip flop using JK flip flop: SBIT


CO LAB
MANUAL

Truth table:

clock Input Present Next status


T state Qn state
Qn+1
0 0 0
No
change
0 1 1

1 0 1

toggle
1 1 0

32
SBIT,khammam
Digital Electronics and Micro controllers

PROCEDURE:

For RS flip flop:

1. Insert IC 74LS00 on the general purpose trainer kit.


2. Make the connections among the internal NAND gates according to the RS flip flop circuit
diagram.
3. By applying different combinations of inputs and present state value observe the next state
value.
4. Tabulate the results.

For JK flip flop:

1. Insert IC 74LS00 on the general purpose trainer kit.


2. Make the connections according to the JK flip flop circuit diagram.
3. By applying different combinations of inputs and present state value observe the next state
value.
SBIT
4. Tabulate the results.
CO LAB
For D and T flip flop:
MANUAL
1. Insert IC 74LS76 on the general purpose trainer kit.
2. Make the connections according to the D flip flop circuit diagram.
3. By applying different combinations of inputs and present state value observe the next state
value.
4. Tabulate the results.
5. Repeat the same process for T flip flop

RESULT:

a) Constructed the clocked RS flip flop using NAND gates and also verified its truth table.
b) Verified the truth table of JK flip flop using 74LS76IC.
c) Constructed the D and T flip flops using 74LS76 and alsoverified their truth tables.

33
SBIT,khammam
Digital Electronics and Micro controllers

SBIT
CO LAB
MANUAL

34
SBIT,khammam
Digital Electronics and Micro controllers

SBIT
CO LAB
MANUAL

35
SBIT,khammam
Digital Electronics and Micro controllers

SBIT
CO LAB
MANUAL

36
SBIT,khammam
Digital Electronics and Micro controllers

MICRO CONTROLLERS

10. Working with microcontroller kits and Simulators

Aim:
a) Familiarization of Microcontroller Kit
b) Familiarization of 8051 simulator EDSIM 51 (or similar)
c) Write small ALP to demonstrate different register addressing techniques
a) Familiarization of Microcontroller Kit
 8051 Kit model ALS SDA 51-MEL
 Memory 128 KB
 EPROM 64KB
 RAM 64KB
 CPU operating at 11.0592 MKZ
 I/O Parallel 48 I/O lines using two 8255s, terminated in two 26 pin headers
SBIT
 I/O Serial One RS-232 compatible interface, using on chip UART Lines.
 Timer Three 16 bit counter/timer using 8253 Programmable timer terminated in a
20 pin berg stick
CO LAB
 Display ALPHANUMBERIC LCD MODULE (2 line X 16 chars) MANUAL

Steps to operate Microcontroller Kits – 8051

1. On the Power supply connect power cable to P3 terminal on 8051-kit

2. Reset the Kit button

3. Press A it shows assembler mode enter the memory to enter program and press enter

4. Enter the program line and press enter it shows the data with opcode and press enter

5. Again enter next lines of program until last line of program by pressing enter

6. Press G and give the address of the program which is executed press enter it shows
PROGRAM EXECUTED and press enter it shows SELECT ANY 1 KEY MENU

7. Press R which shows WHICH REGISTER ? then press A or B for registers

8. Press S for Substitute Memory (EDM/IDM/IBM/EPM)

37
SBIT,khammam
Digital Electronics and Micro controllers

b) Familiarization of 8051 simulator EDSIM 51 (or similar)

EdSim51, developed by James Rogers, is a simulator unlike the many industry-standard


simulators that are widely available - this simulator has the student in mind. Take a look at the
screenshot below:

SBIT
CO LAB
MANUAL

 The top left box gives the user access to all the 8051's registers, data memory and code
memory.
 In the centre is a textbox where the user either loads an assembly program or writes the code
directly. Shown above is a program being single-stepped (execution is currently at location
0034H in code memory - hence that line is highlighted).
 On the right is a list of the 32 port pins and what each one is connected to. The current value of
the port pin is displayed here.
 The bottom panel shows all the peripherals that are connected to the 8051.

This simulator will help learn to write programs to exercise the 8051. We can begin by ignoring
the peripherals. In this way we can first become accustomed to the many different move,
arithmetic and branch instructions that make up the 8051 instruction set.

38
SBIT,khammam
Digital Electronics and Micro controllers

c) Write small ALP to demonstrate different register addressing techniques

Aim: write an ALP to perform different addressing modes.

Direct Addressing Mode

Mov 50,#55

Mov a,50

Mov dptr,#8000

Movx @dptr,a

Lcall 03

Immediate Addressing Mode

Mov a,#55
SBIT
Mov dptr,#8000
CO LAB
Movx @dptr,a MANUAL
Lcall 03

Indirect Addressing Mode

Mov 50,#0aa

Mov r0,#50

Mov a,#r0

Mov dptr,#8000

Movx @dptr,a

Lcall 03

Register Addressing Mode

Mov a,r0

Mov dptr,#8000

Movx @dptr,a

Lcall 03

Result: Hence observed the Working of microcontroller kits and Simulators

39
SBIT,khammam
Digital Electronics and Micro controllers

SBIT
CO LAB
MANUAL

40
SBIT,khammam
Digital Electronics and Micro controllers

11. Practicing Arithmetic instructions of 8051.

a) Addition, Subtraction, Division, and Multiplication of 8 bit numbers using immediate data access.

Aim: Write an ALP to demonstrate Addition, Subtraction, Division, and Multiplication of 8 bit numbers
using immediate data access.

Addition:

Mov a,#34

Mov b,#56

Add a,b

Lcall 03h

Subtraction:
SBIT
Mov a,#34 CO LAB
Mov b,#56 MANUAL
Subba,b

Lcall 03h

Multiplicaton:

Mov a,#56

Mov 0f0,#67

Mulab

Lcall 03

Division:

Mov a,#86

Mov 0f0,#67

divab

Lcall 03

41
SBIT,khammam
Digital Electronics and Micro controllers

b) Add and Subtract 16 bit numbers

Aim:Write an ALP to add and Subtract 16 bit numbers

Addition of 16 bit numbers:

mov r0,#34h

mov r1,#12h

mov r2,#0dch

mov r3,#0feh

clr c

mov a,r0

add a,r2 SBIT


mov 22h,a CO LAB
mov a,r1 MANUAL
addc a,r3

mov 21h,a

mov 00h,c

lcall 03

Subtraction of 16 bit numbers

mov r0,#0dch

mov r1,#0feh

mov r2,#34h

mov r3,#12h

clr c

mov a,r0

subb a,r2

mov 22h,a

42
SBIT,khammam
Digital Electronics and Micro controllers

mov a,r1

subb a,r3

mov 21h,a

mov 00h,c

lcall 03

c) Square and cube program

Aim:Write an ALP to Square and Cube program

Square

Let N = 05

mov a,#05 SBIT


mov 0f0,a CO LAB
mulab MANUAL
mov 30h,a

mov 31h,b

lcall 03

Cube

mov r0,#0fh

mov a,r0

mov b,r0

mul ab

mov r1,b

mov b,r0

mul ab

mov 32h,a

mov r2,b

43
SBIT,khammam
Digital Electronics and Micro controllers

mov a,r1

mov b,r0

mulab

add a,r2

mov 31h,a

mova,b

addc A,#00h

mov 30h,a

lcall 03

d)LCM and HCF of given numbers SBIT


Aim:Write an ALP to find LCM of given numbers CO LAB
LCM: MANUAL
mov r3,#0

mov a,#0fh

mov r0,a

l2: mov b,#0ah

mov r2,b

divab

mov r1,b

cjne r1,#0,l1

sjmp l3

l1: mov a,r0

add a,r0

44
SBIT,khammam
Digital Electronics and Micro controllers

mov r3,a

sjmp l2

l3: mov r0,a

lcall 3

HCF:

mov dptr,#9000h ;Load 9000h into dptr register

movxa,@dptr ;move data from external memory location to a

mov0f0,a ;move data from a to b

incdptr ;increment dptr SBIT


movxa,@dptr ;move data from external memory location to a CO LAB

back:mov r1,0f0 ;move data from b to r1 MANUAL


divab ;divide a by b

mov a,0f0 ;move data from b to a

jz mess ;if a=0, jump to label mess

mov a,r1 ;move data from r1 to a

jmp back ;jump to label back

mess:mov dptr,#9005h ;Load dptr with immediate data 9005h

mov a,r1 ;move data from r1 to a

movx @dptr,a ;move data from a to external memory location

here:sjmp here

lcall 03

Result: Hence performed different ALP programs on Arithmetic Instructions.

45
SBIT,khammam
Digital Electronics and Micro controllers

SBIT
CO LAB
MANUAL

46
SBIT,khammam
Digital Electronics and Micro controllers

SBIT
CO LAB
PROGRAMS MANUAL

47
SBIT,khammam
Digital Electronics and Micro controllers

Program 1
WRITE 8086 ALP TO ADD TWO 16-BIT NUMBERS
DATA SEGMENT
NUM1 DW 4567H
NUM2 DW 0FBCH
RESULT DW?
CARRY DB?
DATA ENDS
CODE SEGMENT
ASSUME CS: CODE, DS: DATA
SATRT: MOV AX,DATA
MOV DS, AX
MOV AX,NUM1
MOV AX,NUM2
SBIT
ADD AX,BX CO LAB
JC NEXT MANUAL
MOV DL, 0
JMP SKIP
NEXT: MOV DL, 1
SKIP: MOV RESULT, AX
MOV CARRY, DL
INT 3
CODE ENDS
END START

48
SBIT,khammam
Digital Electronics and Micro controllers

Program 2
WRITE 8086 ALP TO ADD TWO PACKED BCD NUMBERS
DATA SEGMENT
BCDNUM1 DB 76H
BCDNUM2 DB 95H
RESULT DB?
CARRY DB?
DTA ENDS
CODE SEGMENT
ASSUME CS: CODE, DS: DATA
START: MOV AX,DATA
MOV DS,AX
MOV AL, BCDNUM1
MOV BL, BCDNUM2
SBIT
ADD AL, BL CO LAB
DAA MANUAL
JC NEXT
MOV DL, 0
JMP SKIP
NEXT: MOV DL, 1
SKIP: MOV RESULT, AL
MOV CARRY, DL
INT 3
CODE ENDS
END STARTS

49
SBIT,khammam
Digital Electronics and Micro controllers

PROGRAM 4:
WRITE A PROGRAM TO ADD TWO 64-BIT NUMBERS (MULTI BYTE
ADDITION)
DATA SEGMENT
NUM1 DQ 123456789ABCDEF0H
NUM2 DQ 432187650CDEF012H
RESULT DB DUP (?)
WRDCNT DW 4
DATA ENDS
CODE SEGMENT
ASSUME CS: CODE, DS: DATA
START: MOV AX, DATA
MOV DS, AX
MOV CX, WRDCNT
LEA SI, NUM1 SBIT
LEA DI, NUM2 CO LAB
LEA BX, RESULT
CLC MANUAL
BACK: MOV AX, [SI]
ADC AX, [DI]
MOV [BX], AX
INC SI
INC SI
INC DI
INC DI
INC BX
INC BX
LOOP BACK
MOV DL, 0
ADC DL, DL
MOV [BX], DL
INT 3
CODE ENDS
END START

50
SBIT,khammam
Digital Electronics and Micro controllers

PROGRAM 5:
WRITE A PROGRAM TO ADD N 16-BIT NUMBERS (WORDS)
DATA SEGMENT
ARRY DW 1000H, 2000H, 4000H, 0A00H, 0F00H
NUMCNT EQU ($-ARRAY)/2
SUM DW?
CARRY DW?
DATA ENDS
CODE SEGMENT
ASSUME CS: CODE, DS: DATA
START: MOV AX, DATA
MOV DS, AX
LEA SI, ARRAY
MOV CX, NUMCNT
MOV AX, 0 SBIT
MOV BX, 0
BACK: ADD AX, [SI]
CO LAB
JNC NEXT MANUAL
INC BX
NEXT: ADD SI, 2
LOOP BACK
MOV SUM, AX
MOV CARRY, BX
INT 3
CODE ENDS END START

51
SBIT,khammam
Digital Electronics and Micro controllers

Program 6
WRITE A PROGRAM TO ADD TWO MULTIDIGIT ASCII NUMBERS
DATA SEGMENT
NUM1 DQ 3635343332313039H
NUM2 DQ 3938373635343332H
DIGITCNT EQU NUM2-NUM1
RESULT DB DIGITCNT+1 DUP(?)
START: MOV AX, DATA
MOV DS, AX
MOV CX, DIGITCNT
LEA SI, NUM1
LEA DI, NUM2
LEA BX, RESULT
MOV AH, 0
SBIT
BACK: MOV AL, [SI] CO LAB
ADD AL, AH MANUAL
ADD AL, [DI]
MOV AH, 0
AAA
OR AL, 30H
MOV [BX], AL
INC SI
INC DI
INC BX
LOOP BACK
OR AH, 30H
MOV [BX], AH
INT 3
CODE ENDS
END START

52
SBIT,khammam
Digital Electronics and Micro controllers

Program 7
WRITE A PROGRAM TO EVALUATE C=5/9(F-32)
DATA SEGMENT
F DB 95
C DB?
DATA ENDS
CODE SEGMET
ASSUME CS: CODE, DS: DATA
START: MOV AX, DATA
MOV DS, AX
MOV AL, F
SUB AL, 20H
MOV BL, 5
MUL BL
SBIT
MOV CL, 9 CO LAB
DIV CL MANUAL
MOV C, AL
INT 3
CODE ENDS
END START
Program 8
WRITE A PROGRAM TO EVALUATE V2=U2+2AS
DATA SEGMENT
U DB 100
A DB 20
S DB 200
RES DW ?
DATA ENDS
CODE SEGMET
ASSUME CS: CODE, DS: DATA
START: MOV AX, DATA
MOV DS, AX
MOV AL, A
MUL S
SHL AX, 1

53
SBIT,khammam
Digital Electronics and Micro controllers

MOV DX, AX
MOV AL, U
MUL AL
ADD AX, DX
MOV RES, AX
INT 3
CODE ENDS
END START

SBIT
CO LAB
MANUAL

54
SBIT,khammam
Digital Electronics and Micro controllers

PROGRAM 9:
WRITE A PROGRAM TO FIND THE SUM OF SQUARES OF N 8-BIT
NUMBERS (BYTES)
DATA SEGMENT
TABADR DW 4000H
NUMCNT DW 8
SUM DW?
CARRY DB?
DATA ENDS
CODE SEGMENT
ASSUME CS: CODE, DS: DATA
START: MOV AX, DATA
MOV DS, AX
MOV SI, TABADR
MOV DX, 0 SBIT
MOV BL, 0 CO LAB
MOV CX, NUMCNT
BACK: MOV AL,[SI] MANUAL
MUL AL
ADD DX, AX
JNC NEXT
INC BL
NEXT: INC SI
LOOP BACK
MOV SUM, DX
MOV CARRY, BL
INT 3
CODE ENDS
END START

55
SBIT,khammam
Digital Electronics and Micro controllers

PROGRAM 10:
WRITE A PROGRAM TO FIND THE SUM OF CUBES OF ‘N’ 8-BIT
NUMBERS (BYTES)
DATA SEGMENT
TABADR DW 2000H
NUMCNT DW 8
SUM DW 2 DUP(?)
DATA ENDS
CODE SEGMENT
ASSUME CS: CODE, DS: DATA
START: MOV AX, DATA
MOV DS, AX
MOV BX, TABADR
MOV CX, NUMCNT
MOV SI, 0 SBIT
MOV DI, 0 CO LAB
BACK: MOV AL, [BX]
MOV DL, AL MANUAL
MUL AL
MOV DH, 0
MUL DX
ADD SI, AX
ADC DI, DX
INC BX
LOOP BACK
MOV SUM, SI
MOV SUM+2, DI
INT 3
CODE ENDS
END START

56
SBIT,khammam
Digital Electronics and Micro controllers

PROGRAM 11

11. WRITE A PROGRAM TO FIND THE L.C.M OF TWO 16 BIT


NUMBERS
DATA SEGMENT
NUM1 DW 1234H
NUM2 DW 5678H
LCM DW 2 DUP()
DATA ENDS
CODE SEGMENT
ASSUME CS: CODE, DS: DATA
START: MOV AX, DATA
MOV DS, AX
MOV CX, NUM1 SBIT
MOV BX, NUM2 CO LAB
CMP CX, BX
MANUAL
JNC NEXT
XCHG CX, BX
NEXT: MOV DI, CX
MOV SI, 0
BACK: MOV AX, CX
MOV DX, SI
DIV BX
CMP DX, 0
JZ EXIT
ADD CX, DI
ADC SI, 0
JMP BACK
EXIT: MOV LCM, CX
MOV LCM+2, SI
INT 3
CODE ENDS
END START

57
SBIT,khammam
Digital Electronics and Micro controllers

PROGRAM 12
12.WRITE A PROGRAM TO FIND H.C.F(GSD) OF TWO 16-BIT
NUMBERS
DATA SEGMENT
NUM1 DW 1234H
NUM2 DW 5678H
HCF DW ()
DATA ENDS
CODE ENDS
ASSUME CS: CODE, DS: DATA
START: MOV AX, DATA
MOV DS, AX
MOV AX, NUM1
MOV BX, NUM2
SBIT
CMP AX, BX CO LAB
JNC NEXT MANUAL
XCHG AX, BX
NEXT: MOV DX, 0
DIV BX
CMP DX, 0
JZ EXIT
MOV AX, BX
MOV BX, DX
JMP NEXT
EXIT: MOV HCF, BX
INT 3
CODE ENDS
END START

58
SBIT,khammam
Digital Electronics and Micro controllers

PROGRAM 13
13. WRITE A PROGRAM TO FIND THE COUNT OF POSITIVE
NUMBERS AND NEGATIVE NUMBERS IN A GIVEN ARRAY OF SIGNED
16-BIT NUMBERS
DATA SEGMENT
TABADR DW 4000H
NUMCNT DW 8
PCNT DW(?)
NCNT DW(?)
DATA ENDS
CODE SEGMENT
ASSUME CS: CODE, DS: DATA
START: MOV AX, DATA
MOV DS, AX
SBIT
MOV BX, TABADR CO LAB
MOV CX, NUMCNT MANUAL
MOV SI, 0
MOV DI, 0
BACK: MOV AX, [BX]
SHL AX, 1
JC NEGATIVE
INC SI
JMP CONT
NEGATIVE: INC DI
CONT: ADD BX,2
LOOP BACK
MOV PCNT, SI
MOV NCNT, DI
INT 3
CODE ENDS
END START

59
SBIT,khammam
Digital Electronics and Micro controllers

PROGRAM 14:
WRITE A PROGRAM TO FIND THE LARGEST NUMBER IN THE GIVEN
ARRRAY OF 8- BIT UNSIGNED NUMBERS
DATA SEGMENT
ARRAY DB 12H, 25H, 0C2H, 30H, 05H
NUMCNT EQU $-ARRAY
LARGEST DB ?
DATA ENDS
CODE SEGMENT
ASSUME CS: CODE, DS: DATA
START: MOV AX, DATA
MOV DS, AX
LEA SI, ARRAY
MOV CX, NUMCNT
SBIT
DEC CX CO LAB
MOV AL, [SI] MANUAL
BACK: INC SI
CMP AL, [SI]
LA NEXT
MOV AL, [SI]
NEXT: LOOP BACK
MOV LARGEST, AL
INT 3
CODE ENDS
END START

60
SBIT,khammam
Digital Electronics and Micro controllers

PROGRAM 15:
WRITE A PROGRM TO SORT THE GIVEN 8-BIT SIGNED NUMBERS
IN ASCENDING ORDER
DATA SEGMENT
TABADR DW 4000H
CMPCNT DW 07
DATA ENDS
CODE SEGMENT
ASSUME CS: CODE, DS: DATA
START: MOV AX, DATA
MOV DS, AX
BEGIN: MOV BX, TAB ADR
MOV CX, CMPCNT
MOV DL, 0
SBIT
BACK: MOV AL, [BX] CO LAB
CMP AL, [BX+1] MANUAL
JLE NEXT
XCHG AL, [BX+1]
MOV [BX], AL
MOV DL, 1
NEXT: INC BX
LOOP BACK
CMP DL, 1
JE BEGIN
INT 3
CODE ENDS
END START

61
SBIT,khammam
Digital Electronics and Micro controllers

PROGRAM 16:
WRITE A PROGRAM TO CONVERT PACKED BCD TO UNPACKED BCD
DATA SEGMENT
BCDNUM DB 56H
RES DB 2 DUP (?)
DATA ENDS
CODE SEGMENT
ASSUME CS: CODE, DS: DATA
START: MOV AX, DATA
MOV DS, AX
MOV AL, BCDNUM
AND AL, 0FH
MOV RES, AL
MOV AL, BCDNUM
SBIT
AND AL, 0F0H CO LAB
MOV CL, 4 MANUAL
SHR AL, CL
MOV RES+1, AL
INT 3
CODE ENDS
END START

62
SBIT,khammam
Digital Electronics and Micro controllers

PROGRAM 17:
WRITE A PROGRAM TO CONVERT 2- DIGIT HEXADECIMAL NUMBER
TO EQUIVALENT ASCII CODE
DATA SEGMENT
HEXNUM DB SEH
RES DB 2 DUP (?)
DATA ENDS
CODE SEGMENT
ASSUME CS: CODE, DS: DATA
START: MOV AX, DATA
MOV DS, AX
MOV AL, HEXNUM
AND AL, 0FH
CALL CONVERT
SBIT
MOV RES, AL CO LAB
MOV AL, HEXNUM MANUAL
AND AL, 0F0H
MOV AC, 4
SHR AL, CL
CALL CONVERT
MOV RES+1, AL
INT 3
CONVERT PROC NEAR
CMP AL, 9
JBE SKIP
ADD AL, 7
SHIP: ADD AL, 30H
RET
CONVERT ENDP
CODE ENDS
END START

63
SBIT,khammam
Digital Electronics and Micro controllers

PROGRAM 18
WRITE A PROGRAM TO CONVERT 4 DIGIT PACKED BCD TO BINARY
DATA SEGMENT
BCD NUM DW 5678H
RES DW?
DATA ENDS
CODE SEGMENT
ASSUME CS: CODE, DS: DATA
START: MOV AX, DATA
MOV DS, AX
MOV SI, 0
MOV AX, BCDNUM
MOV DI, AX
AND AX, 0F000H
SBIT
MOV CL, 4 CO LAB
ROL AX, CL MANUAL
MOV BX, 3E8H
MUL BX
ADD SI, AX
MOV AX, DI
AND AX, 0F000H
MOV CL, 8
ROL AX, CL
MOV BL, 64H
MUL BL
ADD SI, AX
MOV AX, DI
AND AX, 00F0H
MOV CL, 4
ROR AX, CL
MOV BL, 0AH
MUL BL
ADD SI, AX
MOV AX, DI
AND AX, 000FH

64
SBIT,khammam
Digital Electronics and Micro controllers

ADD SI, AX
MOV RES, SI
INT 3
CODE ENDS
END START

SBIT
CO LAB
MANUAL

65
SBIT,khammam
Digital Electronics and Micro controllers

PROGRAM 19
WRITE A PROGRAM TO CONVERT 16 BITBINARY NUMBER TO
ITS EQUIVALENT 5 DIGIT PACKED BCD NUMBER
DATA SEGMENT
BINNUM DW 4567H
RES DW?
TTHDGT DB?
CODE SEGMENT
ASSUME CS: CODE, DS: DATA
START: MOV AX, DATA
MOV DS, AX
MOV AX, BINNUM
MOV DX, 0
MOV BX, 2710H
SBIT
DIV BX CO LAB
MOV TTHDGT, AL MANUAL
MOV AX, DX
MOV BX, 3E8H
DIV BX
MOV CH, AL
MOV AX, DX
MOV BL, 64H
DIV BL
MOV DL, AL
MOV AL, AH
MOV AH, 0
MOV BL, 0AH
DIV BL
MOV CL, 4
SHL AL, CL
OR AL, AH
MOV CL, 4
SHL CH, CL
OR CH, DL
MOV AH, CH

66
SBIT,khammam
Digital Electronics and Micro controllers

MOV RES, AX
INT 3
CODE ENDS
END START

SBIT
CO LAB
MANUAL

67
SBIT,khammam
Digital Electronics and Micro controllers

PROGRAM 20:
WRITE A PROGRAM TO MOVE A STRING FROM ONE MEMORY AREA
TO THE OTHER MEMORY AREA
DATA SEGMENT
MEMA DB ‘GFEC’
LEN EQU $-MEMA
MEMB DB LEN DUP (?)
DATA ENDS
CODE SEGMENT
ASSUME CS: CODE, DS: DATA
START: MOV AX, DATA
MOV DS, AX
MOV ES, AX
LEA SI, MEMA
SBIT
LEA DI, MEMB CO LAB
MOV CX, LEN MANUAL
CLD
REP MOVSB
MOV BYTE PTR [DI], ‘$’
LEA DX, MEMB
MOV DX, MEMB
MOV AH, 09
INT 21H
INT 3
CODE ENDS
END START

68
SBIT,khammam
Digital Electronics and Micro controllers

PROGRAM 21:
WRITE A PROGRAM TO COMPARE TWO STRINGS FOR EQUALITY
DATA SEGMENT
STRING DB ‘GFECA’
LENGTHA EQU $-STRINGA
STRINGB DB ‘GFEC’
LENGTHB EQU $-STRINGB
MSGA DB ‘STRINGS ARE EQUAL $’
MSGB DB’STRINGS ARE NOT EQUAL $’; DEFINE MESSAGE B
DATA ENDS
CODE SEGMENT
ASSUME CS: CODE, DS: DATA
START: MOV AX, DATA
MOV DS, AX
SBIT
MOV ES, AX CO LAB
MOV ES, AX MANUAL
MOV CX, LENGTHA
CMP CX, LENGTHB
JNE NEQUAL
LEA SI, STRINGA
LEA DI, STRINGB
CLD
REPE CMPSB
JNE NEQUAL
LEA DX, MSGA
BACK: MOV AH, 09
INT 21H
INT 3
NEQUAL: LEA DX, MSGB
JMP BACK
CODE ENDS
END START

69
SBIT,khammam
Digital Electronics and Micro controllers

22. WRITE A PROGRAM TO REVERSE THE GIVEN STRING


DATA SEGMENT
STRING DB ‘REVERSE’
LENGTH EQU $-STRING
DATA ENDS
CODE SEGMENT
ASSUME CS: CODE, DS: DATA
START: MOV AX, DATA
MOV DS, AX
LEA SI, STRING
MOV CX, LENGTH
ADD SI, CX
DEC SI
BACK: MOV DL, [SI]
SBIT
MOV AH, 02 CO LAB
INT 21H MANUAL
DEC SI
LOOP BACK
INT 3
CODE ENDS
END START
23. WRITE A PROGRAM TO DELETE A CHARACTER FROM STRING
DATA SEGMENT
STRING DB ‘GFECE’
LEN EQU $-STRING
CHAR DB ‘E’
DATA ENDS
CODE SEGMENT
ASSUME CS: CODE, DS: DATA
START: MOV AX, DATA
MOV DS, AX
MOV ES, AX
LEA DI, STRING
MOV CX, LEN
MOV AL, CHAR

70
SBIT,khammam
Digital Electronics and Micro controllers

CLD
REPNE SCASB
JNZ EXIT
MOV SI, DI
DEC DI
REP MOVSB
EXIT: MOV BYTE PTR [DI],’$’
LEA DX, STRING
MOV AH, 09
INT 21H
INT 3
CODE ENDS
END START
SBIT
CO LAB
MANUAL

71
SBIT,khammam
Digital Electronics and Micro controllers

24: WRITE A PROGRAM TO READ STRING OF CHARACTERS FROM


THE KEYBOARD WITH ECHO AND DISPLAY THE SAME ON SCREEN
USING DOS INTERRUPT
DISP MACRO MSG
LEA DX, MSG
MOV AH, 9
INT 21H
ENDM
DATA SEGMENT
MSG1 DB 10, 13, ’ENTER THE STRING’, 10, 13,’$’
CRLF DB 10, 13, ’$’
BUF DB 0FFH
BUF1 DB ?
BUF2 DB 0FFH DUP (?)
SBIT
DATA ENDS CO LAB
CODE SEGMENT MANUAL
ASSUME CS: CODE, DS: DATA
START: MOV AX, DATA
MOV DS, AX
DISP MSG1
LEA DX, BUF
MOV AH, 0AH
INT 21H
LEA SI, BUF2
MOV CL, BUF1
MOV CH, 0
ADD SI, CX
MOV BYTE PTR [SI], ‘$’
DISP CRLF
DISP BUF2
INT 3
CODE ENDS
END START

72
SBIT,khammam
Digital Electronics and Micro controllers

25: WRITE A PROGRAM TO READ STRING OF CHARACTERS FROM


KEYBOARD WITH ECHO AND DISPLAY THE SAME ON SCREEN USING
BIOS INTERRUPT
PROGRAM
DATA SEGMENT
MSG DB 10, 13,’ENTER THE STRING’, 10, 13
LEN EQU $-MSG
BUF DB OFFH DUP (?)
DATA ENDS
CODE SEGMENT
ASSUME CS: CODE, DS: DATA
START: MOV AX, DATA
MOV DS, AX
LEA SI, MSG
SBIT
MOV CX, LEN CO LAB
BACK: MOV AL, [SI] MANUAL
MOV AH, 0EH
INT 10H
INC SI
LOOP BACK
LEA SI, BUF
CONT: MOV AH, 00H
INT 16H
MOV [SI], AL
CMP AL, 0DH
JZ DISPLAY
MOV AH, 0EH
INT 10H
INC SI
JMP CONT
DISPLAY: MOV AL, 0DH
MOV AH, 0EH
INT 10H
MOV AL, 0AH
MOV AH, 0EH

73
SBIT,khammam
Digital Electronics and Micro controllers

INT 10H
LEA SI, BUF
BK: MOV AL, [SI]
CMP AL, 0DH
JZ EXIT
MOV AH, 0EH
INT 10H
INC SI
JMP BK
EXIT: INT 3
CODE ENDS
END START

SBIT
CO LAB
MANUAL

74
SBIT,khammam

You might also like