I've extracted the cover page, the table of contents, and the two pages which have Iskra-226 acticles on them. Those appear as Microprocessor Tools and Systems (June 1986).pdf Below I've OCR'd, used automated translation to English, then tried to warm it over to make more sense, but I'm sure it is still full of translation gibberish. ----------------------------------------------------------------- cover page ----------------------------------------------------------------- МИКРО ПРОЦЕССОРНЫЕ СРЕДСТВА И СИСТЕМЫ ISSN 0233-4844 6 1986 MICRO PROCESSOR TOOLS AND SYSTEMS ISSN 0233-4844 6 1986 ----------------------------------------------------------------- toc.jpg (table of contents, the interesting bits) ----------------------------------------------------------------- Komarov I.E., Tumanov A.A. The Use of assembler fragments in programming in BASIC-01 and BASIC-02 PC «Iskra 226» ... 20 POSM K.E., Moore A.E., Rebane R.V., Arulaane T.E. Operating system for PC «Iskra 226» ... 21 ----------------------------------------------------------------- page20.jpg ----------------------------------------------------------------- I.E. Komarov, A.A. Tumanov USING ASSEMBLY FRAGMENTS WHEN PROGRAMMING ON BASIC-01 AND BASIC-02 PC "ISKRA 226" The use of BASIC sometimes limits performance. Following the well-known "rule of 95%", it is enough to optimize the performance of approximately 5% of the program. BASIC-01 and BASIC-02 languages of the Iskra-226 computer allow the use of assembly routines that run via the ¤GIO' operator, which specifies a data array. For effective use of assembler sub-programs can use advanced methods access to RAM (OP) and accelerated run the control system's assembly routines memory (VII). Advanced access RAM. In BASIC-01, for many programs, supplying ¤GIO' one data array is enough; this one the array can serve as a data source for the Assembler Fragment (AF), receiver data or both. Difficulties arise when the AF needs to access several data objects in the BASIC program. The simplest solution is to use address constants corresponding to the beginning of each data object. BASIC-01 does not allow you to work with machine addresses, but you can find out the exact address values experimentally by using the ¤GIO' operator. In this case, the structure must be known arrays and other data objects. * Mayer S.G. Software Reliability. Moscow: World, 1980. ----------------------------------------------------------------- page21-left.jpg ----------------------------------------------------------------- Example: 10 DIM A¤(1000)2, E%(25), F¤180 20 ¤GIO' HEX(FFF6), A¤(): STOP 30 ¤GIO' HEX(FFF6), E%(): STOP 40 ¤GIO' HEX(FFF6), F¤: STOP Line 10 sets the data structure. To determine the addresses of each of the arrays, it is necessary to run the program according to RUN 20, RUN 30, RUN 40. However, before starting the BASIC interpreter and the above program, it is necessary to set a stop on the first AF command. This is done with the bootloader command STOP 76000. For the experiment, it does not matter which AF is set in the ¤GIO' operator. For simplicity, AF was used from one command /BB/. When the ¤GIO' operator is executed, control is transferred to the address 76000 UE, it stops, and the contents of the computer registers are displayed on the screen. The value of B7 register points to the beginning of the array specified in the corresponding ¤GIO' operator. So, for example, we get the following distribution of addresses: for A¤() B7=174056 for E%() B7=173766 for F¤ B7=173474 The obtained address values can be used in the designed AF as a constant or in the BASIC program variable accessible from the AF. In the BASIC-02 language, according to the ASMB B¤() operator, the machine program located in the B¤() array is written to the UP. Faster Startup. When using AF data during the execution of the ¤GIO' operator, the rewriting of codes from the OP to the UP is quite lengthy. In this case, the performance of the functions laid down in the Russian Federation is enhanced by two ¤GIO' operators. The first operator is "static", causing the long Av to be rewritten in the UP. In this AF, the first word should be the command /BB/, the second word is the backup. Therefore, after overwriting, a return to the BASIC program takes place immediately. This operator will be located in the preparatory part of the program. The operators of the second type are located in places where you want to perform some function embedded in the AF. Instead of full Av in such operators, an one-word AF starter is specified. This word contains the command /BP/ - go to the right place in the "static" AF. With a single-layer AF-taster, the ¤GIO' operator rewrite only those machine words that are specified in it in UP, plus the /BB/ command. In the example 100 ¤GIO' HEX(....), A() 200 ¤GIO' HEX(80BC), B¤ 300 ¤GIO' HEX(00BD), C() Line 100 will specify the transfer of AF to the UPD. Line 200 causes the AF to start from address 76200, and line 300 from address 76400. In the BASIC-02 language, access to the OP accelerated launch is implemented by the operator ASMB [, ...] where (octal number in the range 0-76777) starts the program on the set; lists variable user constants list items are separated by commas. List items are the raw data processed by the host program and the results of processing. The operator calculates the parameters of the elements (variable, type, value, or length and address) and ----------------------------------------------------------------- page21-right.jpg ----------------------------------------------------------------- arranges these parameters in RAM in a list, the start and end addresses of which are formed in cells 175 and 177. No. element | .... | 2nd element | 1st element ------------+--------------+--------------+---------------- cell 177 | Increase in | -> | cell 175 | addresses | | Information in RAM is written in words, and the number of words occupied by the elements of the list depends on the type of variable. Phone for information: 1-11-87, after 19.00., Smolensk. The article was received on March 3, 1986. UDC 681.325 (end of first article) K.E. Poom, A.E. Moop, P.B. Rebane, T.E. Arulaan OPERATING SYSTEM for the "ISKRA 226" PC This paper describes the implementation of CP/M-80 on an "Iskra 226" computer using a KR580IK80A microprocessor (i8080 clone), which is included in the Iskra 226 personal computer package in the form of the Iskra 015-85 telecommunication BIF. Interface with the Iskra 226 personal computer processor e. for the BIF, it is hardware implemented, so it remains to supplement the RAM capacity on the basis of the KR560IK80A with up to 64K bytes, providing the address space necessary for the CP/M OS with a separate address field for input / output commands, which is done by adding a separate "Iskra 015-85" BIF printed circuit board, adjacent place in the expander. As a result of modernization, there is an additional possibility of such an application of the Iskra 226 personal computer complex, where the role of the central microcomputer is played by the upgraded Iskra 015-85 BIF operating under the control of the CP/M OS, and the main PC processor is the input/output processor. When developing software, two main parts are distinguished: - BIOS development for OC CP/M in the KR580IK80A command system, which directs the input-output operation to be performed by the Iskra 226 personal computer processor; - creating drivers for peripheral devices in the main processor of the PC. The most complex one is the floppy disk drive driver, which has different requirements between the CP/M OS and the BIF "Iskra-015-21" firmware, since it is advisable to use the widespread organization of the floppy disk OS CP/M. The upgraded BIF "Iskra 015-85" is software compatible with the standard. The driver for NMD "Izot 5400" has been implemented. In addition, in the free space of the RAM of the PC, a superportable directory of HDD is organized. Using the CP/M-80 OS on the Iskra 226 computer, it is possible to directly control any peripheral devices from the side of a program operating in the CP/M OS environment; debugging programs for the KR580IK80A microprocessor and the Iskra 226 personal computer communication processor; compatibility at the level of programs and media microcomputer SM 1800; access to the library of tools and software. Programs were installed under the CP/M OS for processing data and text information. The corresponding add-on circuit board has been developed and operated since 1986. For information: 492082, Tallinn, 200006, ESSR, 1681, Data Processing Center. The article was received on April 9, 1986. "Microprocessor Tools and Systems" No. 6, 1986