[THEN]
+[UNDEFINED] CONSTANT [IF]
+: CONSTANT
+DEFER
+HI2LO
+MOV @R1+,R13
+MOV #$1285,-4(R10)
+MOV R14,-2(R10)
+MOV @R15+,R14
+MOV @R13+,R0
+ENDCODE
+[THEN]
+
+[UNDEFINED] BL [IF]
+#32 CONSTANT BL
+[THEN]
+
+[UNDEFINED] SPACES [IF]
+CODE SPACES
+CMP #0,R14
+0<> IF
+ PUSH R13
+ BEGIN
+ LO2HI
+ BL EMIT
+ HI2LO
+ SUB #2,R13
+ SUB #1,R14
+ 0= UNTIL
+ MOV @R1+,R13
+THEN
+MOV @R15+,R14
+MOV @R13+,R0
+ENDCODE
+[THEN]
+
+[UNDEFINED] OVER [IF]
+CODE OVER
+MOV R14,-2(R15)
+MOV @R15,R14
+SUB #2,R15
+MOV @R13+,R0
+ENDCODE
+[THEN]
+
[UNDEFINED] U.R [IF]
: U.R
>R <# 0 # #S #>
;
: DATE!
-DEPTH 2 > IF
+2 DEPTH U< IF
HI2LO
MOV R14,&$4B6
MOV.B @R15,&$4B5
;
: TIME!
-DEPTH 2 > IF
+2 DEPTH U< IF
HI2LO
MOV R14,&$4B0
MOV.B @R15,&$4B1
: ESC #27 EMIT ;
-: [DEFERRED]
- ' @ $4030 =
+: [ISDEFERRED?]
+ DUP @ $4030 =
; IMMEDIATE
CREATE ABUF 20 ALLOT
ESC ." [H"
CR ." DATE (DMY): "
-ABUF ABUF 20
- [DEFERRED] ACCEPT
- [IF] ['] ACCEPT >BODY EXECUTE
- [ELSE] ACCEPT
- [THEN]
+ABUF DUP 20
+ ['] ACCEPT [ISDEFERRED?]
+ [IF] >BODY
+ [THEN] EXECUTE
EVALUATE CR DATE!
CR CR ." TIME (HMS): "
-ABUF ABUF 20
- [DEFERRED] ACCEPT
- [IF] ['] ACCEPT >BODY EXECUTE
- [ELSE] ACCEPT
- [THEN]
+ABUF DUP 20
+ ['] ACCEPT [ISDEFERRED?]
+ [IF] >BODY
+ [THEN] EXECUTE
EVALUATE CR TIME!
CR
;