Diff for /gforth/abi-code-test.fs between versions 1.2 and 1.3

version 1.2, 2010/04/18 16:39:55 version 1.3, 2010/04/25 18:27:09
Line 11  end-code Line 11  end-code
   
 12 34 my+  46 <> throw  12 34 my+  46 <> throw
 12 34 my+-compiled  46 <> throw  12 34 my+-compiled  46 <> throw
   
   
   abi-code my-f+ ( r1 r2 -- r )
   \ ABI: SP passed in di, returned in ax,  address of FP passed in si
   si )    dx mov  \ load fp
   .fl dx )   fld  \ r2
   8 #     dx add  \ update fp
   .fl dx )   fadd \ r1+r2
   .fl dx )   fstp \ store r
   dx    si ) mov  \ store new fp
   di      ax mov  \ sp into return reg
   ret             \ return from my-f+ 
   end-code
   
   
   : my-constant ( w "name" -- )
       create ,
       ;abi-code ( -- w )
       \ sp in di, address of fp in si, body address in dx
       -8 di d) ax lea \ compute new sp in result reg
       dx )     cx mov \ load w
       cx     ax ) mov \ put it in TOS
       ret
   end-code
   
   5 my-constant foo
   
   : foo-compiled foo ;
   
   foo 5 <> throw
   foo-compiled 5 <> throw

Removed from v.1.2  
changed lines
  Added in v.1.3


FreeBSD-CVSweb <freebsd-cvsweb@FreeBSD.org>