Procesory reci - mluvici aplikace
Jan Skalický
skalda.hw-news
Středa Březen 17 14:24:16 CET 2004
Nekam jsem zasantrocil chytrou knizecku, tak ti zkusim pomoct z hlavy:
> org 0
> jmp init
> org 022h
> reti
> org 023h
> jmp ser
Tady se mi moc nezdaji ty adresy, jsou nejake divne (urcite jsou od
sebe vzdaleny 8 bytu a to tyhle ne)
> org 030h
> init: mov scon,#050h
> mov tmod,#020h
> mov sp,#50
> mov th1,#0F4h
> mov pcon,#080h
> setb tr1
> mov ie,#090h
Tohle nejsem schopen z hlavy posoudit, jestli je ta konfigurace
spravne
> zn: mov dptr,#tab
> zn1: clr a
> movc a,@a+dptr
> jz zn
Tady cekas na nulu, ale tu nikdy nemuzes dostat, protoze ti ten
retezec nekonci nulou (prazdna pamet = 0xFF)
> mov sbuf,a
> inc dptr
> jmp zn1
> ser: clr ti
> reti
No nevim, ale tady bych spis odeslal ten znak nez jen rusil priznak.
Proste bych ten horejsek (nacteni znaku a presunuti do SBufu) udelal v
preruseni. Takhle ti bezi program, ty dost rychle prepisujes data v
SBufu a jednou za cas ti prijde preruseni od serioveho kanalu, ktere
hned vymazes a skaces zpet.
> tab: db 'AHOJ TOTO JE TEST VYSILANI SERIOVYM KANALEM'
Tady chybi jiz zminena 0
Miloslav Kazda
mailto:miloslav.kazda@volny.cz
http://milosh.zde.cz
Další informace o konferenci Hw-list