2
 Addition of two 8 bit numbers: MVI C 00h LDA 4000h MOV B A LDA 4001h ADD B JNC LABEL INR C LABEL: STA 4002h MOV A C STA 4003h RST 5 (or) HLT (OR) LXI H 4000h MOV A M INX H ADD M INX H MOV M A RST 5  Addition of two 16 bit numbers: MVI C 00h LHLD 4000h XCHG LHLD 4002h DAD D JNC LABEL INR C LABEL: SHLD 4004h MOV A C STA 400h HLT (OR) LXI H 4000h MOV A M INX H ADD M STA 4004h INX H MOV A M INX H ADC M STA 4005h MVI A 00h RAL STA 400h RST 5 Subtraction of two 8 bit numbers: MVI C 00h LDA 4001h MOV B A LDA 4000h S!B B JNC LABEL INR C CMA ADI 01h (or) INR A LABEL: STA 4002h MOV A C STA 4003h RST 5 (OR) LXI H 4000h MOV A M INX H S!B M INX H MOV M A RST 5 Subtraction of two 16bit numbers: MVI C 00h LHLD 4000h XCHG LHLD 4002h MOV A E S!B L STA 4004h MOV A D SBB H JNC LABEL INR C CMA INR A LABEL: STA 4005h MOV A C STA 400h HLT (OR) LXI H 4000h MOV A M INX H S!B M STA 4004h INX H MOV A M INX H SBB M STA 4005h MVI A 00h RAL STA 400h RST 5 Multiplication of two 8 bit numbers:

mc 8051 progrqams

Embed Size (px)

DESCRIPTION

microcontroller 8051 programs with descriptions of every command how they are being executed and also detailed with diagrams.

Citation preview

Addition of two 8 bit numbers:

MVI C 00h

LDA 4000h

MOV B A

LDA 4001h

ADD B

JNC LABEL

INR C

LABEL: STA 4002h

MOV A C

STA 4003h

RST 5 (or) HLT(OR)

LXI H 4000h

MOV A M

INX H

ADD M

INX H

MOV M A

RST 5

Addition of two 16 bit numbers:

MVI C 00h

LHLD 4000h

XCHG

LHLD 4002h

DAD D

JNC LABEL

INR C

LABEL: SHLD 4004h

MOV A CSTA 4006h

HLT

(OR)LXI H 4000h

MOV A M

INX H

ADD M

STA 4004h

INX H

MOV A M

INX H

ADC M

STA 4005h

MVI A 00h

RAL

STA 4006h

RST 5Subtraction of two 8 bit numbers:

MVI C 00h

LDA 4001h

MOV B A

LDA 4000h

SUB B

JNC LABEL

INR C

CMA

ADI 01h (or) INR ALABEL: STA 4002h

MOV A C

STA 4003h

RST 5

(OR)LXI H 4000h

MOV A M

INX H

SUB M

INX H

MOV M A

RST 5

Subtraction of two 16bit numbers:

MVI C 00h

LHLD 4000h

XCHG

LHLD 4002h

MOV A E

SUB L

STA 4004h

MOV A D

SBB H

JNC LABEL

INR C

CMA

INR A

LABEL: STA 4005h

MOV A C

STA 4006h

HLT(OR)LXI H 4000h

MOV A M

INX H

SUB M

STA 4004h

INX H

MOV A M

INX H

SBB M

STA 4005h

MVI A 00h

RAL

STA 4006h

RST 5Multiplication of two 8 bit numbers:Repetitive addition method:-

LDA 4000h

MOV E A

MVI D 00h

LDA 4001h

MOV C A

LXI H 0000h

LABEL: DAD D

DCR C

JNZ LABEL

SHLD 4002h

RST 5Rotation method:-LXI H 4000h

MOV E M

MVI D 00h

INX H

MOV A M

LXI H 0000h

MVI B 08h

LABEL1: DAD H

RAL

JNC LABEL2

DAD D

LABEL2: DCR B

JNZ LABEL1

SHLD 4002h

RST 5Sorting of n-numbers in ascending order:

LDA 4000h

MOV B A

DCR B

LOOP3: LXI H 4000h

MOV C M

DCR C

INX H

LOOP2: MOV A M

INX H

CMP M

JC LOOP1

MOV D M

MOV M A

DCX H

MOV M D

INX H

LOOP1: DCR C

JNZ LOOP2

DCR B

JNZ LOOP3

HLTDivision of two 8 bit numbers:

MVI C 00h

LDA 4000h

MOV B A

LDA 4001h

LABEL: CMP B

JC LABEL1

SUB B

INR C

JMP LABEL

LABEL1: STA 4002h

MOV A C

STA 4003h

RST 5Sorting of n-numbers in descending order:LDA 4000h

MOV B A

DCR B

LOOP3: LXI H 4000h

MOV C M

DCR C

INX H

LOOP2: MOV A M

INX H

CMP M

JNC LOOP1

MOV D M

MOV M A

DCX H

MOV M D

INX H

LOOP1: DCR C

JNZ LOOP2

DCR B

JNZ LOOP3

HLTA>B: CY=Clear, ZF=Clear( JNC, JNZ

A=B: ZF=Set

( JZ

A