Echo #03
31 марта 1997 |
![]() |
Book - Secrets ZX-Spectrum: Bugs in the System.

Chapter 9. About R & B K & B C & S T E M E The authors of the operating system and BASIC interpreter in the ZX-SPECTRUM completed excellent job, but could not be saved from a few mistakes. 9. 1 Error fission Under the address # 3200 placed the value of # E1 instead of # DA. As a result, sometimes lost the last bit, which leads to erroneous rounding. The consequences of errors demonstrates the program: 10 LET A = A / B 20 IF A THEN GO TO 10 30 PRINT "received zero" Starting it with the values of A = 1 and B = 3, obtain a second printing: "received zero. "launching it anew, with values A = 1 and B = 2, loops, since SPECTRUM believes that 2 -128 = 2 -128 / 2. 9. 2 Error '-65536' The authors have made an inaccuracy in the representation of that number. Once it is stored in representation of floating point to another - as an integer code to add 2. The consequences of ambiguity there For example, under the directive: PRINT -65536. This will display the number of -1. 9. 3 mistakes CHR # 8 This control character must move the cursor left or the end of the previous line. It is well occurs in lines 1 ... 123, but from the beginning the first row at the end of the 0th row move impossible. By a curious effect is a request to move the cursor to the left of the field (0. 0). 9. 4 Error CHR # 9 This character must move the cursor right by one position. Here, however, admitted a serious mistake: all necessary calculations are carried out, however, the authors have forgotten modify the system variables. 9. 5 Error "PRESS ANY KEY ..." In some situations, SPECTRUM interrupts and waits for a push by pressing any keys by the user. Error leads to the fact that the computer does not respond to keyAnd , although both immediately reacts. 9. 6 Error index ticker Assume that the last line in the program has the number 1000. When you press 1001 and <ENTER>, And then , in the lower part of screen is scanned line 1000, but together with an index ticker, who before writing a line must be removed. 9. 7 Error DELETE When you delete the contents of the bottom screen using , in the lower part of the screen is scanned current line of the program and can not return to the control the size of this area. Required again to press <ENTER>. 9. 8 Error leading spaces Some key words during the display are not always separated by spaces from earlier: try, for example, perform PRINT CHR # 255; CHR # 13; CHR # 255. 9. 9 Error mode K After pressing the mode K and its Hold this position, the key begins to multiply. The cursor changes to a L or C, but still being printed in the character mode K. 9. 10 Error SCRFEEN # In cell # 2 570 should be located # C9 instead of # C3. As a result, the program instead of the expected number 12 will display 22: 10 PRINT "1234567890" 1920 LET A # = SCRFEEN # (0. 0) + SCREEN # (0. 1) 30 PRINT A # Even more amazing printing obtain If at the end of line 20's update + SCREEN # (0. 2) + SCREEN # (0. 4). Variable takes the value "55". This mistake is easily avoided by adding to the value of A # SCREEN # (0. 1) at a time, rather than a single expression. 9. STR # 1911 Error Working with numbers -1
Other articles:
Similar articles:
Lit.stranichka - Songs bards: the price of wine (satirical short story by playing "The Bard's Tale")
В этот день... 1 April
Info Guide #13,
ACNews #50,
Avro News #01,
ACNews #47,
ACNews #40,
ACNews #29,
Black Metall #01,
ACNews #16,
Adventurer #13,
Polesse #19,
Subliminal Extacy #03,
ZX Pilot #37,
Always #03,
Born Dead #0G,
Odyssey paper #08,
Optron #26,
City #08,
Zodiac #02,
Polesse #05,
Nicron #108,
X-Magazine #10,
Nicron #82,
Energy #01,
Sorrow News #03,
Sorrow News #02,
Proton #27,
Think #08,
Wallpaper #01,
Spectrum Progress #03,
Spectrum Expert #02,
Micro #01,
X-Files #02,
Gorodok #05,
Deja Vu #04,
Anecdotes #01,
X-Files #02,
Maximum #35,
Impulse #01,
Spectrofun #01,
Faultless #07,
Breeze #06,
Nicron #27,
Echo #03,
Oberon #01,
Spectrofon #19,
On-Line #30,
Sinclair Town #01,
Sinclair Classic #04,
Spectrofon #04