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