You are on page 1of 47

EC2308 MICROPROCESSOR AND MICROCONTROLLER LAB

Ex. No: 1 16 BIT ARITHMETIC OPERATIONS


a) ADDITION
ALGORITHM:
I. Initialize the SI register to in!t "ata #e#or$ lo%ation
II. Initialize the DI register to o!t!t "ata #e#or$ lo%ation
III. Initialize the &L register to zero 'or %arr$
I(. Get the 1
st
"ata into a%%!#!lator.
(. A"" the a%%!#!lator )ith *
n"
"ata
(I. &he%+ the %arr$ 'lag, i' not s+i next line
(II. In%re#ent %arr$-&L Reg)
(III. Mo.e the res!lt 'ro# a%%!#!lator to #e#or$.
I/. Also store %arr$ register
/. Halt
0rogra#:
Address Label Mne!n"#s Ma#$"ne C!de C!en%s
STORE&
MO' SI( 2000H
MO' DI( 3000H
MO' CL( 00H
MO' A)( *SI+
ADD A)( *SI,2+
-NC STORE
INC CL
MO' *DI+( A)
MO' *DI,2+( CL
INT 3
O1T01T (ERI2IA&TION:
IN01T DATA 1 DATA * DATA *
*333H 45
*331H 1*
*33*H 67
*334H 89
O1T01T
4333H A&
4331H 97
433*H 33
:) S1;TRA&TION
ALGORITHM:
I. Initialize the SI register to in!t "ata #e#or$ lo%ation
II. Initialize the DI register to o!t!t "ata #e#or$ lo%ation
III. Initialize the &L register to zero 'or :orro)
I(. Get the 1
st
"ata into a%%!#!lator.
(. S!:tra%t the a%%!#!lator )ith *
n"
"ata
(I. &he%+ the %arr$ 'lag, i' not set s+i next line
(II. In%re#ent %arr$-&L Reg)
(III. *<s &o#li#ent A%%!#alator
I/. Mo.e the res!lt 'ro# a%%!#!lator to #e#or$.
/. Also store %arr$ register
/I. Halt
0rogra#:
Address Label Mne!n"#s Ma#$"ne C!de C!en%s
STORE&
MO' SI( 2000H
MO' DI( 3000H
MO' CL( 00H
MO' A)( *SI+
S.B A)( *SI,2+
-NC STORE
INC CL
NE/ A)
MO' *DI+( A)
MO' *DI,2+( CL
INT 3
O1T01T (ERI2IA&TION:
IN01T DATA 1 DATA * DATA *
*333H 77
*331H 55
*33*H 44
*334H **
O1T01T
4333H 88
4331H **
433*H 33
&) M1LTI0LI&ATION
ALGORITHM:
I. GET M1LTI0LIER INTO A&&1M1LATOR 2ROM MEMOR=
II. GET M1LTI0LI&AND INTO ;/ REGISTER
III. M1LTI0L= A/ AND ;/
I(. STORE LO>ER ORDER >ORD 2ORM A&&1M1LATOR INTO MEMOR=
(. STORE HIGHER ORDER >ORD 2ROM D/ INTO MEMOR=
(I. HALT
0rogra#:
Address Label Mne!n"#s Ma#$"ne C!de C!en%s
MO' A)( *2000H+
MO' B)( *2002H+
M.L B)
MO' *3000+( A)
MO' *3002+( D)
INT 3
O1T01T (ERI2IA&TION:
IN01T DATA 1 DATA * DATA *
*333H 3A
*331H 33
*33*H 3A
*334H 33
O1T01T
4333H 95
4331H 33
433*H 33
4334H 33
D)DI(ISION
I. GET DI(IDEND INTO A&&1M1LATOR 2ROM MEMOR=
II. GET DI(ISOR INTO ;/ REGISTER
III. DI(IDE A/ ;= ;/
I(. STORE ?1OTIENT 2ORM A&&1M1LATOR INTO MEMOR=
(. STORE REMAINDER 2ROM D/ INTO MEMOR=
(I. HALT
0rogra#:
Address Label Mne!n"#s Ma#$"ne C!de C!en%s
MO' A)( *2000H+
MO' B)( *2002H+
DI' B)
MO' *3000+( A)
MO' *3002+( D)
INT 3
O1T01T (ERI2IA&TION:
IN01T DATA 1 DATA * DATA *
*333H 97
*331H 33
*33*H 3A
*334H 33
O1T01T
4333H 3A
4331H 33
433*H 35
4334H 33
Ex.No: * Sear%hing @ Sorting
a) LargestAS#allest No. in an arra$
Algorith#:
i. Loa" starting a""ress o' arra$ in to SI reg.
ii. Loa" length o' arra$ in &L reg.
iii. Get the 1
st
ele#ent into A%%!#!lator
i.. 1"ate SI an" &L registers
.. &o#are A%%!#!lator )ith next ele#ent
.i. &he%+ %arr$ 'lag, i' not set s+i next line
.ii. S)a a%%!#!lator )ith SI reg.
.iii. De%re#ent %o!nter
ix. I' not zero, goto ste i..
x. Else, store res!lt.
xi. Halt
0rogra#:
Address Label Mne!n"#s Ma#$"ne C!de C!en%s
NEXT&
MO' SI( 2000H
MO' DI( 3000H
MO' CL( *SI+
INC SI
MO' AL( *SI+
SKIP&
DEC CL
INC SI
CMP AL( *SI+
-NB SKIP0 -B SKIP
MO' AL( *SI+
DEC CL
-N1 NEXT
MO' *DI+( AL
INT 3
O1T01T (ERI2IA&TION:
IN01T DATA 1 DATA * DATA *
*333H-&O1NT) 38
*331H AA
*33*H ;;
*334H &&
*335H 88
*338H 66
O1T01T
4333H LARGEST : &&
SMALLEST: 88
:) To Sear%h 'or a B2TE "n an arra$.
Algorith#:
i. Loa" starting a""ress o' arra$ in to SI reg. an" initialize DI reg 'or res!lt.
ii. Loa" the b3%e to :e sear%he" in DL reg. @ initialize ;H reg 'or osition as 31
iii. Get the 1
st
ele#ent into A%%!#!lator
i.. AGAIN : &o#are A%%!#!lator )ith DL reg
.. &he%+ zero 'lag, i' set goto A(AIL
.i. 1"ate SI an" In%re#ent ;L
.ii. Get next ele#ent into A%%!#!lator an" %o#are )ith EOA
.iii. I' not zero, goto AGAIN.
ix. Initialize &/ reg to zero
x. Store res!lt 'or Not A.aila:le an" goto END
xi. A(AIL: Get )or" 'or a.aila:le in to ;L reg.
xii. Store osition, a""ress an" stat!s o' sera%h.
xiii. END: Halt
0rogra#:
Address Label Mne!n"#s Ma#$"ne C!de C!en%s
A/AIN&
MO' SI( 2000H
MO' DI( 3000H
MO' DL( *DI+
MO' BH( 01
MO' AL( *SI+
CMP AL( DL
-1 AVAIL
INC SI
INC BL
MO' AL( *SI+
CMP AL( E0
NOTA'L
A'AIL&
END&
-N1 AGAIN
MO' C)( 0000H
MO' *DI,1+( C)
MO' *DI,3+( C)
-MP END
MO' BL( 44
MO' *DI,1+( B)
MO' *DI,3+( SI
INT 3
O1T01T (ERI2IA&TION:
IN01T DATA 1 DATA * DATA *
4333H-;=TE) 05
*333H AA
*331H ;;
*33*H &&
*334H 88
*335H 66
B B
B B
B B
B B
*317H 38
B B
B B
B B
*34*H EO
O1T01T
4333H 38
4331H 22
433*H 1C
4334H 17
4335H *3
%) As%en"ingADes%en"ing or"er
Algorith#:
i. Loa" SI reg )ith ointer to arra$
ii. Loa" arra$ length to &L @ &H 'or t)o %o!nters -&L 'or reetitions @ &H 'or %o#arisons)
iii. RE0EAT : Get an ele#ent into a%%!#!lator
i.. NE/T: &o#are )ith next ele#ent
.. &he%+ %arr$ 'lag, i' set goto SDI0
.i. S)a ele#ents o' arra$
.ii. SDI0: De%re#ent &H an" i' not zero go to NE/T
.iii. De%re#ent &L , i' not zero go to RE0EAT
ix. Halt
0rogra#:
Address Label Mne!n"#s Ma#$"ne C!de C!en%s
REPEAT&
NE)T&
S6IP&
MO' SI( 1500H
MO' CL( *SI+
DEC CL
MO' SI( 1500H
MO' CH( *SI+
DEC CH
INC SI
MO' AL( *SI+
INC SI
CMP AL( *SI+
-C SKIP/JNC SKIP
)CH/ AL( *SI+
)CH/ AL( *SI 7 1+
DEC CH
-N1 NEXT
DEC CL
-N1 REPEAT
INT 3
O1T01T (ERI2IA&TION:
IN01T DATA 1 DATA * DATA *
1833-&O1NT) 08
1831 AA
183* ;;
1834 &&
1835 88
1838 66
1839 11
1836 CC
O1T01T
1831 11
183* 88
1834 66
1835 CC
1838 AA
1839 ;;
1836 &&
E/.NO: 4 STRING MAN101LATION
a9 Bl!#: Trans;er
Algorith#:
i. Initialize DS @ ES registers
ii. Loa" so!r%e an" "estination lo%ations to in"ex regs.
iii. Loa" :lo%+ size in %o!nter reg.
i.. &lear Dire%tion 'lag 'or A!toE in%re#enting #o"e
.. &o$ %ontents 'ro# so!r%e to "estination a""ress !ntil %o!nter :e%o#es zero.
.i. Halt.
Pr!<ra&
Address Label Mne!n"#s Ma#$"ne C!de C!en%s
TRANSFER
:
MO' A)( 0000H
MO' DS( A)
MO' ES( A)
MO' SI( 2001H
MO' DI( 3000H
MO' C) (*2000H+
CLD
MO'SB
LOOP TRANSFER
INT 3
O1T01T (ERI2IA&TION:
IN01T DATA 1 DATA * DATA *
*333H -;lo%+
Size)
38
*331H 1*
*33*H 45
*334H 89
*335H 67
*338H CA
O1T01T
4333H 1*
4331H 45
433*H 89
4334H 67
4335H CA
b9 Table sear#$
Algorith#:
i. Initialize ;/ reg )ith ta:le size
ii. Get a""ress o' ta:le an" s$#:ol in DI @ SI reg.
iii. &lear "ire%tion 'lag.
i.. Loa" %o!nter )ith 37-length)
.. &o#are :$tes i' s!%%ess'!l goto 2O1ND
.i. 0oint to the next s$#:ol
.ii. De%re#ent ;/, i' not zero reeat the stes
.iii. Sho) not 'o!n"
ix. 2O1ND: Sho) 'o!n" stat!s.
x. Halt
Pr!<ra&
Address Label Mne!n"#s Ma#$"ne C!de C!en%s
LOOP1
NOT4O.ND&
4O.ND&
END:
MO' B)( Table S"=e
LES DI( *3000H+
MO' D)( DI
LDS SI( *2000H+
CLD
MO' C) ( 08
REPE CMPSB
-E 4O.ND
ADD D)( 0020H
MO' DI( D)
MO' SI( *SI,8+
DEC B)
-NE LOOP1
MO' AL( 00H
MO' *3000H+( AL
-MP END
MO' AH( 44H
MO' *3000H+( AH
INT 3
O1T01T (ERI2IA&TION:
IN01T
4333H 33
4331H 43
433*H 33
4334 33
*333H 33
*331H 1*
*33*H 33
*334H 33
N!%e& T$e %able $as %! be l!aded ;r! e!r3 l!#a%"!n 3000H > %$e sear#$ s%r"n< "n 1200H?
Table s"=e #an be an3 16 b"% n@ber
#9 C!de C!nAers"!n
Algorith#
i. Initialize ;/ reg )ith a""ress o' translation ta:le
ii. Loa" so!r%e an" "estination a""ress in SI @ DI reg.
iii. &lear "ire%tion 'lag
i.. Loa" %o!nter )ith length
.. Get 'irst ele#ent into AL , %he%+ )hether the in!t is .ali"
.i. I' in.ali" go to en"
.ii. Else translate %o"e 'ro# ta:le
.iii. Store %o"e
ix. Loo !ntil %o!nter :e%o#es zero
x. Halt
Pr!<ra&
Address Label Mne!n"#s Ma#$"ne C!de C!en%s
CONVERT
&
INVALID:
MO' B)( 1200H
MO' SI( 2000H
MO' DI( 3000H
CLD
MO' C) ( Len<%$
LODSB
CMP AL( 0BH
-A INVALID
)LAT
STOSB
LOOP CONVERT
INT 3
MO' AL( 00
MO' *DI+( AL
INT 3
O1T01T (ERI2IA&TION:
IN01T DATA 1 DATA * DATA *
*333H
-DE&IMAL
DIGIT)
34
*331 38
O1T01T
4333H 52
4331H 9D
&ON(ERSION TA;LE: LOAD 4ROM Me!r3 Address& 1200H
BCD
d"<"%
0 1 2 3 C 5 6 8 8 B
8
se<en%
#!de
34 06 5B C4 66 6D 8D 08 84 64
d9 4"nd > ReDla#e
Algorith#:
i. Initialize DS @ ES registers
ii. Loa" "estination in"ex regs. >ith a""ress o' string
iii. Loa" %o!nter reg.
i.. Loa" AL )ith the string to :e 'o!n"
.. &lear Dire%tion 'lag 'or A!toE in%re#enting #o"e
.i. S%an 'or the string
.ii. I' 'o!n" rela%e )ith the other string in AH
.iii. &ontin!e !ntil %o!nter %leare"
ix. Halt
Pr!<ra&
Address Label Mne!n"#s Ma#$"ne C!de C!en%s
LOOP1:
DONE:
MO' A)( 0000H
MO' DS( A)
MO' ES( A)
MO' AL( *2001H+
MO' DI( 3000H
MO' C) (*2000H+
CLD
REPN1 SCASB
-N1 DONE
MO' AH( *2002H+
MO' *DI 1+( AH
-MP LOOP1
INT 3
O1T01T (ERI2IA&TION:
IN01T DATA 1 DATA * DATA *
*333H
-&O1NT)
38
*331H &&
*33*H AA
4333H 11
4331H &&
433*H **
4334H &&
4335H 44
O1T01T
4333H 11
4331H AA
433*H **
4334H AA
4335H 44
EE?N!& C ADC > DAC
a9 DAC In%er;a#"n<
SF@are GaAe&
i. Initialize 7*88 :$ sen"ing &ontrol >or" to &ontrol Reg.
ii. Get FHighG into a%%!#!latorH sen" to DA& thro!gh o!t!t ort
iii. &all "ela$ s!: ro!tine
i.. Get FLo)G into a%%!#!latorH sen" to DA& thro!gh o!t!t ort
.. &ontin!e %$%le
Pr!<ra&
Address Label Mne!n"#s Ma#$"ne C!de C!en%s
START:
DELAY:
CONT:
MO( D/,2289H
MO( AL,73H
O1T D/,AL
MO( D/,228*H
MO( AL,22H
O1T D/,AL
&ALL DELAY
MO( AL,33H
O1T D/,AL
&ALL DELAY
IM0 START
MO( &/,3622H
NO0
NO0
DE& &/
INJ CONT
RET
7*88 &ontrol Reg a""ress
&ontrol )or" to !t orts as o!t!t orts
Sen" to %ontrol reg
0ort ; a""ress
BHigh< into a%%.
Sen" to DA& thro!gh o!t!t ort
&all "ela$ ro!tine
BLo)< .al!e into a%%.
Sen" to DA& thro!gh o!t!t ort
&all "ela$ ro!tine
&ontin!e %$%le
Dela$ %o!nt
>ait state
De%re#ent %o!nt
I' not zero %ontin!e
Else ret!rn to #ain rogra#
O1T01T (ERI2I&ATION: -0lot the >a.e 'or# in Grah.)
&o!nt .al!e A#lit!"e -() Ti#e erio" -#s)
36HH * ( 3.5 #s
S%a"r #ase GaAe&
Pr!<ra&
Address Label Mne!n"#s Ma#$"ne C!de C!en%s
START:
DELA=:
MO( D/, 2289H
MO( AL,73H
O1T D/,AL
MO( D/, 228*H
MO( AL, 33H
O1T D/, AL
&ALL DELA=
ADD AL, 88H
O1T D/, AL
&ALL DELA=
ADD AL, 88H
O1T D/, AL
&ALL DELA=
ADD AL, 88H
O1T D/, AL
&ALL DELA=
&ALL DELA=
S1; AL, 88H
O1T D/, AL
&ALL DELA=
S1; AL, 88H
O1T D/, AL
&ALL DELA=
S1; AL, 88H
O1T D/, AL
&ALL DELA=
IM0 START
MO( &/, 3A22H
&ONT: NO0
NO0
DE& &/
INJ &ONT
RET
b9 ADC
Algorith#:
i. Initialize 7*88 :$ sen"ing %ontrol )or" to %ontrol reg.
ii. Initialize #eas!re#ent an" get in!t to AD&
iii. &lose #eas!re#ent.
i.. &all "ela$.
.. Rea" the "igital o!t!t
.i. Halt
0ro%e"!re:
i. &onne%t AD& inter'a%ing Dit )ith (IDE79 Dit thro!gh :!s
ii. &onne%t o)er s!l$ to AD& +it
iii. Loa" rogra#
i.. Set in!t .oltage :$ A"K!sting 0OT resister in AD& Dit an" #eas!re !sing M!lti#eter.
.. Exe%!te rogra# an" rea" the "igital o!t!t 'ro# the (ID L 79 +it.
Pr!<ra&
Address Label Mne!n"#s Ma#$"ne C!de C!en%s
DELA=:
&ONT:
MO( D/, 2289H
MO( AL, C3H
O1T D/, AL
MO( D/, 2285H
MO( AL, 22H
O1T D/, AL
MO( AL, 33
O1T D/, AL
MO( AL, 22H
O1T D/, AL
&ALL DELA=
&ALL DELA=
MO( D/, 2283H
IN AL, D/
INT 4
MO( &/, 3222H
NO0
NO0
DE& &/
INJ &ONT
RET
7*88 &ontrol reg a""ress
&ontrol >or" 'or initializing orts as IA0
orts
Sen" to %ontrol reg
0ort & a""ress
Disa:le signal 'or AD&
Sen" to AD& ort
SO& signal 'or AD&
Sen" to AD& ort
&lose #eas!re#ent signal
Sen" to AD&
&all "ela$ ro!tine
0ort A a""ress
Rea" 0ort A )hi%h has O!t!t o' AD&
;rea+ oint
Dela$ %o!nt
>ait state
De%re#ent %o!nt
I' not zero %ontin!e
Else ret!rn to #ain rogra#

O1T01T (ERI2I&ATION:
Analog In!t -() Digital O!t!t
8 ( 22H
*.8 ( 6AH
Ex. No: 8 0ARALLEL &OMM1NI&ATION
Trans"%%er&
Algorith#:
i. Initialize the 7*88 )ith o!t!t orts :$ sen"ing %ontrol )or"
ii. Sen" the F%lear F signal to re%ei.er
iii. Get the B;$te< to :e trans#itte" into A%%!#!lator
i.. Sen" it to o!t!t ort
.. Sen" the FEna:le F signal an" %lose %o##!ni%ation
.i. Halt
0rogra#:
Address Label Mne!n"#s Ma#$"ne C!de C!en%s
MO' D)( 4426H
MO' AL(82H
O.T D)(AL
MO' D)( 442CH
MO' AL(00H
O.T D)(AL
MO' D)( 4420H
MO' AL(55HHB3%e9
O.T D)(AL
MO' D)( 442CH
MO' AL( 44H
O.T D)(AL
INT 3
7*88 &ontrol Reg
&ontrol >or" 'or Initializing
orts as OA0
Loa" %ontrol )or"
0ort & 'or F &learG signal
&lear signal
Sen" %lear signal
0ort A O!t!t ort 'or
trans#itting ;$te
88H :$te to :e trans#itte"
Trans#it :$te
0ort & 'orG Ena:leG signal
Ena:le signal
Sen" Ena:le signal
;rea+ oint
Re#e"Aer&
Algorith#:
i. Initialize 7*88 )ith in!t orts :$ setting %ontrol reg.
ii. Rea" @ &he%+ 'or F&lear F signal 'ro# Trans#itter
iii. &he%+ an" )ait 'or F Ena:leG signal
i.. Rea" in!t ort
.. Sho) the "ata
.i. Halt
0rogra#:
Address Label Mne!n"#s Ma#$"ne C!de C!en%s
CHECK:
MO' D)(4426H
MO' AL(BBH
O.T D)(AL
MO' D)(442CH
IN AL(D)
-1 CHECK
MO' D)(4420H
IN AL(D)
INT 3H
&ontrol Reg. o' 7*88
&ontrol )or" 'or initializing orts as
IA0
0ort & 'or FEna:le F signal
Rea" 0ort &
Go :a%+ an" )ait 'or F Ena:leG
0ort A in!t "ata
Rea" "ata 'or# trans#itter
;rea+ 0oint
0ro%e"!re:
i. &onne%t t)o (ID L 79 +its !sing "ata %a:le
ii. Loa" Trans#itter rogra# in One +it an" Re%ei.er in the other +it
iii. Exe%!te Re%ei.er an" then Trans#itter an" again Re%i.er.
i.. AL in Re%ei.er )ill sho) the B;$te< Trans#itte"
Ex.No: 9 INTER4ACIN/ 828B( 825B > 8253
828B&
6e3b!ard In%er;a#"n<&
Algorith#:
i. Initialize 7*6C )ith %ontrol )or" to "e'ine in 7 :it 7 %hara%ter "isla$
ii. Initialize %lo%+ re s%alar 'or 'reM!en%$ "i.ision
iii. Loa" "isla$ )rite inhi:it )or"
i.. Rea" 2I2O RAM stat!s i' e#t$ )ait
.. Else rea" Data %o"e 'ro# in!t ort an" s!ress !n)ante" :its-:6@:9)
.i. ;rea+ oint
Address Label Mne!n"#s Ma#$"ne C!de C!en%s
Ia"%&
MO' AL(12$
MO' D)(4452$
O.T D)(AL
MO' AL(3E$
O.T D)(AL
MO' AL(A0$
O.T D)(AL
IN AL(D)
AND AL(08$
-1 Ia"%
MO' D)(4450$
IN AL(D)
AND AL(34$
INT 3
&ontrol )or" to "e'ine 7*6C in 7
:it 7 %hara%ter "isla$
7*6C %ontrol ort
'or 'reM!en%$ "i.ision
"isla$A)rite inhi:it
rea" stat!s o' 7*6C
2I2O e#t$N
I' =es loo :a%+ to )ait
Data register
Rea" &o"e 'ro# "ata ort
S!ress :its 6@9
;rea+ oint
S%an %o"es 'or De$:oar":
R!G0C!l@n 1 2 3 C
1 2C 23 22 21
2 1# 1b 1a 1B
3 1C 13 12 10
C 0# 0b 0a 0B
Disla$ inter'a%ing:
Algorith#:
i. Initialize 7*6C )ith %ontrol )or" to "e'ine in 7 :it 7 %hara%ter "isla$
ii. Initialize %lo%+ re s%alar 'or 'reM!en%$ "i.ision
iii. Loa" "isla$ )rite inhi:it )or" an" %o!nt 'or %learing "isla$
i.. &lear all "isla$ an" loa" ;/ reg )ith a""ress o' ta:le
.. Get the in!t %o"e 'ro# ta:le an" sen" to "isla$ thro!gh o!t!t ort
.i. ;rea+ oint
0rogra#:
Address Label Mne!n"#s Ma#$"ne C!de C!en%s
Clear&
MO' AL(12$
MO' D)(4452$
O.T D)(AL
MO' AL(3E$
O.T D)(AL
MO' AL(A0$
O.T D)(AL
MO' AH(08$
MO' D)(04450$
MO' AL(00$
O.T D)(AL
DEC AH
-N1 Clear
MO' D)(4450$
MO' CL(06
&ontrol )or" to "e'ine 7*6C in 7 :it
7 %hara%ter "isla$
7*6C %ontrol ort
Loa" to %ontrol reg
'or 'reM!en%$ "i.ision
sen" to %ontrol reg
"isla$A)rite inhi:it
sen" to %ontrol reg
&o!nt o' 7 'or %learing "is.
"ata register a""ress
"ata O3
"e%re#ent loo %o!nt
&lear ! to AHO 33
Data reg
&o!nt 'or "igits
Ba#:&
MO' B)(2000$
MO' AL(*B)+
O.T D)( AL
INC B)
DEC CL
-N1 Ba#:
In!t "isla$ %o"e a""ress in ;/
Rea" the in!t %o"e
Sen" to o!t!t ort 'or "isla$
1"ate ;/ @ &L reg
Loo :a%+
Note: In!t "ata 'ro# *333H
DI/IT 0 1 2 3 C 5 6 8 8 B A B C D E 4
8
SE/MENT
CODE
4C 60 BA 42 66 D6 DE 80 4E 86 8E CE BC EA BE 1E
825B&
a9 Re%@rn In%err@D% n@ber
Al<!r"%$&
i. Loa" Initialization &ontrol >or" 1 -I&>1) into %ontrol reg
ii. Loa" Initialization &ontrol >or" * -I&>*) into "ata reg.
iii. Loa" Initialization &ontrol >or" 5 -I&>5) into "ata reg.
i.. Loa" Oeration &ontrol >or" -O&>) into %ontrol reg.
.. 0oint to %ontrol reg
.i. Set interr!t ena:le 'lag
.ii. >ait 'or interr!t to haen
.iii. ISR: Rea" interr!t n!#:er an" :rea+ oint
Pr!<ra&
Address Label Mne!n"#s Ma#$"ne C!de C!en%s
IAIT&
MO' D)( 4450$
MO' AL( 14$
O.T D)(AL
MO' D)( 4452$
MO' AL( 10$
O.T D)(AL
MO' D)( 4452$
MO' AL( 03$
O.T D)(AL
MO' D)( 4452$
MO' AL( 80$
O.T D)(AL
MO' D)( 4450$
STI
-MP IAIT
HISR %! be l!aded "n
Ae#%!r l!#a%"!n !;
I&>1
I&>*
I&>5
O&>1
Ena:le interr!t
>ait 'or interr!t
*333H
"n%err@D%9
IN AL(D)
INT 3
Rea" "ata reg.
;rea+ oint
Interr!t (e%tor ta:le:
In%err@D% N! 'e#%!r l!#a%"!n Se<en% Address HCS9 E;;e#%"Ae Address HIP9
IR?3 3353H 3333H *333H
IR?1 3355H 3333H *333H
IR?* 3357H 3333H *333H
IR?4 335&H 3333H *333H
IR?5 3383H 3333H *333H
IR?8 3385H 3333H *333H
IR?9 3387H 3333H *333H
IR?6 338&H 3333H *333H
O1T01T: AL )ill %ontain the Interr!t .al!e -The rese%ti.e :it )ill :e set )ith rese%t to interr!t No.)
IRJ0 IRJ1 IRJ2 IRJ3 IRJC IRJ5 IRJ6 IRJ8
01 02 0C 08 10 20 C0 80
b9 Pr!<ra %! d! add"%"!n( s@b%ra#%"!n and @l%"Dl"#a%"!n
Address Label Mne!n"#s Ma#$"ne C!de C!en%s
IRJ0&
IRJ1&
IRJ2&
MO' A)? Da%a1
MO' B)( da%a2
ADD A)( B)
IRET
MO' A)? Da%a1
MO' B)( da%a2
S.B A)( B)
IRET
MO' A)? Da%a1
MO' B)( da%a2
M.L B)
IRET
Interr!t .e%tor ta:le:
In%err@D% N! 'e#%!r l!#a%"!n Se<en% Address HCS9 E;;e#%"Ae Address HIP9
IR?3 3353H 3333H *333H
IR?1 3355H 3333H 4333H
IR?* 3357H 3333H 5333H
8253&
Al<!r"%$&
i. Loa" "i.ision 'a%tor as %o!nt in &/ reg.
ii. Sele%t the %o!nter reg :$ sen"ing aroriate "ata to %ontrol reg.
iii. Get lo)er or"er %o!nt in to AL an" sen" to sele%te" %o!nter reg
i.. Get higher or"er %o!nt in to AL an" sen" to sele%te" %o!nter reg.
.. >ait an" ter#inate.
Pr!<ra&
Address Label Mne!n"#s Ma#$"ne C!de C!en%s
MO' A)(0050H
MO' C)(A)
MO' AL(36H
MO' D)( 4456H
O.T D)(AL
MO' AL(CL
MO' D)( 4450H
O.T D)(AL
MO' AL(CH
O.T D)(AL
NOP
INT 3H
D"A"s"!n 4a#%!r
C!@n%er0 Is Sele#%ed
C!n%r!l Re<
C!@n% Lsb
C!@n%er 0 Re<
C!@n% Msb
Ex.No: 6
SERIAL COMM.NICATION
Trans"%%er&
Al<!r"%$&
"? L!ad d"A"s"!n ;a#%!r "n A) and B3%e %! be %rans"%%ed "n BL
""? Call %$e s@b r!@%"ne KBA.DINITL?
"""? T)LOOP& /e% %$e B3%e %! be %rans"%ed "n%! AL
"A? Call %$e S@br!@%"ne KT)B2TEL
A? -@D %! T)LOOP
A"? Brea:D!"n%?
T)B2TE&
"? Call dela3 r!@%"ne
""? SaAe %$e b3%e %! an!%$er Re< ;r! AL
"""? L!ad s%a%@s re< address
"A? Read s%a%@s G!rd !; 8251 and #$e#: read3 b"%HB09
A? I; =er! #!n%"n@e #$e#:"n<
A"? L!ad !de re< address and <e% %$e B3%e "n%! AL
A""? Trans"% %$e B3%e
A"""? Re%@rn %! a"n Dr!<ra
BA.DINIT&
"? SaAe d"A"s"!n ;a#%!r as #!@n% "n C) re<?
""? Sele#% %$e #!@n%er re< b3 send"n< aDDr!Dr"a%e da%a %! #!n%r!l re<?
"""? /e% l!Ger !rder #!@n% "n %! AL and send %! sele#%ed #!@n%er re<
"A? /e% $"<$er !rder #!@n% "n %! AL and send %! sele#%ed #!@n%er re<?
A? Ia"% and <e% s%a%@s re< Address !; 8251
A"? Send 3 D@3 !de I!rds %! 8251
A""? /e% Rese% G!rd and send %! 8251
A"""? /e% !de G!rd and Send !de G!rd
"E? Ia"% and send Enable Trans"%%er s"<nal
E? Ia"% and Re%@rn %! Ma"n Dr!<ra
DELA2&
"? P@s$ B) "n %! s%a#:
""? L!ad C!@n% "n %! S%a#:
"""? Ia"% and De#reen% #!@n%
"A? I; #!@n% n!% =er! %$en #!n%"n@e
A? Else P!D BE ;!r s%a#: and re%@rn %! a"n Pr!<ra
M!de G!rd Re<"s%er& 4450H
S%a%@s G!rd Re<"s%er& 4452H
T"er AddressHC!@n%er09& 4400H
Pr!<ra&
Address Label Mne!n"#s Ma#$"ne C!de C!en%s
T)LOOP&
T)B2TE&
LOOOP&
BA.DINIT&
MO' A)(0050H
MO' BL(C2H
CALL BA.DINIT
MO' AL(BL
CALL T)B2TE
-MP T)LOOP
INT 3
CALL DELA2
MO' BL(AL
MO' D)(4452H
IN AL(D)
AND AL(01H
-1 LOOOP
MO' AL(BL
MO' D)(4450H
O.T D)(AL
RET
MO' C)(A)
MO' AL(36H
MO' D)(4406H
O.T D)(AL
MO' AL(CL
MO' D)(4400H
O.T D)(AL
MO' AL(CH
O.T D)(AL
NOP
Di.ision 2a%tor 2or ;a!" &o!nt
;$te To ;e Tx In ;L Reg P;P
A/ &ontain Ti#er &o!nt
BL 7 &ontain The ;$te To ;e Tx.
Sa.e the :$te
Stat!s Reg
Get the stat!s )or"
%he%+ the rea"$ :it
I' not rea"$ go :a%+ to %he%+
Restore the :$te to al
MODE REG
T/ THE ;=TE
RET1RN
Sa.e The &o!nt In &/
&o!nter3 is sele%te"
-TIMADRQ9H) &ontrol Reg
&o!nt LS;
&O1NTER 3 REG
&o!nt MS;
>ait
DELA2&
D1&
NOP
MO' D)(4452H
MO' AL(00H
O.T D)(AL
O.T D)(AL
O.T D)(AL
MO' AL(C0H
O.T D)(AL
CALL DELA2
MO' AL(CEH
O.T D)(AL
NOP
NOP
MO' AL(28H
O.T D)(AL
NOP
NOP
RET
P.SH B)
MO' B)(0C44H
NOP
NOP
DEC B)
-N1 D1
POP B)
RET
Stat!s Register
D!##$ Mo"e >or"
Reset >or"
-01 00 11 109 ONE STO0;IT,NO
0ARIT=,7;ITS &HAR T/&A19 ;A1D
ENA;LE T/
Dela$ Ro!tine
Re#e"Aer&
Al<!r"%$&
"? L!ad d"A"s"!n ;a#%!r "n A)
""? Call %$e s@b r!@%"ne KBA.DINITL?
"""? Call %$e S@br!@%"ne KR)B2TEL
"A? Brea:D!"n%?
R)B2TE&
"? L!ad S%a%@s Re<?Address !; 8251
""? CHEC6& Read s%a%@s G!rd
"""? I; re#e"Aer b@;;er eD%3 %$en <! ba#: %! CHEC6
"A? /e% M!de Re<"s%er Address and Read %$e B3%e
A? Re%@rn %! a"n Dr!<ra
Pr!<ra&
Address Label Mne!n"#s Ma#$"ne C!de C!en%s
R)B2TE&
CHEC6 &
BA.DINIT&
MO' A)(0050H
CALL BA.DINIT
CALL R)B2TE
INT 3
MO' D)(4452H
IN AL(D)
AND AL(02H
-1 CHEC6
MO' D)(4450H
IN D)(AL
RET
MO' C)(A)
MO' AL(036H
MO' D)(4406H
O.T D)(AL
MO' AL(CL
MO' D)(4400H
O.T D)(AL
MO' AL(CH
Di.ision 2a%tor 2or ;a!" &o!nt
A/ &ontain Ti#er &o!nt
Stat!s Reg
Get the stat!s )or"
%he%+ the Re%ei.er ;!''er :it
I' not rea"$ go :a%+ to %he%+
MODE REG
Rea" the ;=TE
RET1RN
Sa.e The &o!nt In &/
&o!nter3 is sele%te"
-TIMADRQ9H) &ontrol Reg
&o!nt LS;
&O1NTER 3 REG
&o!nt MS;
DELA2&
D1&
O.T D)(AL
NOP
NOP
MO' D)(4452H
MO' AL(00H
O.T D)(AL
O.T D)(AL
O.T D)(AL
MO' AL(C0H
O.T D)(AL
CALL DELA2
MO' AL(CEH
O.T D)(AL
NOP
NOP
MO' AL(28H
O.T D)(AL
NOP
NOP
RET
P.SH B)
MO' B)(0C44H
NOP
NOP
DEC B)
-N1 D1
POP B)
RET
>ait
Stat!s Register
D!##$ Mo"e >or"
Reset >or"
-01 00 11 109 ONE STO0;IT,NO
0ARIT=,7;ITS &HAR T/&A19 ;A1D
ENA;LE T/
Dela$ Ro!tine
0ro%e"!re:
i. &onne%t t)o (ID L 79 +its !sing Serial %a:le
ii. Loa" Trans#itter rogra# in One +it an" Re%ei.er in the other +it
iii. Exe%!te Re%ei.er an" then Trans#itter an" again Re%ei.er.
i.. AL in Re%ei.er )ill sho) the B;$te< Trans#itte"
EE?N!& 08
STEPPER MOTOR > DC MOTOR CONTROL
S%eDDer M!%!r
Al<!r"%$&
L!ad #!n%r!l D!r% address !; 8255
/e% C!n%r!l G!rd %! "n"%"al"=e 8255 D!r%s as O@%D@% D!r%s
Send %! #!n%r!l re<
L!ad 8255 P!r% C Address
STEP& /e% "n"%"al D$ase D!s"%"!n( Send %! D!r% CM Call dela3 r!@%"ne
/e% 2
nd
D$ase D!s"%"!n( Send %! D!r% CM Call dela3 r!@%"ne
/e% 3
rd
D$ase D!s"%"!n( Send %! D!r% CM Call dela3 r!@%"ne
/e% 4"nal D$ase D!s"%"!n( Send %! D!r% CM Call dela3 r!@%"ne
/! ba#: %! STEP
Pr!<ra&
Address Label Mne!n"#s Ma#$"ne C!de C!en%s
STEP&
DELA2&
DEL0&
MO' D)( 4426H
MO' AL(80H
O.T D)(AL
MO' D)( 4420H
MO' AL(PH1
O.T D)(AL
CALL DELA2
MO' AL(PH2
O.T D)(AL
CALL DELA2
MO' AL(PH3
O.T D)(AL
CALL DELA2
MO' AL(PHC
O.T D)(AL
CALL DELA2
-MP STEP
MO' B)(0010H
MO' A)(0044H
8255 C!n%r!l Re< Address
C!n%r!l G!rd ;!r !@%D@% D!r%s
Send %! #!n%r!l re<
P!r% C Address
In"%"al P$ase D!s"%"!n
2
nd
D$ase D!s"%"!n
3
rd
D$ase P!s"%"!n
C
%$
P$ase D!s"%"!n
/! ba#: %! #!n%"n@e s%eD
C!@n% 1
C!@n% 2
DEL1& NOP
NOP
NOP
NOP
DEC A)
-N1 DEL1
DEC B)
-N1 DEL0
RET
L!!D @n%"l A) > B)N 0
Re%@rn %! Dr!<ra
Pr!#ed@re&
"9 C!nne#% S%eDDer !%!r "n%er;a#e G"%$ 'I6786 %$r!@<$ da%a b@s and #!nne#% !%!r G"%$ "n%er;a#e?
""9 /"Ae D!Ger s@DDl3 %! "n%er;a#e :"%
"""9 L!ad Dr!<ra and eEe#@%e %! r@n !%!r
"A9 C$an<e dela3 C!@n% %! #!n%r!l SDeed
A9 C$an<e D$ase seF@en#e %! #$an<e d"re#%"!n !; r!%a%"!n?
P$ase seF@en#e&
D"re#%"!n !; r!%a%"!n PH1 PH2 PH3 PHC
Cl!#: I"se A0H E0H C0H 80H
An%" Cl!#: I"se 80H C0H E0H A0H
DC M!%!r&
Al<!r"%$&
"? L!ad #!n%r!l Re< address !; 8255
""? /e% #!n%r!l G!rd s! as %! Dr!<ra 8255 D!r%s as O0P D!r% > send %! #!n%r!l re<
"""? Send %$e s%ar% D@lse %! 1CD
"A? Call dela3 $"<$ r!@%"ne
A? Send s%!D D@lse %! 1CD
A"? Call dela3l!G
A""? C!n%"n@e #3#le
Pr!<ra&
Address Label Mne!n"#s Ma#$"ne C!de C!en%s
CONT&
DELA2HI/H&
LOOP1&
DELA2LOI&
LOOP2&
MO' D) ( 4426H
MO' AL (80H
O.T D) (AL
MO' AL (01H
MO' D) ( 4420H
O.T D) (AL
CALL DELA2HI/H
MO' AL(00H
O.T D)(AL
CALL DELA2LOI
-MP CONT
MO' AH(01H
NOP
NOP
NOP
DEC AH
-N1 LOOP1
RET
MO' AL(01H
8255 C!n%r!l Re< Address
C!n%r!l G!rd ;!r !@%D@% D!r%s
Send %! #!n%r!l re<
S%ar% P@lse
P!r% C Address
S%!D P@lse
C!n%"n@e C3#le
M!%!r SDeed C!@n% H 01 TO 44 9
NOP
NOP
DEC AL
-N1 LOOP2
RET

Pr!#ed@re&
"9 C!nne#% DC !%!r "n%er;a#e G"%$ 'I6786 %$r!@<$ da%a b@s and #!nne#% DC !%!r G"%$ "n%er;a#e?
""9 /"Ae D!Ger s@DDl3 %! "n%er;a#e :"%
"""9 L!ad Dr!<ra and eEe#@%e %! r@n !%!r
"A9 C$an<e dela3 C!@n% %! #!n%r!l SDeed
EE?n!& 10 PRO/RAMMIN/ 8051 INTERR.PTS > TIMER
a9 T"er
A"&
To rogra# 7381 internal Ti#er3 to generate sM!are )a.es o' "!t$ %$%le 83R an" 99R an" o!t!t that
!sing IO in 01. *.
Algorith#:
i. Initialize TMOD S2R 'or Ti#er3 on Mo"e 1 ti#er. - 19 :it).
ii. Loa" &o!nt .al!es to TL3 @ TH3.
iii. Toggle IO in. -01.*)
i.. &all "ela$
.. &ontin!e %$%le
Dela$: start Ti#er
Moniter ti#er3 'lag-T23) !ntil it rolls o.er.
Sto ti#er
&lear 'lag an" ret!rn.
Pr!<ra& 50O D.T2 C2CLE H T
!n
N T
!;;N
D9
Address Label Mne!n"#s Ma#$"ne C!de C!en%s
HERE&
DELA2&
CHEC6&
MO' P1( P00
MO' TMOD( P10
MO' TL1( P42H
MO' TH1( P44H
CPL P1?2
ACALL DALA2
S-MP HERE
SETB TR1
-NB T41 ( CHEC6
CLR TR1
CLR T41
RET
Ma:e P1 !@%D@% D!r%
T"er1 !de 1 H16 b"% #!@n%er9
L!G b3%e
H"<$ b3%e
T!<<le P1?2 D"n
Call dela3 r!@%"ne
C!n%"n@e #3#le b3 l!ad"n< TH > TL
S%ar% %"er 0
C$e#: T41 ;la< @n%"l "% se%s
S%!D T"er >
#lear %$e ;la<
Re%@rn %! Dr!<ra?
S4R ADDRESSES : TMOD 8BM TL17 8BM TH17 8DM TR178EM T41 7 84?
TL07 8AM TH07 8CM TR07 8CM T40 7 8D?
Pr!<ra& 66O D.T2 C2CLE H T
!n
N 2D >T
!;;
N D9
Address Label Mne!n"#s Ma#$"ne C!de C!en%s
HERE&
DELA2&
CHEC6&
MO' P1( P00
MO' TMOD( P10
MO' TL1( P42H
MO' TH1( P44H
SETB P1?2
ACALL DALA2
ACALL DALA2
CLR P1?2 HAn3 D"n "n P19
ACALL DALA2
S-MP HERE
SETB TR1
-NB T41 ( CHEC6
CLR TR1
CLR T41
RET
Ma:e P1 !@%D@% D!r%
T"er1 !de 1 H16 b"% #!@n%er9
L!G b3%e
H"<$ b3%e
H"<$ P1?2 D"n
Call dela3 r!@%"ne
L!G P1?2 D"n
Call dela3 r!@%"ne
C!n%"n@e #3#le b3 l!ad"n< TH > TL
S%ar% %"er 0
C$e#: T41 ;la< @n%"l "% se%s
S%!D T"er >
#lear %$e ;la<
Re%@rn %! Dr!<ra?
CALC.LATIONS&
/TAL O 13 MHz
Ti#er 'reM!en%$, ' O 13 A1* O 3.744 MHz
Ti#e erio" , T O 1A3.744 O 1.* Ss.
Dela$, D O &o!nt T T
&o!nt O 2222 L 222* O 3Dh-14) Q 1- 'or Roll o.er)
No), D O 15T 1.* Ss O 19.7 Ss 'or 1 "ela$.
2or 83 R "!t$ %$%le: T O Ton Q T o'' O *D O 44.9 Ss @ 2reM!en%$ o' sM!are )a.e, ' O 1AT O *C6.9 +Hz
2or 99 R "!t$ %$%le: T O Ton Q T o'' O 4D O 85.C Ss @ 2reM!en%$ o' sM!are )a.e, ' O 1AT O 17*.1 +Hz
b9 In%err@D% Pr!<ra"n<
Ai#: To toggle 01.8 e.er$ se%on".
Address Label Mne!n"#s Ma#$"ne C!de C!en%s
001B&
HERE&
TIMER1
ISR
MO' TMOD( P10
MO' IE( P88
MO' R0( P13
MO' TL1( P00H
MO' TH1( P00H
SETB TR1
S-MP HERE
D-N1 R0( BAC6
CPL P1?5
MO' R0( P13
MO' TL1( P00H
MO' TH1( P00H
RETI
T"er1 !de 1
Enable T"er1 In%err@D%
C!@n% ;!r 1 se#!nd dela3
C!@n% Aal@e
C!@n% Aal@e
S%ar% %"er1
C$e#: R0
T!<<le IO D"n
Rel!ad re<"s%er Aal@e
Rel!ad #!@n% Aal@es
Re%@rn ;r! "n%err@D%
E)?NO& 11 COMM.NICATIONS BETIEEN 8051 6ITS
A"&
T! es%abl"s$ #!@n"#a%"!n be%Geen %G! 8051 6"%s?
Ser"al C!@n"#a%"!n&
Trans"%%er&
Address Label Mne!n"#s Ma#$"ne C!de C!en%s
CHEC6&
MO' IE( P00
MO' TMOD( P20
MO' TH1( P45H
MO' SCON( PC0
SETB TR1
MO' SB.4( P KDATAL
-NB TI ( CHEC6
CLR T1
LCALL 00BB
D"sable "n%err@D%s
T"er1 "n !de2
C!@n% ;!r 2C00 ba@d ra%e
Se%%"n< ser"al !de1
S%ar% %"er1
B3%e %! be %rans"%%ed ser"all3
C$e#: ;!r all %$e b"%s %! be %rans"%%ed
Clear %rans"% "n%err@D% ;la<
Brea: D!"n%?
Re#e"Aer&
Address Label Mne!n"#s Ma#$"ne C!de C!en%s
CHEC6&
MO' IE( P00
MO' TMOD( P20
MO' TH1( P45H
MO' SCON( P50
SETB TR1
CLR RI
-NB RI ( CHEC6
MO' A( SB.4
D"sable "n%err@D%s
T"er1 "n !de2
C!@n% ;!r 2C00 ba@d ra%e
Se%%"n< ser"al !de1 G"%$ re#e"Aer
enabled
S%ar% %"er1
Clear RI ;!r re#eD%"!n
C$e#: ;!r all b"%s !; #$ara#%er
M!Ae "n%! a##@la%!r?
LCALL 00BB Brea: D!"n%?
Parallel C!@n"#a%"!n&
Trans"%%er&
Address Label Mne!n"#s Ma#$"ne C!de C!en%s
MO' A( P80
MO' DPTR( PC003
MO') QDPTR( A
MO' DPTR( PC000
MO' A( PDATA
MO') QDPTR( A
NOP
NOP
LCALL 00BB
Re#e"Aer&
Address Label Mne!n"#s Ma#$"ne C!de C!en%s
MO' A( PB0
MO' DPTR( PC003
MO') QDPTR( A
MO' DPTR( PC000
MO') A( QDPTR
LCALL 00BB
EE?N!& 0B 8051 BASIC PRO/RAMMIN/
A"&
T! Dr!<ra 8051 @s"n< "%s Ar"%$e%"# and L!<"#al and B"% Man"D@la%"!n "ns%r@#%"!ns?
a9 Ar"%$e%"# !Dera%"!ns

Address Label Mne!n"#s Ma#$"ne C!de C!en%s
MO' DPTR( P8500
MO') A( QDPTR
MO' B( A
MO' R0( A
INC DPTR
MO') A( QDPTR
MO' R1( A
ADD A( B
INC DPTR
MO') QDPTR( A
MO' R2( A
MO' A( R1
S.BB A( B
INC DPTR
MO') QDPTR( A
MO' R3( A
MO' B( R2
M.L AB
INC DPTR
MO') QDPTR( A
MO' A( R2
MO' B( R3
DI' AB
INC DPTR
MO') QDPTR( A
LCALL 00BB
InD@%& M8500 7 a
M8501 7 b
O@%D@%& M8502 & s@ Ha,b9
M8503& d";;eren#e Ha7b9
M850C& Pr!d@#% HHa,b9RHa7b99
M8505& J@!%"en% HHa,b90Ha7b99
b9 32 b"% s@b%ra#%"!n
Address Label Mne!n"#s Ma#$"ne C!de C!en%s
CLR C
MO' A( C3
S.BB A( 53
MO' 63( A
MO' A( C2
S.BB A( 52
MO' 62( A
MO' A( C1
S.BB A( 51
MO' 61( A
MO' A( C0
S.BB A( 50
MO' 60( A
LCALL 00BB
InD@%& IC0 %! C3 da%a 1
I50 %! 53 da%a 2
O@%D@%& I60 %! 63 7 d";;eren#e
C9 4"b!na##" ser"es
Address Label Mne!n"#s Ma#$"ne C!de C!en%s
BE/IN&
RPT&
E)IT&
MO' R0( 60
MO' R1( P01
MO' R2( P01
MO' A( P00
MO' DPTR( P B000
C-NE R0( P00( BE/IN
L-MP E)IT
MO') QDPTR( A
INC DPTR
MO' R2( A
ADD A( R1
MO' 01( 02
MO') QDPTR( A
INC DPTR
D-N1 R0( RPT
LCALL 00BB
INP.T& I60 CO.NT
O.TP.T& MB000 00
MB001 01
MB002 01
MB003 02 > s! !nS

You might also like