2CB8 NOT BIN checks for fractional part of number 2DC1 LOG(2**A) figures digits before or zeroes after the point 2E24 PF SMALL in printouts, cuts out leading zeroes after the fractional point 2E56 PF LARGE in printouts, reduces digits before the fractional point to eight maximum 2EA9 PF INSERT counts digits to print before the point 2F25 PF R BACK rounding may add a digit before the point 2F2D PF COUNT count of digits before the point 2F46 PF NOT F one digit, zero perhaps, before the point 2F4B PF E SBRN check for digits before the point (xEm) 2F5E PF DC OUT prepares to print point 2F64 PF DEC 0S prints point 2F6C PF E FRMT always one digit before the point in xEm 326D X LARGE if binary point after mantissa, no fractional part / key (2F) see * key (2A) : key (3A) see also character codes The Z key with symbol shift produces the colon. No Spectrum model that I know of has a separate key for this character, which causes a certain amount of grumbling among users; but some add-on keyboards have it. Its main use is to mark the end of BASIC statements, see the references below. One of the more tiresome mistakes in the Spectrum ROM isthe one in 1937 OUT CHAR, which makes the keystroke print keywords after a colon even in REMs: see under OUT CHAR. 133C MAIN 5 used in reports between line and stment no 1937 OUT CHAR puts input into L mode unless in quotes 196D OUT CH 3 notes ROM mistake 19A5 EACH S 4 marks the end of a statement 1B29 STMT L 1 marks the end of a statement 1BF4 STMT NEXT marks the end of a statement 1CDE FETCH NUM marks the end of a statement 1D86 LOOK PROG signals "more statements in this line" 2048 PR ST END sets flag to show the end of a statement 2712 S CONT 2 marks end of expression ; key (3B) The O key with symbol shift produces the semicolon. Later Spectrum models have a separate key, but symbol shift O still works. Its main function in BASIC is to separate print control items, with the signal "no tab wanted", see control characters. 17FB LIST 1 after (hatch), signals that a line number follows 204E PR POSN 1 in print control items, no tab 21E2 CO TEMP 2 ";" or "," must separate control item < key (3C) It is convenient to describe together all the "comparison operation" keys: 3C < key R with symbol shift; op code CD 3D = key L with symbol shift; op code CE 3E > key T with symbol shift; op code CC C7 <= key Q with symbol shift; op code C9 C8 >= key E with symbol shift; op code CA C9 <> key W with symbol shift; op code CB Each of them must have two operands, one preceding and one following; they may be either both strings or both numeric, but both must be the same. The result of any of these operators is a logical value zero if the comparison is "false", or one if it is "true". See logical values. On execution, after the first expression has been evaluated in 268D S DECIMAL, 25B3 S QUOTE or 26C9 S LETTER, the scanning loop quickly leads to 2723 S OPERTR. Here the token code 3C -> 3E or C7 -> C9 is looked up in the two tables 2795 table of operators and 27B0 table of priorities, giving a priority 05 in the B register and the operator code C9 -> CE in the C register. However, if the first argument already evaluatedis a string the code is changed by 2773 S TIGHTER, to 11h -> 16h. The priority plus op code is put on the machine stack in 2790 S NEXT. When the code comes off the calculator stack in 274C S STK LAST, C9 -> CE are converted to 09 -> 0E; all the literals 09 -> 0E and 11h -> 16h call the same executive routine 353B no-l-eql, but its action differs according to the literal value. = key (3D) see also < key above This key has another function besides being a binary operator, that of separator in the command table at 1A7A P LET and 1A90 P FOR, and in DEF FN statements as noted below. 1FA6 DEF FN 6 must follow ")" on left of DEF FN 288D SF VALUE skip over ")=" in evaluating DEF FN > key (3E) see also < key above This symbol has another function besides being a binary operator; it is printed in BASIC listings just after the line number of the current line as a_current_line_cursor/marker. See TV FLAG bit 4 and 1795 AUTO LIST. 1795 AUTO LIST current line must appear on screen 1855 OUT LINE prepare to print cursor 1865 OUT LINE1 print cursor ? key (3F) see also character codes, errors This character has two special uses: - it is printed out if an "unprintable" code has somehow got into the listing - a flashing "?" in the editing area indicates a syntax error. 09F4 PRINT OUT printed for meaningless codes 0A69 PO QUEST prints "?" for meaningless codes 1894 OUT LINE4 finds place for error cursor 18C1 OUT FLASH prints error cursor 1B6F SEPARATOR error marker shown if separator missing @ key (40h) see also character codes 039D K KLC DGT special case in key decoding 03B2 K @ CHR special case in key decoding [ key (5BH), \ key (5Ch), ] key (5Dh) see character codes key (5Eh) see "up arrow"; the symbol can't be printed withthis word processor key (5Fh) see "underline"; the symbol can't be printed with this word processor '@ Sinclair Research' message 1539 Printed only after NEW or on start-up, by 1219 RAM SET. <= key (C7), >= key (C8), <> key (C9) see < key --------