| ;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
|