$Header: /home/radek/cvs/forth-book/dictionary/ansi/0220.dot-s,v 1.2 2003/12/31 00:08:29 radek Exp $

Jméno

.S — „dot-s“ vytiskne obsah celého datového zásobníku bez změny zásobníku

TOOLS

Přehled

( → )

Definováno v: dpANS Forth 15.6.1.0220 TOOLS

Popis

Vytiskne obsah zásodníku, aniž by byl zásobník jakkoliv modifikován. Slouží hlavně při interaktivní práci a ladění, kdy se potřebujeme podívat co všechno se v zásobníku nachází.

Description

Copy and display the values currently on the data stack. The format of the display is implementation-dependent. .S may be implemented using pictured numeric output words. Consequently, its use may corrupt the transient region identified by #>.

Příklad použití

4 5 6 .S 
*FIXME:

Kód slova v Qurtus Forthu

Příklad 54. Kód slova .s v Qurtus Forthu *:[90]

;*FIXME:
    = BE30: ....
    = BE32: 022E 5300                         DB      2, ".S"
....= BE36: 4EAA 82C0            .S:          JSR     $-7D40(CS)     ;= DEPTH
....= BE3A: 4A47                              TST.W   TOS
....= BE3C:                                   BNE.S   $BE4C
    = BE3E:                                   MOVE.W  (A4)+, TOS  ;= DROP
    = BE40:                                   LEA     $40(PC), A0
    = BE44:                                   MOVEQ.L #12, D0
      BE46:                                   JSR     $-77D2(CS)
      BE4A:                                   BRA.S   $BE7C
      BE4C:                                   BGE.S   $BE58
      BE4E:                                   MOVE.W  TOS, -(SP)  ;= DUP
      BE50:                                   MOVE.W  #-4, TOS
      BE54:                                   JSR     $-49CC(CS)  ;= THROW
      BE58:                                   MOVE.W  TOS, -(SP)  ;= DUP
      BE5A:                                   MOVEQ.L #0, TOS
      BE5C:                                   MOVE.W  TOS, -(SP)  ;= DUP
      BE5E:                                   SWAP    TOS
      BE60:                                   MOVE.W  TOS, -(SP)  ;= DUP
      BE62:                                   MOVEQ.L #$3C, TOS
      BE64:                                   JSR     $-7748(CS)  ;= EMIT
      BE68:                                   JSR     $-6236(CS)  ;= D.R
      BE6C:                                   MOVE.W  TOS, -(SP)  ;= DUP
      BE6E:                                   MOVEQ.L #$3E, TOS
      BE70:                                   JSR     $-7748(CS)  ;= EMIT
      BE74:                                   JSR     $-7730(CS)  ;= SPACE
      BE78:                                   JSR     $-41EE(CS)  ;
      BE7C:                                   JSR     $-78DC(CS)  ;= CR
      BE80:                                   BRA.S   $BE8E
      BE82:                                   MOVE.L  $61(A3, D7.W), A0
      BE86:                                   BLS.S   $BEF3
      BE88:                                   MOVE.L  -(A5), A0
      BE8A:                                   BLT.S   $BEFC
      BE8C:                                   MOVEQ.L #$79, D2
      BE8E:                                   RTS                 ;= EXIT