Groups | Search | Server Info | Keyboard shortcuts | Login | Register [http] [https] [nntp] [nntps]


Groups > comp.lang.forth > #30132

Re: SEE

From Bernd Paysan <bernd.paysan@gmx.de>
Newsgroups comp.lang.forth
Subject Re: SEE
Date 2014-05-06 21:53 +0200
Organization 1&1 Internet AG
Message-ID <lkbej7$n3b$1@online.de> (permalink)
References (4 earlier) <XPydnTnVmKp0fvvOnZ2dnUVZ_sSdnZ2d@supernews.com> <lk7rck$13n$1@online.de> <E7udnYO809nlTvrOnZ2dnUVZ_smdnZ2d@supernews.com> <2014May6.183038@mips.complang.tuwien.ac.at> <a42dnfPAw99xq_TOnZ2dnUVZ_q6dnZ2d@supernews.com>

Show all headers | View raw


Elizabeth D. Rather wrote:
> That's (obviously) an example of a call, and as you see we do give you
> the name of the word called (much more helpful than an address) as well
> as the decoded string. For compile-to-code, we usually give the example
> of DIGIT:
> 
> : DIGIT ( n -- n )
>     DUP 9 > IF 7 + THEN [CHAR] 0 + ;
> 
> see digit
> 884F   9 # EBX CMP                      83FB09
> 8852   885B JLE                         0F8E03000000
> 8858   7 # EBX ADD                      83C307
> 885B   30 # EBX ADD                     83C330
> 885E   RET

SwiftForth nowadays does a bit more than bigForth (where the optimizer 
hasn't been changed for 25 years now).  However, that stuff still should 
decompile perfect, even when the push/pop of EAX were optimized away in 
bigForth (the xchg ESP, ESI is, because using that performed better on the 
486 and Pentium, the CPUs that were relevant for bigForth's optimization 
choice):

: digit dup 9 > IF 7 + THEN '0 + ;  ok
see digit 
: DIGIT 
  DUP 9 
  > IF 7 + THEN 
  48 + ; 
 ok
disw digit  Adresse : 268645632 
10033500: xchg    ESP,ESI           87F4
10033502: push    EAX               50
10033503: cmp     EAX,$9            3D09000000
10033508: pop     EAX               58
10033509: jle     $10033514         0F8E05000000
1003350F: add     EAX,$7            0507000000
10033514: add     EAX,$30           0530000000
10033519: xchg    ESP,ESI           87F4
1003351B: ret                       C3

-- 
Bernd Paysan
"If you want it done right, you have to do it yourself"
http://bernd-paysan.de/

Back to comp.lang.forth | Previous | Next — Previous in thread | Next in thread | Find similar | Unroll thread


Thread

Umm...help? David J <skamolex@gmail.com> - 2014-04-29 18:46 -0700
  Re: Umm...help? Julian Fondren <ayrnieu@gmail.com> - 2014-04-29 19:32 -0700
    Re: Umm...help? albert@spenarnc.xs4all.nl (Albert van der Horst) - 2014-04-30 10:21 +0000
      Re: Umm...help? David J <skamolex@gmail.com> - 2014-05-01 15:39 -0700
        Re: Umm...help? Coos Haak <chforth@hccnet.nl> - 2014-05-02 10:13 +0200
        Re: Umm...help? Mark Wills <markwills1970@gmail.com> - 2014-05-02 02:06 -0700
          Re: Umm...help? David J <skamolex@gmail.com> - 2014-05-08 16:04 -0700
          Re: Umm...help? David J <skamolex@gmail.com> - 2014-05-08 16:10 -0700
            Re: Umm...help? rickman <gnuarm@gmail.com> - 2014-05-09 14:18 -0400
              Re: Umm...help? David J <skamolex@gmail.com> - 2014-05-19 14:20 -0700
  Re: Umm...help? "Elizabeth D. Rather" <erather@forth.com> - 2014-04-29 16:51 -1000
    Re: Umm...help? David J <skamolex@gmail.com> - 2014-04-29 20:03 -0700
      Re: Umm...help? "Elizabeth D. Rather" <erather@forth.com> - 2014-04-29 17:41 -1000
        Re: Umm...help? David J <skamolex@gmail.com> - 2014-05-01 15:29 -0700
  Re: Umm...help? David J <skamolex@gmail.com> - 2014-04-29 19:51 -0700
  Re: Umm...help? stephenXXX@mpeforth.com (Stephen Pelc) - 2014-04-30 08:49 +0000
    Re: Umm...help? David J <skamolex@gmail.com> - 2014-05-01 15:32 -0700
      Re: Umm...help? stephenXXX@mpeforth.com (Stephen Pelc) - 2014-05-02 09:03 +0000
      Re: Umm...help? Torfinn Ingolfsen <tingo@home.no> - 2014-05-02 13:33 +0200
        Re: Umm...help? rickman <gnuarm@gmail.com> - 2014-05-04 15:11 -0400
          Re: Umm...help? David J <skamolex@gmail.com> - 2014-05-08 16:15 -0700
        Re: Umm...help? David J <skamolex@gmail.com> - 2014-05-08 16:11 -0700
  Re: Umm...help? David Hume <David.Hume@example.com> - 2014-05-04 20:35 +0100
    Re: Umm...help? "Elizabeth D. Rather" <erather@forth.com> - 2014-05-04 12:47 -1000
      Re: Umm...help? Bernd Paysan <bernd.paysan@gmx.de> - 2014-05-05 01:59 +0200
        Re: Umm...help? "Elizabeth D. Rather" <erather@forth.com> - 2014-05-04 15:05 -1000
          Re: Umm...help? Bernd Paysan <bernd.paysan@gmx.de> - 2014-05-05 13:06 +0200
            Re: Umm...help? "Elizabeth D. Rather" <erather@forth.com> - 2014-05-05 08:07 -1000
              SEE (was: Umm...help?) anton@mips.complang.tuwien.ac.at (Anton Ertl) - 2014-05-06 16:30 +0000
                Re: SEE "Elizabeth D. Rather" <erather@forth.com> - 2014-05-06 09:24 -1000
                Re: SEE Bernd Paysan <bernd.paysan@gmx.de> - 2014-05-06 21:53 +0200
                no more ASS cracks? (was Re: SEE) all2001@spambog.com (Wolfgang Allinger) - 2014-05-06 19:48 -0400
                Re: SEE anton@mips.complang.tuwien.ac.at (Anton Ertl) - 2014-05-10 17:11 +0000
            Re: Umm...help? Assad Ebrahim <assad.ebrahim@alum.swarthmore.edu> - 2014-05-10 15:47 +0100
              Re: Umm...help? Assad Ebrahim <assad.ebrahim@alum.swarthmore.edu> - 2014-05-10 16:06 +0100

csiph-web