.. and the timing with high and low words written in forth: > : test0 timer-start 10000 0 do PA.7 low PA.7 high loop timer-stop > 10000 s>f f/ > fs. ; ok > test0 9.54074E-5 ok (95usec) >
The speed-up is 3x with asm words for pin manipulation. p. ----- PŮVODNÍ ZPRÁVA ----- Od: "pito" <p...@volna.cz> Komu: amforth-devel@lists.sourceforge.net Předmět: Re: [Amforth] Fast pin I/O lib in asm - new names Datum: 14.5.2012 - 17:26:14 > A simple test on fastio.lib (there is no > correction on the do-loop > timing). > The result is the duration of one loop (out of > 10.000 loops). > ---------------------------------------------------------------------------------------------------------- > > Measured @11.0592MHz fcpu, atmega1284p, amforth > 4.9 trunk. > > > printdate.rtc > 2012/05/14-MON-13:04:31 ok > > / portpin: is used for an individual pin only > (0-7) > > > PORTA 7 portpin: PA.7 > ok > > PA.7 pin.o > ok > > > : test1 timer-start 10000 0 do PA.7 pin.l PA.7 > > pin.h loop > > > timer-stop 10000 s>f > > f/ fs. ; > ok > > test1 > 4.14815E-5 ok ( 41 usec) > > > : test2 timer-start 10000 0 do 128 PORTA pin.l > > 128 PORTA pin.h > > > loop timer-stop > > 10000 s>f f/ fs. ; > ok > > test2 > 3.43704E-5 ok ( 34 usec) > > > : test3 timer-start 10000 0 do 128 34 pin.l 128 > > 34 pin.h loop > > > timer-stop 10000 > > s>f f/ fs. ; > ok > > test3 > 3.43704E-5 ok (34 usec) > > > The port! (written in asm) is the same as the > portpin! (forth) > > / bitmask: is used for bits masks ($00-$FF) > > > PORTA $F0 bitmask: PA.HNIB > ok > > PA.HNIB pin.o > ok > > > : test7 timer-start 10000 0 do $88 240 34 port! > > $33 240 34 port! > > > loop timer-st > > op 10000 s>f f/ fs. ; > ok > > test7 > 4.56296E-5 ok (46usec) > > > > > : test5 timer-start 10000 0 do $88 PA.HNIB port! > > $33 PA.HNIB port! > > > loop timer- > > stop 10000 s>f f/ fs. ; > ok > > test5 > 5.15556E-5 ok (52usec) > > > ok > > > : test6 timer-start 10000 0 do $88 PA.HNIB > > portpin! $33 PA.HNIB > > > portpin! loop > > timer-stop 10000 s>f f/ fs. ; > ok > > test6 > 1.54667E-4 ok (155usec) > > > : test-loop timer-start 10000 0 do loop > > timer-stop 10000 s>f f/ > > > fs. ; > > ok > > test-loop > 6.51852E-6 ok (6.5usec) > > > > > ----- PŮVODNÍ ZPRÁVA ----- > Od: "pito" <p...@volna.cz> > Komu: amforth-devel@lists.sourceforge.net > Předmět: [Amforth] Fast pin I/O lib in asm - new > names > Datum: 14.5.2012 - 13:25:55 > > > Hi, some time back I posted here the fastio.asm > > lib for building > > into amforth. I did a refresh recently and > > changed > > > the names of the > > words - ie: > > > > pin.l pin.h pin.l? pin.h? pin.t pin.o > > pin.i > > > port! port@ > > port,h? port.l? (portpin:) > > > > The portpin: portpin! and bitmask: and few > > others > > > (set pullups, > > pulse) are still written in forth (in > > bitnames.frt). The (portpin:) > > is now in asm for does> part of portpin: and > > bitmask:. > > > > So if you are interested and happy with the new > > names I may provide > > Matthias with the source. The lib is written in > > asm based upon > > resources find in amforth and LubosP > > repositories > > > (which were > > written in forth or Lubos' asm for amforth). > > P. > > > > > > ------------------------------------------------------------------------------ > > > > > > Live Security Virtual Conference > > Exclusive live event will cover all the ways > > today's security and > > threat landscape has changed and how IT managers > > can respond. Discussions > > will include endpoint security, mobile security > > and the latest in malware > > threats. > > http://www.accelacomm.com/jaw/sfrnl04242012/114/50122263/ > > > _______________________________________________ > > Amforth-devel mailing list for > > http://amforth.sf.net/ > > Amforth-devel@lists.sourceforge.net > > https://lists.sourceforge.net/lists/listinfo/amforth-devel > > > > > > ------------------------------------------------------------------------------ > > Live Security Virtual Conference > Exclusive live event will cover all the ways > today's security and > threat landscape has changed and how IT managers > can respond. Discussions > will include endpoint security, mobile security > and the latest in malware > threats. > http://www.accelacomm.com/jaw/sfrnl04242012/114/50122263/ > _______________________________________________ > Amforth-devel mailing list for > http://amforth.sf.net/ > Amforth-devel@lists.sourceforge.net > https://lists.sourceforge.net/lists/listinfo/amforth-devel > ------------------------------------------------------------------------------ Live Security Virtual Conference Exclusive live event will cover all the ways today's security and threat landscape has changed and how IT managers can respond. Discussions will include endpoint security, mobile security and the latest in malware threats. http://www.accelacomm.com/jaw/sfrnl04242012/114/50122263/ _______________________________________________ Amforth-devel mailing list for http://amforth.sf.net/ Amforth-devel@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/amforth-devel