Deutsch   English   Français   Italiano  
<5d52b006538880c3fc512a120c2fb1d0@www.novabbs.com>

View for Bookmarking (what is this?)
Look up another Usenet article

Path: ...!weretis.net!feeder9.news.weretis.net!news.nk.ca!rocksolid2!i2pn2.org!.POSTED!not-for-mail
From: minforth@gmx.net (minforth)
Newsgroups: comp.lang.forth
Subject: Re: Stack vs stackless operation
Date: Mon, 24 Feb 2025 20:34:25 +0000
Organization: novaBBS
Message-ID: <5d52b006538880c3fc512a120c2fb1d0@www.novabbs.com>
References: <591e7bf58ebb1f90bd34fba20c730b83@www.novabbs.com>
MIME-Version: 1.0
Content-Type: text/plain; charset=utf-8; format=flowed
Content-Transfer-Encoding: 8bit
Injection-Info: i2pn2.org;
	logging-data="1613932"; mail-complaints-to="usenet@i2pn2.org";
	posting-account="BZ29EnRIXfdX99fE+pfHgueF2xuF1KvSpLJsfuOZy3Y";
User-Agent: Rocksolid Light
X-Rslight-Site: $2y$10$OOgMuD2Fy0L.0jytqgK.0OhdafPKLRHF2MtduuFzBMkx1e2FgYHYO
X-Rslight-Posting-User: 0338a3da6f3e9c9f1401b365bcd9c3ed8de2227a
X-Spam-Checker-Version: SpamAssassin 4.0.0
Bytes: 1574
Lines: 17

An optimising Forth compiler does exactly that.

NT/FORTH for example:

: +> rot @ rot @ + swap ! ;  ok
see +>
  A49E6C   409196  21   C80000   5 normal  +>

  409196 8B4504                 mov     eax , [ebp+4h]
  409199 8B00                   mov     eax , [eax]
  40919B 8B4D00                 mov     ecx , [ebp]
  40919E 8B09                   mov     ecx , [ecx]
  4091A0 01C8                   add     eax , ecx
  4091A2 8903                   mov     [ebx] , eax
  4091A4 8B5D08                 mov     ebx , [ebp+8h]
  4091A7 8D6D0C                 lea     ebp , [ebp+Ch]
  4091AA C3                     ret     near
 ok