0% found this document useful (0 votes)
10 views9 pages

Basic Arithmatic Programs

Experimental 14

Uploaded by

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

Basic Arithmatic Programs

Experimental 14

Uploaded by

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

Address Label Opcode Mnemonics Comments

8500 74 33 MOV A,#33 INPUT 33 STORE IN THE


ACCUMULATOR
8502 79 55 MOV R1,#55 INPUT 55 STORE IN THE R1
REGISTER
8504 29 ADD A,R1 A<-A+R1
8505 90 90 00 MOV DPTR,#9000 OUTPUT VALUE STORE IN
9000 MEMORY LOCATION
8508 F0 MOVX @DPTR,A ACCUMULATOR MOVES TO
THE EXTERNAL RAM
8509 12 00 BB LCALL 00BB BREAKPOINT

ARITHMETIC PROGRAMS

8 BIT ADDITION:

RESULT:

REGISTER VALUE
A(INPUT) 33
R1(INPUT) 55
M9000(OUTPUT) 88
Addres Label Opcode Mnemonics Comments
s
8600 D3 SETB C SET THE CARRY FLAG
8601 74 33 MOV A,#33 INPUT 33 MOVES TO THE
ACCUMULATOR
8603 79 55 MOV A,#55 INPUT 55 MOVES TO THE
ACCUMULATOR
8605 39 ADDC A,R1 A<-A+R1+1
8606 90 90 00 MOV DPTR,#9000 OUTPUT VALUE STORE IN
9000 MEMORY LOCATION
8609 F0 MOVX @DPTR,A ACCUMULATOR MOVES TO
THE EXTERNAL RAM
860A 12 00 BB LCALL 00BB BREAKPOINT

8 BIT ADDITION WITH CARRRY:

RESULT:

REGISTER VALUE
A(INPUT) 33
R1(INPUT) 55
M9000(OUTPUT) 89
8 BIT SUBTRACTION:

Address Label Op code Mnemonics Comments


8700 C3 CLR C CLEAR THE CARRY FLAG
8701 74 66 MOV A,#66 INPUT 66 MOVES TO THE
ACCUMULATOR
8703 79 22 MOV R1,#22 INPUT 22 MOVES TO THE
R1 REGISTER
8705 99 SUBB A,R1 A<-A-R1
8706 90 90 00 MOV DPTR,#9000 OUTPUT VALUE STORE IN
9000 MEMORY LOCATION
8709 F0 MOVX @DPTR,A ACCUMULATOR MOVES
TO THE EXTERNAL RAM
870A 12 00 BB LCALL 00BB BREAKPOINT

RESULT:

REGISTER VALUE
A(INPUT) 66
R1(INPUT) 22
M9000(OUTPUT) 44
8 BIT SUBTRACTION WITH BORROW:

Address Label Opcode Mnemonics Comments


8800 D3 SETB C CLEAR THE CARRY FLAG
8801 74 66 MOV A,#66 INPUT 66 MOVES TO THE
ACCUMULATOR
8803 79 22 MOV R1,#22 INPUT 22 MOVES TO THE
R1 REGISTER
8805 99 SUBB A,R1 A<-A-R1-1
8806 90 90 00 MOV DPTR,#9000 OUTPUT VALUE STORE IN
9000 MEMORY LOCATION
8809 F0 MOVX @DPTR,A ACCUMULATOR MOVES
TO THE EXTERNAL RAM
880A 12 00 BB LCALL 00BB BREAKPOINT

RESULT:

REGISTER VALUE
A(INPUT) 66
R1(INPUT) 22
M9000(OUTPUT) 43
8 BIT MULTIPLICATION:

Address Label Opcode Mnemonics Comments


8900 74 02 MOV A,#02 INPUT 02 MOVES TO THE
ACCUMULATOR
8902 75 F0 02 MOV 0F0H,#02 INPUT 02 MOVES TO THE 0F0H
REGISTER
8905 A4 MUL AB MULTIPLIES A AND B

8906 90 90 00 MOV DPTR,#9000 OUTPUT VALUE STORE IN 9000


MEMORY LOCATION
8909 F0 MOVX @DPTR,A ACCUMULATOR MOVES TO THE
EXTERNAL RAM
890A A3 INC DPTR INCREMENT DPTR

890B E5 F0 MOV A,0F0H 0F0H VALUE MOVES TO THE


ACCUMULATOR
890D F0 MOVX @DPTR,A ACCUMULATOR MOVES TO THE
EXTERNAL RAM
890E 12 00 BB LCALL 00BB BREAKPOINT

RESULT:

REGISTER VALUE
A(INPUT) 02
0F0H(INPUT) 02
M9000(OUTPUT) 04

Address Label Opcode Mnemonics Comments


8A00 74 D5 MOV A,#0D5H INPUT D5 MOVES TO THE ACCUMULATOR

8A02 75 F0 11 MOV 0F0H,#11 INPUT 11 MOVES TO THE 0F0H REGISTER


8A05 84 DIV AB DIVIDE A BY B

8A06 90 90 00 MOV DPTR,#9000 OUTPUT VALUE STORE IN 9000


MEMORY LOCATION
8A09 F0 MOVX @DPTR,A ACCUMULATOR MOVES TO THE
EXTERNAL RAM
8A0A A3 INC DPTR INCREMENT DPTR
8A0B E5 F0 MOV A,#0F0H 0F0H VALUE MOVES TO THE
ACCUMULATOR
8A0D F0 MOVX @DPTR,A ACCUMULATOR MOVES TO THE
EXTERNAL RAM
8A0E 12 00 BB LCALL 00BB BREAKPOINT
8 BIT DIVISION:

RESULT:

REGISTER VALUE
A(INPUT) D5
0F0H(INPUT) 11
M9000(OUTPUT) 0C

AND PROGRAM:

AND OPERATION:
Address Label Opcode Mnemonics Comments
9000 74 01 MOV A,#01

9002 78 55 MOV R0,#55


9004 58 ANL A,R0
9005 F9 MOV R1,A
9006 12 00 BB LCALL 00BB

DATA 1: 01 0000 0001 (BINARY VALUE FOR 01)

DATA 2: 55 0101 0101 (BINARY VALUE FOR 55)

0000 0001 = 01 (DECIMAL VALUE)

Address Label Opcode Mnemonics Comments


9000 74 01 MOV A,#01

9002 78 55 MOV R0,#55 55 MOVES TO THE ACC.

9004 58 ANL A,R0 LOGICAL AND OPERATION

9005 F9 MOV R1,A ACC. MOVES TO THE R1 REG.

9006 12 00 BB LCALL 00BB BREAKPOINT

Address Label Opcode Mnemonics Comments


9000 74 01 MOV A,#01 01 MOVES TO THE ACC.
OR PROGRAM:

Addres Labe Opcode Mnemonic Comments


s l s
9000 74 01 MOV A,#01 INPUT 01 MOVES TO THE ACC

9002 78 55 MOV R0,#55 INPUT 55 MOVES TO THE R0 REG


9004 48 ORL A,R0 LOGICAL OR OPERATION
9005 F9 MOV R1,A ACC VALUE MOVES TO THE R1
REG
9006 12 00 BB LCALL 00BB BREAKPOINT

OR OPERATION:

DATA 1: 01 0000 0001 (BINARY VALUE FOR 01)


DATA 2: 55 0101 0101 (BINARY VALUE FOR 55)

0101 0101 =55 (DECIMAL VALUE)


EX-OR PROGRAM:

Addres Label Opcode Mnemonics Comments


s
9000 74 01 MOV A,#01 INPUT 01 MOVES TO THE ACC

9002 78 55 MOV R0,#55 INPUT 55 MOVES TO THE R0 REG


9004 68 XRL A,R0 LOGICAL X-OR OPERATION
9005 F9 MOV R1,A ACC MOVES TO THE R1 REG
9006 12 00 BB LCALL 00BB BREAKPOINT

EX-OR OPERATION:

DATA 1: 01 0000 0001 (BINARY VALUE FOR 01)


DATA 2: 55 0101 0101 (BINARY VALUE FOR 55)

0101 0100 =54 (DECIMAL VALUE)

You might also like