Re: [Flashforth-devel] For-next loops - the New Design
Brought to you by:
oh2aun
From: Peter J. <pe...@me...> - 2015-05-28 11:26:52
|
Igor, I'm going to disagree with you on preference. I think that most people will come to FF, not from assembler, but from some other high-level language and they will expect "0 for" to iterate 0 times. I know that I do. If I wanted to iterate 65536 times in one of my programs, I'd likely be wanting to do more iterations at some point and I'd use a 24-bit or 32-bit counter anyway. Regards, Peter J. On 28/05/15 21:03, om1zz wrote: > Do you insist on a single asm instruction for the entire for-next loop implementation? > Do-loop is min 30 instructions in FF. > > I think that with N vs. N+1 idea when handling for (in any form) you break the consistency of for-loop implementation understanding. > > I would easily spend another 1-2 asm instructions and do it consistent. Speed plays no role here. > When somebody wants to bitbang a pin it could be done in asm. > > N for .. > N ?for .. > > both will do N loops through the body. The only diff is the ?for skips zero. That is very consistent. > > 0 for > > will do M loops where M=2^16 in this case. That is also consistent as you work with 16bit assembler. > > I am suggesting that as a standard for the for-loop design for any architecture on my github. > > Igor. > > > > > ______________________________________________________________ >> Od: Mikael Nordman <mik...@fl...> >> Komu: <fla...@li...> >> Datum: 27.05.2015 17:59 >> Předmět: Re: [Flashforth-devel] For-next loops - the New Design >> >> Yes, Yes, >> I understand what you want. >> But you dont seem to understand that it cannot be done >> in a simple for..next loop that has only one decrement and branch >> instruction, and that has an index that counts down to zero. >> >> In order the get the full 16 bit loop count you have to give as input >> the N+1 count. >> >> But if you have some idea how to implement it in PIC assembly code, >> please write it out. >> >> BR Mike >> >> On 27.05.2015 10:32, om1zz wrote: >>> 0 _for 65535 65534 .. >>> .. 13 12 11 10 9 8 7 6 5 4 3 2 1 0 >>> 65536 ok<#,ram> >> ------------------------------------------------------------------------------ >> _______________________________________________ >> Flashforth-devel mailing list >> Fla...@li... >> https://lists.sourceforge.net/lists/listinfo/flashforth-devel >> > ------------------------------------------------------------------------------ > _______________________________________________ > Flashforth-devel mailing list > Fla...@li... > https://lists.sourceforge.net/lists/listinfo/flashforth-devel |