Path: csiph.com!v102.xanadu-bbs.net!xanadu-bbs.net!feeder.erje.net!eu.feeder.erje.net!news.mixmin.net!aioe.org!.POSTED!not-for-mail From: "Ed" Newsgroups: comp.lang.forth Subject: Re: Portability Date: Wed, 10 Apr 2013 14:02:17 +1000 Organization: Aioe.org NNTP Server Lines: 27 Message-ID: References: <516007a4$0$619$e4fe514c@dreader34.news.xs4all.nl> <51636f44$0$596$e4fe514c@dreader34.news.xs4all.nl><2013Apr9.092129@mips.complang.tuwien.ac.at> <2013Apr9.144119@mips.complang.tuwien.ac.at> <0O6dneB1Wq85xfnMnZ2dnUVZ_jCdnZ2d@supernews.com> NNTP-Posting-Host: KKp65Z5aRH6eo+MI4TEhnQ.user.speranza.aioe.org X-Complaints-To: abuse@aioe.org X-MimeOLE: Produced By Microsoft MimeOLE V5.00.2615.200 X-Notice: Filtered by postfilter v. 0.8.2 X-Newsreader: Microsoft Outlook Express 5.00.2615.200 X-Priority: 3 X-MSMail-Priority: Normal Xref: csiph.com comp.lang.forth:21572 Chris wrote: > ... > for polyFORTH ISD-4 Segmented 8086 model that runs on MS-DOS > > : NEXT CS: LODS W 0 XCHG W ) CS: LIP ; > > The standalone 8086 model is probably better. To my knowledge polyForth single-segment 8086 NEXT is coded in-line as: LODSW XCHG AX,DI JMP WORD PTR [DI] In FD there was an article: "A Faster NEXT Loop" (FD V9N6) This was MVP-FORTH (8086, Forth-79) whose original NEXT was 7 instructions (compared to FIG's 5). It explained how NEXT could be reduced to 3 instructions and the mods necessary. It was essentially as above but used a different register and NEXT was not in-line. The article claimed a 25% speed improvement over the original.