;ADD (A + B) LDA 2000H MOV B, A LDA 2001H ADD B STA 2002H HLT ;SUBTRACT (A - B) LDA 2000H MOV B, A LDA 2001H MOV C, A MOV A, B SUB C STA 2002H HLT ;ADD with CARRY LDA 2000H MOV B, A LDA 2001H ADD B MOV C, A MVI A, 00H ADC A STA 2003H ; carry MOV A, C STA 2002H ; result HLT ;LARGEST OF TWO NUMBERS LDA 2000H MOV B, A LDA 2001H CMP B JC L1 STA 2002H HLT L1: MOV A, B STA 2002H HLT ;MULTIPLICATION (Repeated Addition) LDA 2000H MOV B, A LDA 2001H MOV C, A MVI A, 00H L1: ADD B DCR C JNZ L1 STA 2002H HLT ;SQUARE LDA 2000H MOV B, A MOV C, A MVI A, 00H L1: ADD B DCR C JNZ L1 STA 2001H HLT ;LARGEST IN ARRAY (5 numbers) LXI H, 2001H MOV B, M MVI C, 04H L1: INX H MOV A, M CMP B JC L2 MOV B, A L2: DCR C JNZ L1 MOV A, B STA 2006H HLT ;SMALLEST IN ARRAY LXI H, 2001H MOV A, M MVI C, 04H L1: INX H CMP M JC L2 MOV A, M L2: DCR C JNZ L1 STA 2006H HLT ;SORT (Ascending) MVI C, 04H L1: LXI H, 2001H MVI B, 04H L2: MOV A, M INX H CMP M JC L3 MOV D, M MOV M, A DCX H MOV M, D INX H L3: DCR B JNZ L2 DCR C JNZ L1 HLT ;FACTORIAL (Working Code) LDA 2000H MOV B, A ; B = number MVI A, 01H ; A = result L1: MOV C, B ; C = counter MOV D, A ; D = temp result MVI A, 00H ; reset A L2: ADD D ; A = A + D DCR C JNZ L2 DCR B JNZ L1 STA 2001H HLT ;FIBONACCI SERIES MVI B, 00H MVI C, 01H LXI H, 2000H MOV M, B INX H MOV M, C MVI D, 08H L1: MOV A, B ADD C MOV B, C MOV C, A INX H MOV M, A DCR D JNZ L1 HLT ;SUM OF DIGITS(BCD ADDITION) MVI H, 20H MVI L, 50H MOV A, M MOV B, A ANI 0FH MOV C, A MOV A, B ANI F0H RRC RRC RRC RRC ADD C STA 3050H HLT