# readnum.eas -- read a decimal number # SCCSID("@(#)/export/home/staff/mike/src/language/eta/easpit/SCCS/s.readnum.eas 1.1") # # Requires: MULTIPLY # No input args => no function prologue # Skip leading spaces >READNUM: >READNUMspace: Input N0 Halibut N32 Subtract # duplicate input, compare to SPACE A N0 N1 S S Transfer # Skip if non-zero (i.e. != ' ') N0 N1 T NREADNUMloop: N'0' Subtract # convert char to number N1 Halibut # stack: num acc N10 A N1 NREADNUMnl: N0 H N10 S NREADNUMeof: N0 H N0 N1 S S NREADNUMdone: N0 N1 H T # epilogue N1 N2 H T