ADD TWO 16 BIT NO 85
MVI A,00H
LHLD 2000H
XCHG
LHLD 2002H
STC
CMC
DAD D
JNC LOOP
INR A
LOOP: STA 2006H
SHLD 2004H
HLTInput: @ 2000 (lsb1) 2001h (msb1) 2002h (lsb2) 2003h (msb2)
output: 2004 (lsb) 2005 (msb) 2006 (carry)
SUB TWO 16 BIT NO 85
LHLD 2000H
XCHG
LHLD 2002H
MOV A,E
SUB L
MOV L,A
MOV A,D
SBB H
MOV H,A
SHLD 2004H
MVI A,00H
JNC LOOP
INR A
LOOP: STA 2006H
HLTInput: @ 2000 (lsb1) 2001h (msb1) 2002h (lsb2) 2003h (msb2) {DATA1 - DATA2}
output: 2004 (lsb) 2005 (msb) 2006 (borrow)
UNPACKED TO PACKED 85
LXI H,2000H
MOV A,M
RRC
RRC
RRC
RRC
INX H
ADD M
INX H
MOV M,A
HLT
I/P: 2000H (MSB) 2001H(LSB)
O/P: 2003H
PACKED TO UNPACKED 85
LXI H,2000H
MOV A,M
MOV B,A
ANI 0F0H
RLC
RLC
RLC
RLC
INX H
MOV M,A
MOV A,B
ANI 0FH
INX H
MOV M,A
HLT
I/P: 2000H (DATA)
O/P: 2001H (MSB) 2002H (LSB)
BLOCK EXCHANGE 85
LXI H,2000H
LXI D,2101H
MOV C,M
INX H
LOOP: MOV B,M
LDAX D
MOV M,A
MOV A,B
STAX D
INX H
INX D
DCR C
JNZ LOOP
HLT
I/P: 2000H (SIZE OF BLOCK) 2001H - ------(BLOCK1)
2100H ------- (BLOCK2)
O/P: BLOCK2 = BLOCK1 & BLOCK1 = BLOCK2
BLOCK TRANSFER 85
LXI H,2000H
LXI D,2101H
MOV C,M
INX H
LOOP: MOV A,M
STAX D
INX H
INX D
DCR C
JNZ LOOP
HLT
I/P: 2000H (SIZE OF BLOCK) 2001H - ------(BLOCK1)
2100H ------- (BLOCK2)
O/P: BLOCK2 = BLOCK1
SMALLEST 85
LXI H,2000H
MOV C,M
INX H
DCR C
MOV A,M
LOOP: INX H
CMP M
JC LOOP1
MOV A,M
LOOP1: DCR C
JNZ LOOP
STA 2100H
HLT
I/P: 2000H(NO OF DATA TO BE EXAMINED) 2100H ------ (DATA)
O/P: 2100H (SMALLEST NO)
LARGEST NO 85
LXI H,2000H
MOV C,M
INX H
DCR C
MOV A,M
LOOP: INX H
CMP M
JNC LOOP1
MOV A,M
LOOP1: DCR C
JNZ LOOP
STA 2100H
HLT
I/P: 2000H(NO OF DATA TO BE EXAMINED) 2100H ------ (DATA)
O/P: 2100H (LARGEST NO)
ADD TWO 16 BIT 51
MOV R6,#00H
MOV A,R0
ADD A,R2
MOV R4,A
MOV A,R1
ADDC A,R3
JNC LOOP
INC R6
LOOP: MOV R5,A
Input: R0 (lsb1) R1 (msb1) R2 (lsb2) R3 (msb2)
output: R4 (lsb) R5 (msb) R6 (carry)
SUB TWO 16 BIT 51
CLR C
MOV R6,#00H
MOV A,R0
SUBB A,R2
MOV R4,A
MOV A,R1
SUBB A,R3
MOV R5,A
JNC LOOP
INC R6
LOOP: NOP
Input: R0 (lsb1) R1 (msb1) R2 (lsb2) R3 (msb2)
output: R4 (lsb) R5 (msb) R6 (borrow) (data1 - data2)
UNPACK TO PACK 51
MOV A,R0
SWAP A
ADD A,R1
MOV P0,A
END
I/P : R0(MSB) R1(LSB)
O/P : P0
ASCENDING 51
MOV R0,#08H
MOV A,@R0
DEC A
MOV R1,A
MOV R2,A
MOV R3,A
MAIN: INC R0
BACK: MOV B,@R0
INC R0
MOV A,@R0
CJNE A,B,SKIP
SKIP: JNC LOOP
MOV @R0,B
DEC R0
MOV @R0,A
INC R0
LOOP: DJNZ R3,BACK
MOV 03,02
MOV R0,#08H
DJNZ R1,MAIN
END
I/P: @08 (COUNT) 09----DATA
O/P: 09------
DESCENDING 51
MOV R0,#08H
MOV A,@R0
DEC A
MOV R1,A
MOV R2,A
MOV R3,A
MAIN: INC R0
BACK: MOV B,@R0
INC R0
MOV A,@R0
CJNE A,B,SKIP
SKIP: JC LOOP
MOV @R0,B
DEC R0
MOV @R0,A
INC R0
LOOP: DJNZ R3,BACK
MOV 03,02
MOV R0,#08H
DJNZ
R1,MAIN
END
I/P: @08 (COUNT) 09----DATA
O/P: 09------
PACK TO UNPACK
MOV A,P0
ANL A,#0F0H
SWAP A
MOV P1,A
MOV A,R0
ANL A,#0FH
MOV P2,A
END
I/P: RO(DATA)
O/P: P1(MSB) P2(LSB)
MVI A,00H
LHLD 2000H
XCHG
LHLD 2002H
STC
CMC
DAD D
JNC LOOP
INR A
LOOP: STA 2006H
SHLD 2004H
HLTInput: @ 2000 (lsb1) 2001h (msb1) 2002h (lsb2) 2003h (msb2)
output: 2004 (lsb) 2005 (msb) 2006 (carry)
SUB TWO 16 BIT NO 85
LHLD 2000H
XCHG
LHLD 2002H
MOV A,E
SUB L
MOV L,A
MOV A,D
SBB H
MOV H,A
SHLD 2004H
MVI A,00H
JNC LOOP
INR A
LOOP: STA 2006H
HLTInput: @ 2000 (lsb1) 2001h (msb1) 2002h (lsb2) 2003h (msb2) {DATA1 - DATA2}
output: 2004 (lsb) 2005 (msb) 2006 (borrow)
UNPACKED TO PACKED 85
LXI H,2000H
MOV A,M
RRC
RRC
RRC
RRC
INX H
ADD M
INX H
MOV M,A
HLT
I/P: 2000H (MSB) 2001H(LSB)
O/P: 2003H
PACKED TO UNPACKED 85
LXI H,2000H
MOV A,M
MOV B,A
ANI 0F0H
RLC
RLC
RLC
RLC
INX H
MOV M,A
MOV A,B
ANI 0FH
INX H
MOV M,A
HLT
I/P: 2000H (DATA)
O/P: 2001H (MSB) 2002H (LSB)
BLOCK EXCHANGE 85
LXI H,2000H
LXI D,2101H
MOV C,M
INX H
LOOP: MOV B,M
LDAX D
MOV M,A
MOV A,B
STAX D
INX H
INX D
DCR C
JNZ LOOP
HLT
I/P: 2000H (SIZE OF BLOCK) 2001H - ------(BLOCK1)
2100H ------- (BLOCK2)
O/P: BLOCK2 = BLOCK1 & BLOCK1 = BLOCK2
BLOCK TRANSFER 85
LXI H,2000H
LXI D,2101H
MOV C,M
INX H
LOOP: MOV A,M
STAX D
INX H
INX D
DCR C
JNZ LOOP
HLT
I/P: 2000H (SIZE OF BLOCK) 2001H - ------(BLOCK1)
2100H ------- (BLOCK2)
O/P: BLOCK2 = BLOCK1
SMALLEST 85
LXI H,2000H
MOV C,M
INX H
DCR C
MOV A,M
LOOP: INX H
CMP M
JC LOOP1
MOV A,M
LOOP1: DCR C
JNZ LOOP
STA 2100H
HLT
I/P: 2000H(NO OF DATA TO BE EXAMINED) 2100H ------ (DATA)
O/P: 2100H (SMALLEST NO)
LARGEST NO 85
LXI H,2000H
MOV C,M
INX H
DCR C
MOV A,M
LOOP: INX H
CMP M
JNC LOOP1
MOV A,M
LOOP1: DCR C
JNZ LOOP
STA 2100H
HLT
I/P: 2000H(NO OF DATA TO BE EXAMINED) 2100H ------ (DATA)
O/P: 2100H (LARGEST NO)
ADD TWO 16 BIT 51
MOV R6,#00H
MOV A,R0
ADD A,R2
MOV R4,A
MOV A,R1
ADDC A,R3
JNC LOOP
INC R6
LOOP: MOV R5,A
Input: R0 (lsb1) R1 (msb1) R2 (lsb2) R3 (msb2)
output: R4 (lsb) R5 (msb) R6 (carry)
SUB TWO 16 BIT 51
CLR C
MOV R6,#00H
MOV A,R0
SUBB A,R2
MOV R4,A
MOV A,R1
SUBB A,R3
MOV R5,A
JNC LOOP
INC R6
LOOP: NOP
Input: R0 (lsb1) R1 (msb1) R2 (lsb2) R3 (msb2)
output: R4 (lsb) R5 (msb) R6 (borrow) (data1 - data2)
UNPACK TO PACK 51
MOV A,R0
SWAP A
ADD A,R1
MOV P0,A
END
I/P : R0(MSB) R1(LSB)
O/P : P0
ASCENDING 51
MOV R0,#08H
MOV A,@R0
DEC A
MOV R1,A
MOV R2,A
MOV R3,A
MAIN: INC R0
BACK: MOV B,@R0
INC R0
MOV A,@R0
CJNE A,B,SKIP
SKIP: JNC LOOP
MOV @R0,B
DEC R0
MOV @R0,A
INC R0
LOOP: DJNZ R3,BACK
MOV 03,02
MOV R0,#08H
DJNZ R1,MAIN
END
I/P: @08 (COUNT) 09----DATA
O/P: 09------
DESCENDING 51
MOV R0,#08H
MOV A,@R0
DEC A
MOV R1,A
MOV R2,A
MOV R3,A
MAIN: INC R0
BACK: MOV B,@R0
INC R0
MOV A,@R0
CJNE A,B,SKIP
SKIP: JC LOOP
MOV @R0,B
DEC R0
MOV @R0,A
INC R0
LOOP: DJNZ R3,BACK
MOV 03,02
MOV R0,#08H
DJNZ
R1,MAIN
END
I/P: @08 (COUNT) 09----DATA
O/P: 09------
PACK TO UNPACK
MOV A,P0
ANL A,#0F0H
SWAP A
MOV P1,A
MOV A,R0
ANL A,#0FH
MOV P2,A
END
I/P: RO(DATA)
O/P: P1(MSB) P2(LSB)