You are on page 1of 3

Store 8-bit data in memory Subtract two 8-bit numbers Find 1’s complement Right shift within 8bit

t shift within 8bit Reg


MVI A, 52H LXI H, 2000H LDA 2200H MOV A, C
STA 2000H MOV A, M CMA RAR
HLT INX H STA 2300H RAR
SUB M HLT RAR
LXI H, 2000H INX H RAR
MVI M, 52H MOV M, A Find 2’s complement MOV C, A
HLT HLT LDA 2200H HLT
CMA
Exchange 8bit numbers Add two 16-bit numbers ADI 01H Right shift within 16bit Reg
LDA 2050H LHLD 2000H STA 2300H MOV A,B
MOV B, A XCHG HLT RAR
LDA 2051H LHLD 2002H MOV B, A
STA 2051H MOV A, E Pack 2 unpacked BCD number MOV A, C
MOV B, A ADD L 2200H = 04, 2201 = 09 RAR
STA 2052H MOV L, A LDA 2201H MOV C, A
HLT MOV A, D RLC HLT
ADC H RLC
Exchange 16 bit numbers MOV H, A RLC Find 2’s complement of 16bit
MOV H, B SHLD 2004H RLC LDA 2200H
MOV L, C HLT ANI F0H CMA
MOV B, D MOV C, A ADI 01H
MOV C, E LHLD 2000H LDA 2200H STA 4000H
MOV D, H XCHG ADD C LDA 2201H
MOV E, L LHLD 2002H STA 2300H CMA
HLT DAD D ; Add DE & HL HLT ACI 00H
SHLD 2004H STA 4001H
MOV H, B HLT Unpack the BCD number HLT
MOV L, C LDA 2200H
XCHG Subtract two 16-bit numbers ANI F0H Sum of series of numbers
MOV B, H LHLD 2000H RRC LXI H, 2200H
MOV C, L XCHG RRC MOV C, M
HLT LHLD 2002H RRC INX H
MOV A, E RRC BACK : ADD M
Add two 8-bit numbers SUB L STA 2301H JNC SKIP
LXI H, 2000H MOV L, A LDA 2200H INR B
MOV A, M MOV A, D ANI 0FH SKIP : INX H
INX H SBB H STA 2201H DCR C
ADD M MOV H, A HLT JNZ BACK
INX H SHLD 2004H STA 2300H
MOV M, A HLT Leftshift 16bit within 16bit Rg MOV A, B
HLT DAD H STA 2301H
HLT
Data transfer Find the largest of given Sum of series of even nos Count times repeated : 02h
MVI C, 0AH LDA 2200H LDA 2200H LXI H, 2000H
LXI H, 2200H MOV C, A MOV C, A MVI B, 14H
LXI D, 2300H XRA A MVI B, 00H MVI C, 00H
BACK : MOV A, M LXI H, 2201H LXI H, 2201H BACK: MOV A, M
STAX D BACK: CMP M BACK: MOV A, M CPI 02H
INX H JNC SKIP ANI 01H JNZ NEXT
INX D MOV A, M JNZ SKIP INR C
DCR C SKIP: INX H MOV A, B NEXT: INX H
JNZ BACK DCR C ADD M DCR B
HLT JNZ BACK MOV B, A JNZ BACK
STA 2300H SKIP: INX H HLT
Multiply two 8-bit numbers HLT DCR C
MVI E, 03H JNZ BACK Separate EVEN & ODD
MVI C, B2H Arrange in ascending order STA 2201H LXI H 2000H
LOOP : ADD C MVI B, 09H HLT LXI D 2100H
JNC SKIP START: LXI H, 2200H LXI B 2200H
INR B MVI C, 09H Search a byte in given nums MVI A 0AH
SKIP : DCR E BACK: MOV A, M (Byte is in C register) COUNTER: STA 3000H
JNZ LOOP INX H LXI H, 2000H MOV A M
STA 0000H CMP M MVI B, 09H ANI 01H
MOV A, B JC SKIP; less no chng BACK: MOV A, M JNZ CARRY
STA 0001H (JNC SKIP - descend) CMP C MOV A M
HLT JZ SKIP; equal JZ LAST STAX B
MOV D, M INX H INX B
Find negative numbers MOV M, A DCR B JMP JUMP
LDA 2200H DCX H JNZ BACK CARRY: MOV A M ; This block
MOV C, A MOV M, D LXI H, 0000H will store Odd numbers.
MVI B, 00H INX H SHLD 2200H STAX D
LXI H, 2201H SKIP: DCR C JMP END INX D
BACK : MOV A, M JNZ BACK LAST: SHLD 2200H JUMP: LDA 3000H
ANI 80H DCR B END: HLT DCR A
JZ SKIP JNZ START Fibonacci INX H
INR B HLT MVI D, COUNT JNZ COUNTER
SKIP : INX H MVI B, 00H HLT
DCR C MVI C, 00H
JNZ BACK BACK: MOV A, B
MOV A, B ADD C
STA 2300H MOV B, C
HLT MOV C, A
DCR D
JNZ BACK
HLT
Pos, Neg, Zero count Binary to BCD
LXI H, 3000H LDA 2200H
MVI C, 0AH MOV B, A
MVI B, 00H ANI 0FH
MVI D, 00H MOV C, A
MVI E, 00H MOV A, B
ANI F0H
ZERO: MOV A, M RRC
CPI 00H RRC
JNZ NEXT RRC
INR B RRC
JMP LAST MOV B, A
XRA A
NEG: ANI 80H MVI D, 0AH
JZ POS SUM: ADD D
INR E DCR B
JMP LAST JNZ SUM
ADD C
POS: INR D STA 2300H
LAST: INX H HLT
DCR C
JNZ ZERO Binary to BCD

MOV A, D
STA 3050H
MOV E, A
STA 3051H
MOV A, B
STA 3052H
HLT

Delay of 0.4s , f = 5MHz


operating f = 5 / 2 = 2.5MHz
One T-state = 1/2.5 = 0.4μs
Required = 0.4 / 0.4μ = 106s
106 = 10 + (count - 1) 24 + 21
count = 41666 = A2C2H
LXI B, A2C2H
BACK: DCX B
MOV A, C
ORA B
JNZ BACK
HLT

You might also like