Sei sulla pagina 1di 18

INDEX

Experiment Date Sign

1. Write an ALP to illustrate addition, subtraction, multiplication


and division of two 8 bit numbers
2. Write an ALP to illustrate logical operations like AND, OR, NOT and
XOR
3. Write an ALP to add two 2 byte numbers
4. Write an ALP to subtract two 2 byte numbers
5. Write an ALP to illustrate multiplication using repetitive addition
6. Write an ALP to compare two numbers stored in external memory
7. Write an ALP to find the largest of 10 numbers. Also find and check
the checksum byte for 4 stored numbers.
8. Write an ALP to convert numbers from BCD to ASCII
Experiment 1

Write an ALP to illustrate addition, subtraction, multiplication and division of two 8 bit numbers

MOV R1, #3

MOV R2, #8

MOV A, R1

ADD A, R2

MOV R0, A

MOV A, R2

SUBB A, R1

MOV R3, A

MOV A, R1

MOV B, R2

MUL AB

MOV R4, A

MOV R5, B

MOV A, R2

MOV B, R1

DIV AB

MOV R6, A

MOV R7, B

MOV P1, R0
OUTPUT:
Experiment 2

Write an ALP to illustrate logical operations like AND, OR, NOT and XOR

MOV R1, #3

MOV R2, #8

MOV A, R1

ANL, R2

MOV R0, A

MOV A, R1

ORL A, R2

MOV R3, A

CPL A

MOV R4, A

MOV A, R1

XRL R5, A

MOV R5, A

MOV P1, R4
OUTPUT:
Experiment 3

Write an ALP to add two 2 byte numbers

MOV R1, #32H

MOV R2, #89H

MOV R3, #D4H

MOV R4, #7FH

MOV A, R2

ADDC A, R4

MOV R5, A

MOV A, R1

SUBB A, R3

MOV R6, A

PUSH #D0H

POP #7H

H2: MOV P1, R5

HELLO: MOV R0, #01H

DJNZ R0, HELLO

MOV P1, R6

HELLO1: MOV R0, #01H

DJNZ R0, HELLO1

JMP H2
OUTPUT:
Experiment 4

Write an ALP to subtract 2 byte number from another 2 byte number

MOV R1, #32H

MOV R2, #89H

MOV R3, #D4H

MOV R4, #7FH

MOV A, R2

SUBB A, R4

MOV R5, A

MOV A, R1

SUBB A, R3

MOV R6, A

PUSH #D0H

POP #7H

H2: MOV P1, R5

HELLO: MOV R0, #01H

DJNZ R0, HELLO

MOV P1, R6

HELLO1: MOV R0, #01H

DJNZ R0, HELLO1

JMP H2
OUTPUT:
Experiment 5

Write an ALP to illustrate multiplication using repetitive addition

MOV R1, #10

MOV R2, #25

CLR A

M1: ADD A, R2

DJNZ R1, M1

MOV P1, A

OUTPUT:
Experiment 6

Write an ALP to compare two numbers stored in external memory

ORG 0000H

START: MOV DPTR, #0200H

CLR A

MOVC A, @A+DPTR

MOV B, A

MOV DPTR, #0201H

CLR A

MOVC A, @A+DPTR

CJNE A, B, NEXT

MOV P0, #0H

JMP END1

NEXT: JNC NEXT2

MOV P1, #0

JMP END1

NEXT 2: MOV P2, #0

END1: NOP

ORG: 0200H

DB 23H, 24H

END
OUTPUT:
Experiment 7

Write and ALP to find and show the largest number from 10 numbers stored in an external memory
location from 600H and store final result in R5 of bank 3.

64H, 75H, 82H and A9H are four nos. stored in memory location starting from 900H. Write an ALP to
find:

a) Checksum byte and store data on R4 of bank 2


b) Also check if checksum byte is valid; if yes, print 1 on 7 segment, else print 0

ORG 0600H

DB A2H, 23H, 21H, 45H, 76H, 56H, 12H, 43H, 90H, 91H

ORG 0000H

CLR C

MOV R3, #9

MOV DPTR, #0600H

ANL A, #0H

MOVC A, @A+DPTR

MOV B, A

HELLO: INC DPTR

ANL A, #00H

MOVC A, @A+DPTR

CLR C

CJNE A, B, CHECK1

CHECK1: JC TWO

MOV B, A

TWO: DJNZ R3, HELLO

SETB RS0

SETB RS1
MOV R5, B

MOV P1, R5

END

OUTPUT:
MOV R3, #4

MOV R2, #0

ADD1: CLR A

MOVC A, @A+DPTR

MOV R1, A

MOV A, R2

ADDC A, R1

MOV R2, A

DJNZ R3, ADD1

MOV A, R2

MOV R5, A

CPL A

INC A

ADD A, R5

MOV R0, A

CJNE R0, #0, PRINT

CLR P1.1

CLR P1.2

SJMP END1

PRINT: MOV P1, #0FH

END1: NOP

END
OUTPUT:
Experiment 8

Write an ALP to convert numbers from BCD to ASCII

MOV R1, #57H

MOV A, R1

ANL A, #0FH

SWAP A

MOV R2, A

MOV A, R1

ANL A, #0FH

MOV R3, A

ADD A, #30H

MOV R4, A

MOV A, R2

ADD A, #30H

MOV R5, A

MOV P1, R5
OUTPUT:

Potrebbero piacerti anche