Microprocessor

8-BIT ARITHMETIC OPERATIONS USING 8085 MICROPROCESSOR

CODING (ADDITION):
LDA 4500
MOV B,A
LDA 4501
ADD B
STA 4502
HLT

CODING (SUBTRACTION):
LDA 6263
MOV B,A
LDA 6264
SUB B
STA 6265
HLT.

CODING (MULTIPLICATION):
LDA 5000H
MOV B,A
LDA 5001H
MOV C,A
MVI A,00H
MVI D,00H
NEXT:ADD B
JNC LOOP
INR D
LOOP:DCR C
JNR NEXT
STA 6000H
MOV A,D
STA 6001H
HLT

CODING (DIVISION):
LDA 5000H
MOV B,A
LDA 5001H
MVI C,00H
CONTINUE:SUB B
JNC NEXT
ADD B
STA 5002H
JMP EXIT
NEXT:INR C
JMP CONTINUE
EXIT:MOV A,C
STA 5003H
HLT

16-BIT ARITHMETIC OPERATIONS USING 8085 MICROPROCESSOR

CODING (ADDITION):
LDA 4500H
MOV B,A
LDA 5500H
ADD B
STA 6500H
LDA 4501H
MOV B,A
LDA 5501H
ADC B
STA 6501H
HLT

CODING (SUBTRACTION):
LDA 4500H
MOV B,A
LDA 5500H
SUB B
STA 6500H
LDA 4501H
MOV B,A
LDA 5501H
SBB B
STA 6501H
HLT

MULTIBYTE ADDITION AND SUBTRACTION USING 8085 MICROPROCESSOR

CODING (ADDITION):
LDA 5600H
MOV C,A
LXI H,50000H
LXI D,5500H
LOOP:LDAX D
ADC M
MOV M,A
INX H
INX D
DCR D
JNZ LOOP
HLT

CODING (SUBTRACTION):
LDA 5800H
MOV C,A
LXI H,5100H
LXI D,5400H
LOOP:LDAX D
SBB M
MOV M,A
INX H
INX D
DCR D
JNZ LOOP
HLT


MAXIMUM AND MINIMUM USING 8085 MICROPROCESSOR

CODING (MAXIMUM NUMBER IN AN ARRAY):
LXI H,5500H
MOV C,M
INX H
MOV A,M
DCR C
LOOP: INX H
CMP M
JNC NEXT
MOV A,M
NEXT: DCR C
JNZ LOOP
STA 6000H
HLT

CODING (MINIMUM NUMBER IN AN ARRAY)
LX1 H,5500H
MOV C,M
INX H
MOV A,M
DCR C
LOOP:INX H
CMP M
JC NEXT
MOV A,M
NEXT:DCR C
JNZ LOOP
STA 6000H
HLT

SORTING AND SEARCHING USING 8085 MICROPROCESSOR

CODING (ASCENDING):
START: LX1 H,5000H
MVI D,00H
MVI C,04H
DCR C
CHECK:MOV A,M
INX H
CMP M
JC NEXT
MOV B,M
MOV M,A
DCX H
MOV M,B
INX H
MIV D,01H
NEXT: DCR C
JNZ CHECK
MOV A,D
RRC
JC START
HLT.

CODING (DESCENDING):
START: LX1 H,5000H
MVI D,00H
MVI C,04H
DCR C
CHECK:MOV A,M
INX H
CMP M
JNC NEXT
MOV B,M
MOV M,A
DCX H
MOV M,B
INX H
MIV D,01H
NEXT: DCR C
JNZ CHECK
MOV A,D
RRC
JC START
HLT

CODING (SEARCHING):
LDA 4500H
MVI D,00H
LXI H,5000H
MOV C,M
NEXT: INX H
INR D
CMP M
JZ EXIT
DCR C
JNZ MEXT
MVI D,00H
EXIT: MOV A,D
STA 6000H
HLT

CODE CONVERSION USING 8085 MICROPROCESSOR

CODING (BCD TO HEXADECIMAL):
LDA 5000H
MOV B,A
ANI F0H
RLC
RLC
RLC
RLC
MOV C,A
MVI A,00H
NEXT: ADI 0AH
DCR C
JNZ NEXT
MOV D,A
MOV A,B
ANI OFH
ADD D
STA 5001H
HLT

CODING (HEXADECIMAL TO BCD):
LDA 5000H
MVI C,00H
MOV B,C
NEXT:CPI 64H
JC LOOP1
INR B
SUI 64H
JMP NEXT
LOOP1:CPI 0AH
JC LOOP2
INR C
SUI 0AH
JMP LOOP1
LOOP2: MOV D,A
MOV A,C
RLC
RLC
RLC
RLC
ADD D
STA 6000H
MOV A,B
STA 6001H
HLT

CODING (BINARY TO ASCII):
LXI SP,6500H
LXI H,5200H
LXI D,6100H
MOV A,M
ANI FOH
RRC
RRC
RRC
RRC
CALL GETASCII
STAX D
MOV A,B
ANI OFH
CALL GETASCII
INX D
STAX D
HLT
GETASCII:CPI 0AH
JC NEXT
ADI 07H
NEXT:ADI 30H
RET

CODING (ASCII TO BINARY):
LDA 5000H
SUI 30H
CPI 0AH
JC EXIT
SUI 07H
EXIT:STA 6000H
HLT

ARITHMETIC OPERATIONS USING 8086 MICROPROCESSOR

CODING (ADDITION):
MOV AX,[3000]
ADD AX,[3002]
MOV [3004],AX
HLT.

CODING (SUBTRACTION):
MOV AX,[3000]
SUB AX,[3002]
MOV [3004],AX
HLT.

CODING (MULTIPLICATION):
MOV AX,[2000]
MOV BX,[2002]
MUL BX
MOV[2004],AX
MOV[2006],DX
HLT

CODING (DIVISION):
MOV AX,[2000]
MOV BX,[2002]
DIV BX
MOV[2004],AX
MOV[2006],DX
HLT.

MULTIBYTE ADDITION AND SUBTRACTION USING 8086 MICROPROCESSOR

CODING (ADDITION):
MOV SI,1100
MOV DI,2100
MOV CX,0003
CLC
L1:MOV AX,[SI]
MOV AX,[DI]
MOV[SI],AX
ADD SI,02
ADD DI,02
LOOP L1
HLT.

CODING (SUBTRACTION):
MOV SI,1100
MOV DI,2100
MOV CX,0003
CLC
L1:MOV AX,[SI]
SBB AX,[DI]
MOV[SI],AX
ADD SI,02
ADD DI,02
LOOP L1
HLT

SORTING AND SEARCHING USING 8086 MICROPROCESSOR

CODING (SORTING):
MOV CX,03H
DEC CX
L1:MOV DI,CX
MOV BX,2000
L2:MOV AX,[BX]
CMP AX,[BX+2]
JB REP
XCHG AX,[BX+2]
MOV [BX],AX
REP:ADD BX,0002H
LOOP L2
MOV CX,DI
LOOP L1
HLT

CODING (SEARCHING):
MOV AX,[1200]
MOV BX,1300
MOV CX,0005
L2:CMP AX,[BX]
JE L1
ADD BX,02
LOOP L2
MOV [1500],0000
JMP L3
L1:MOV[1500],BX
L3:HLT

MAXIMUM, MINIMUM &MATRIX MULTIPLICATION USING 8086 MICROPROCESSOR

CODING (MAXIMUM):
MOV AX,[5400]
MOV BX,5402
MOV CX,03
DEC CX
CONTINUE:CMP AX,[BX]
JNZ NEXT
MOV AX,[BX]
NEXT:ADD BX,02H
LOOP CONTINUE
MOV[5450],AX
HLT

CODING (MINIMUM):
MOV AX,[5400]
MOV BX,5402
MOV CX,03
DEC CX
CONTINUE:CMP AX,[BX]
JC NEXT
MOV AX,[BX]
NEXT:ADD BX,02H
LOOP CONTINUE
MOV[5450],AX
HLT

CODING (MATRIX MULTIPLICATIION):
MOV SI,1100
MOV DI,1200
MOV BP,1300
MOV CL,03H
L3:MOV CH,03H
L2:MOV DH,03H
MOV DL,00H
L1:MOV AL,[SI]
MOV BL,[DI]
MUL BL
ADD DL,AL
INC SI
ADD DI,03H
DEC DH
JNZ L1
MOV[BP],DL
INC BP
SUB SI,03H
SUB DI,08H
DEC CH
JNZ L2
ADD SI,03H
SUB DI,03H
DEC CL
JNZ L3
HLT

WAVEFORM GENERATION USING 8085

SQUARE WAVE
MVI A,80
OUT OF
LOOP:MVI A,FF
OUT OC
CALL DELAY
MVI A,00
OUT OC
CALL DELAY
JMP LOOP
HLT
DELAY:MVI A,19H
LOOP2:MVI B,09H
LOOP1:DCR B
JNZ LOOP1
DCR A
JNZ LOOP 2
RET

RECTANGULAR WAVE
MVI A,80
OUT OF
LOOP:MVI A,FF
OUT OC
CALL DELAY
MVI A,00
OUT OC
CALL DELAY 1
JMP LOOP
HLT
DELAY:MVI A,19H
LOOP2:MVI B,09H
LOOP1:DCR B
JNZ LOOP1
DCR A
JNZ LOOP 2
RET
DELAY1:MVI A,30
LOOP 2:MVI B,09H
LOOP 1:DCR B
JNZ LOOP1
DCR A
JNZ LOOP2
RET

ROLLING AND FLASHING DISPLAY USING 8279 INTERFACE

ROLLING DISPLAY
MVI A,10
OUT 01
MVI A,CD
OUT 01
MVI A,90
OUT 01
LOOP1:LXI H,5000
MVI C,0AH
LOOP:MOV A,M
OUT 00
CALL DELAY
INX H
DCR C
JNZ LOOP
JNZ LOOP1
HLT
DELAY:MVI D,FF
LOOP3:MVI B,FF
LOOP2:DCR B
JNZ LOOP2
DCR D
JNZ LOOP3
RET

FLASHING DISPLAY
MVI A,10
OUT 01H
MVI A,CD
OUT 01H
MVI A,90
OUT 01
LOOP1:LXI H,5000
MVI C,0A
LOOP:MOV A,M
OUT 00H
INX H
DCR C
JNZ LOOP
CALL DELAY
MVI A,CD
OUT 01
CALL DELAY
JMP LOOP1
HLT
DELAY:MVI D,FF
LOOP3:MVI B,FF
LOOP2:DCR B
JNZ LOOP2
DCR D
JNZ LOOP3
RET

BLOCK TRANSFER USING 8251 INTERFACE
MVI A,36
OUT 06
MVI A,0A
OUT 08
MVI A,00
OUT 08
LXI H,5000
LXI D,5500
MVI C,0A
MVI A,40
OUT 05
MVI A,CE
OUT 05
MVI A,37
OUT 05
LOOP1:IN O5
ANI 01
JZ LOOP
MOV A,M
OUT 04
LOOP1:IN 05
ANI 02
JZ LOOP1
IN 04
STAX D
INX H
INX D
DCR C
JNZ LOOP
RST 1
HLT


No comments:

Post a Comment