Swarna Bharathi Institute of Science & Technology: Computer Organization Lab Observation Book 2018-19
Swarna Bharathi Institute of Science & Technology: Computer Organization Lab Observation Book 2018-19
COMPUTER ORGANIZATION
LAB OBSERVATION BOOK
2018-19
Name: __________________________________________________
Roll No._________________________________________________
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:
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:
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:
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
(EXAMPLE: F = A’B’C’+A’B’C+A’BC+AB’C+ABC)
APPARATUS:
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
APPARATUS:
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:
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:
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:
SBIT
CO LAB
MANUAL
19
SBIT,khammam
Digital Electronics and Micro controllers
TRUTH TABLE:
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:
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:
SBIT
CO LAB
MANUAL
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:
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:
SBIT
CO LAB
MANUAL
23
SBIT,khammam
Digital Electronics and Micro controllers
TRUTH TABLE:
PROCEDURE:
RESULT: Hence verified the truth table of 4 bit magnitude comparator using 74LS85.
24
SBIT,khammam
Digital Electronics and Micro controllers
APPARATUS:
NAND LATCH:
Circuit diagram:
SBIT
CO LAB
MANUAL
25
SBIT,khammam
Digital Electronics and Micro controllers
Truth table:
26
SBIT,khammam
Digital Electronics and Micro controllers
Truth table:
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:
SBIT
CO LAB
MANUAL
29
SBIT,khammam
Digital Electronics and Micro controllers
Truth table:
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:
30
SBIT,khammam
Digital Electronics and Micro controllers
Truth table:
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
31
SBIT,khammam
Digital Electronics and Micro controllers
Truth table:
reset
0 1 0
1 0 1
1 1 1 set
Truth table:
1 0 1
toggle
1 1 0
32
SBIT,khammam
Digital Electronics and Micro controllers
PROCEDURE:
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
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
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
37
SBIT,khammam
Digital Electronics and Micro controllers
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
Mov 50,#55
Mov a,50
Mov dptr,#8000
Movx @dptr,a
Lcall 03
Mov a,#55
SBIT
Mov dptr,#8000
CO LAB
Movx @dptr,a MANUAL
Lcall 03
Mov 50,#0aa
Mov r0,#50
Mov a,#r0
Mov dptr,#8000
Movx @dptr,a
Lcall 03
Mov a,r0
Mov dptr,#8000
Movx @dptr,a
Lcall 03
39
SBIT,khammam
Digital Electronics and Micro controllers
SBIT
CO LAB
MANUAL
40
SBIT,khammam
Digital Electronics and Micro controllers
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
mov r0,#34h
mov r1,#12h
mov r2,#0dch
mov r3,#0feh
clr c
mov a,r0
mov 21h,a
mov 00h,c
lcall 03
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
Square
Let N = 05
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
mov a,#0fh
mov r0,a
mov r2,b
divab
mov r1,b
cjne r1,#0,l1
sjmp l3
add a,r0
44
SBIT,khammam
Digital Electronics and Micro controllers
mov r3,a
sjmp l2
lcall 3
HCF:
here:sjmp here
lcall 03
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
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
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
72
SBIT,khammam
Digital Electronics and Micro controllers
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