Adventurer #09
30 апреля 1999 |
|
Exchange of experience - Rapid procedure for finding the root of the number and Testing Kempston-port of SerzhSoft'a.
(C) SerzhSoft A couple of words about sore And you and your ear does not blink ... I write these lines in the park the wild, so read accordingly! -) Time really is very little ... : - (Sessiya! - ( You may have already met with me log Kemerovo pages Deja Vu, in the section "CODING", of course ... For a long time I sent my article only in this magazine and in vain! : -) For printed they are not at the highest level: that part of the article somewhere lost, the source, and sometimes - contrary to the log placed sources, and Article disappeared in an unknown direction; listings for the 64-character format turned into a miserable 42-character, etc. etc: - (Yes, and in the magazine itself has long time used my library of survey keyboard and joysticks + motion arrows without attribution ... All is gradually flooded the bowl of my patience, which led to what we met on the pages of other publications ... Thus, in the fifth issue of Deja Vu Again There was garbage in my articles - were published only source programs, and the articles themselves have gone to # @% in ... They were written were still in June, during the summer session, and still did not come to light! So, this: a note about the sinuses, the article attribute of the rotational and iskazhalku article about the Olympiad problems ... Now let's talk about the article Cardinal 'and in the sixth issue of ... I did not thought that someone have "root problems! "The most simple and fast procedure for finding the root of the number specified in HL: SQR_HL LD BC, # 0040; <10> LD A, H; <4> OR A; <4> JR Z, GO_SQR; <12 / 7> LD A, L; <4> LD L, H; <4> LD H, B; <4> ; DUP 4; BEGIN 4 SBC HL, BC; <15> JR NC, $ +3; <12 / 7>} ADD HL, BC; <11>} 12/18 CCF; <4> RL B; <8> ADD A, A; <4> ADC HL, HL; <11> ADD A, A; <4> ADC HL, HL; <15> EDUP; END} 292 .. 316 ; GO_SQR DUP 4; BEGIN 4 SBC HL, BC; <15> JR NC, $ +3; <12 / 7>} ADD HL, BC; <11>} 12/18 CCF; <4> RL B; <8> ADD HL, HL; <11> ADD HL, HL; <11> EDUP; END} 244 .. 268 ; LD L, B; <4> LD H, A; <4>} 294 .. 629 RET If the number from which you remove the root, less than 256 (ie, high byte is equal to 0), execution time is from 294 to 318 strokes, otherwise - from 581 till 629 cycles. RET command is ignored since you can put this whole piece of code directly into any procedure ... -) Use registers HL, BC, AF. The result of catch in the HL, and H = 0, of course! Or see Register B - There is also a root. : -) Battery reset. By the way, Cardinal - boy, that drew attention to a typographical error in protsedurke switch pages ... Well, where else OUT (C), A and LD (BANK_M), A were mixed up ... Of course, the first port value must be maintained in the cell and only then displayed in the port itself! In the source code, then it was all right, but when I typed the text of the article in the ZX-WORD 's (As of now, in a wild rush!), Then slipped past this unfortunate inaccuracy ... A spinner sprites if you want you can do before the fast, which is turning a sprite the size of the screen is wasted no more than a few seconds! If you want to - I write - as ... -) Recently, many electronic media (newspapers, magazines ...) used Kempston Mouse ... But some comrades forget to test hardware for the presence thereof, bells and whistles! As a result, hang, buggy, or simply "dropped"! : - (And therefore I present the process of verifying your computer for your mouse (And the joystick at the same time!). When buggy bus mouse data safely "cuts off", and not "is" as some ... -) ;------------------------------------------------- -----------; ; KEMPSTON PORT TESTER (K. MOUSE 'K. JOYSTICK); ; Written by Kolotov Sergey (c) SerzhSoft, 1998; ;------------------------------------------------- -----------; TST_KMS LD BC, # FADF; k.mouse port LD HL, # 0000; begin: mouse, joystick present LD D, # 09; time of testing LP_TKMS IN A, (C) INC A OR L LD L, A IN A, (# 1F); k.joystick port AND # 1F OR H LD H, A DEC DE LD A, D DEC A JR NZ, LP_TKMS OR L JR NZ, NO_MOUS INC B; # FB IN A, (C) CP E; A = # FF? LD A, D; # 01 - yes_ms JR NZ, ON_MOUS LD B, E; # FF IN A, (C) CP E; A = # FF? LD A, D; # 01 - yes_ms JR NZ, ON_MOUS NO_MOUS XOR A; # 00 - no_ms ON_MOUS LD (MOUSEFL), A; 0 - no mouse / 1 - yes mouse LD A, H OR A LD A, D; # 01 - yes_km JR Z, ON_KMPS NO_KMPS XOR A; # 00 - no_km ON_KMPS LD (KEMPSFL), A; 0-no joystick / 1-yes joystick RET ;------------------------------------------------- -----------; Example of using the mouse you can found in the appendix - a file CURSORLB.C. It can be compiled in any Assembler (best in the ZX-ASM 's!) pre-translated into a format that assembly from the text states, in Do this file now resides ... In you end up with an updated and extensive library of survey administration and Kempston Mouse, the first time in upublikovannuyu ZX-REVIEW ... Okay, I'll call it a day ... Yes, I almost forgot! Editor in chief of Deja Vu cruelly "slaughtered" a new hatch section devoted to fantasy and fantastic! : - (I was against it ... But if readers write that it is necessary, then I sure that the topic be reborn! Main send their "top ten" of domestic and foreign fiction ... Bye! With best wishes, Serzh. P.S. FunTop98 - rulez! I dragged! P.P.S. Big hello to all your friends! My address is: 641800, Kurgan region., Mr. Shadrinsk, st. Karl Liebknecht, 27, Apt. 1 Kolotova Sergei Sergeyevich E-mail: lonewolf@zaural.ru subj: to SerzhSoft.
Other articles:
Similar articles:
В этот день... 21 November