You are on page 1of 3

BCD addition

MVI C 00h
LHLD 8500h
XCHG
LHLD 8502h
MOV A E
ADD L
DAA
JNC LOOP1
INR D
LOOP1: STA 8600h
MOV A D
ADD H
DAA
JNC LOOP2
INR C
LOOP2: STA 8601h
MOV A C
STA 8602h
HLT

subtraction of 16 bit numbers

MVI C 00h
LHLD 8500h
XCHG
LHLD 8502h
MOV A E
SUB L
JNC LOOP1
DCR D
LOOP1: STA 8504h
MOV A D
SUB H
JNC LOOP2
INR C
LOOP2: STA 8505h
MOV A C
STA 8506h
HLT

Sorting of arrays in ascending order

MVI C 00h
LHLD 8500h
XCHG
LHLD 8502h
MOV A E
SUB L
JNC LOOP1
DCR D
LOOP1: STA 8504h
MOV A D
SUB H
JNC LOOP2
INR C
LOOP2: STA 8505h
MOV A C
STA 8505h
MOV A C
STA 8506h
HLT

Multiplication of 2 digit BCD

MVI C 08
MVI D 04
XRA A
MOV B A
LOOP: ADD C
DAA
JNC NEXT
INR B
NEXT: DCR D
JNZ LOOP
STA 8600h
MOV A B
STA 8601h
HLT

PART B

6)

LDA 8500h
MOV B A
LDA 8501h
RLC
RLC
RLC
RLC
ADD B
STA 8600h
HLT

8)

LXI H 8200h
MOV A M
ANI FFh
JZ ZERO
JM NEGATIVE
JP POSITIVE
ZERO: MVI A 00h
JMP LOOP
NEGATIVE: MVI A FFh
JMP LOOP
POSITIVE: MVI A 01h
LOOP: STA 8201h
HLT

9)

STC
CMC
LDA 2050h
MOV B A
RAR
XRA B
STA 3050h
HLT

10)

LDA 2050h
ANI 01h
JZ LOOP1
MVI A 11h
JMP LOOP2
LOOP1: MVI A 22h
LOOP2: STA 3050h
HLT

You might also like