[openfirmware] [commit] r3129 - forth/lib

repository service svn at openfirmware.info
Fri Aug 3 23:23:40 CEST 2012


Author: wmb
Date: Fri Aug  3 23:23:39 2012
New Revision: 3129
URL: http://tracker.coreboot.org/trac/openfirmware/changeset/3129

Log:
Debugger - added longer stack display to visual mode.

Modified:
   forth/lib/debug.fth

Modified: forth/lib/debug.fth
==============================================================================
--- forth/lib/debug.fth	Fri Aug  3 23:10:03 2012	(r3128)
+++ forth/lib/debug.fth	Fri Aug  3 23:23:39 2012	(r3129)
@@ -126,17 +126,27 @@
 0 value stack-line
 d# 45 constant stack-column
 \ 0 0 2value result-loc
+0 0 2value full-stack-xy
 0 value result-line
 0 value result-col
 : to-stack-location  ( -- )  stack-column stack-line at-xy  kill-line  ;
+: show-full-stack  ( -- )
+   full-stack-xy at-xy kill-line
+   depth 0<  if  ." Stack Underflow"   exit  then  \ Don't clear stack here
+   depth 0=  if  ." Empty"  exit  then
+   depth 7 >  if  ." .. "  then
+   depth  depth 7 - 0 max  ?do  depth i - 1- pick n.  loop
+;
 : show-partial-stack  ( -- )
+   show-full-stack
+
    to-stack-location
 
    ." \ "
    depth 0<  if  ." Stack Underflow" sp0 @ sp!  exit  then
    depth 0=  if  ." Empty"  exit  then
-   depth 4 >  if  ." .. "  then
-   depth  depth 5 - 0 max  ?do  depth i - 1- pick n.  loop
+   depth 3 >  if  ." .. "  then
+   depth  depth 4 - 0 max  ?do  depth i - 1- pick n.  loop
 ;
 
 \ : save-result-loc  ( -- )  #out @ #line @ to result-loc  ;
@@ -191,6 +201,7 @@
    d# 70 rmargin !
    ." Callers: "  rp0 @ the-rp na1+ rslist kill-line cr
    d# 40 rmargin !
+   ." Stack: " #out @ #line @ to full-stack-xy  cr  \ For stack
    the-ip debug-see
    cr
    \ Display the initial stack on the cursor line



More information about the openfirmware mailing list