From: Kalus M. <mic...@on...> - 2009-03-31 20:50:31
|
Hi Erich. May be you want to try my version. : .s ( -- ) depth 0> if depth sp@ swap 0 do i . 1+ 1+ dup . dup @ >< . cr loop 1+ 1+ else sp@ then 53 ( S ) emit space . ; "S" stands for "to strand" meaning "auf den Grund laufen" = beneath bottom of stack. I used S since B could be mixed up with a hex value. It will not dump memory if stack is empty, just gives the strand address in that case. You can have it as assembler code as well. Michael Am 31.03.2009 um 21:03 schrieb Erich Waelde: > Hello, > > amforth rev.736 (3.4) > > another misbehaviour is that stack underflow conditions are > not caught: > > > 1 2 3 .s > 0 809 3 > 1 80B 2 > 2 80D 1 > ok > > . . . > 3 2 1 ok > > . > 10 ok > > . > 2348 ok > > . > 465 ok > > .s > 0 815 4008 > 1 817 8C0 > 2 819 AB48 > 3 81B C9 > 4 81D 8558 > 5 81F 40B4 > 6 821 848C > 7 823 C7E > 8 825 702D > 9 827 C0E1 > ... > this goes on for quite a while :-) > > This is an old bug, really, but it has become more prominent > by dumping the whole memory on another ".s". I believe this > is new behaviour. > > > Cheers, > Erich |