$Header: /home/radek/cvs/forth-book/dictionary/ansi/0220.dot-s,v 1.2 2003/12/31 00:08:29 radek Exp $
.S — „dot-s“ vytiskne obsah celého datového zásobníku bez změny zásobníku
TOOLS
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í.
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 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