Electronics D3-28 är en specialiserad stationär kontroll- och datorenhet som upptar en mellanposition mellan persondatorer och programmerbara miniräknare .
Skapad på grundval av Electronics C50 (15VSM-5)-maskinen, där den programmerbara miniräknaren Wang 700 [1] var prototypen . Den har ett inbyggt tangentbord (numeriska och funktionstangenter), en tvåraders display på sjusegmentsindikatorer (12 mantissa siffror, två graders siffror och två teckenindikatorer i varje rad) och en magnetisk bandenhet (NML) i standard ljudkassetter .
Den är också utrustad med IRPR- och IRPS- gränssnitt (i form av en PEL2.240.001-matchningsenhet), till vilken en skrivare och en alfanumerisk terminal vanligtvis var anslutna (vanligtvis modellerna 15IE-00-013 ).
Den första D3-28-serien hade firmware lagrad i skrivskyddade minnesenheter (ROM) på en matris av ferrit hopfällbara U-formade kärnor gjorda av magnetiskt mjuk ferrit manuellt sydd med en tunn tråd). I efterföljande serier utfördes ROM på integrerade kretsar.
I vissa testkopior av maskinerna installerades ROM-skivor med firmware i sockets; det fanns speciell firmware för dessa ROM för att använda enheter som en del av specialiserade datorsystem.
Under produktionen av D3-28 förbättrades den interna arkitekturen och mjukvaran med tillägg av nya kommandon. Generationerna D3-28 (i enlighet med bruksanvisningen) är indelade i "utgiven före oktober 1979", efter detta datum och "efter 1983".
16 kilobyte RAM (mikrokretsar i de första utgåvorna - K565RU1 , i efterföljande - K565RU3 och K565RU6 ).
Utåt skilde det sig också i den röda färgen på indikatorernas glöd och färgen på plexiglasplattan som täcker dem. Efterföljande modeller hade orange siffror under ett grönt filter.
Utrustad med 32 kilobyte RAM, gjord på 565RU6 mikrokretsar.
Utrustad med 128 kilobyte RAM, gjord på 565RU5 mikrokretsar.
Beroende på version (kodad som xxx i beteckningen 15VM128-xxx), hade D3-28 möjlighet att ansluta till fotoläsare (SP-3 och FS-1501), tejpstansare (PL-150M), skrivare (till exempel, Consul 256, Consul 260), specialblock för anslutning av monitorer av typen 15IE-00-013, samt möjligheten att ansluta fjärrkontrollenheter D3-28. Genom att ansluta skrivarenheten på Consul-skrivmaskinerna och monitorn förvandlades D3-28 till en persondator.
Det var möjligt att ladda ner och automatiskt starta programmet via gränssnittet när maskinen slogs på.
För Electronics D3-28 med ett RAM-minne på 32 K, kodas kommandona för det maskinorienterade språket D3-28 med två eller fyra hexadecimala siffror.
En uppsättning kommandon baserade på KOI-7 (uppsättning 2) i form av ryskspråkiga kommandon och en maskinell 4-siffrig hexadecimal kod för elektroniken i DZ-28-datorn visas i tabellen. Raderna i tabellen är de höga 4 bitarna i koden, kolumnerna är de låga bitarna.
.0 | .ett | .2 | .3 | .fyra | .5 | .6 | .7 | .åtta | .9 | .A | .B | .C | .D | .E | .F | |
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
0. |
PUS 00 00 |
NC 00 01 |
NT 00 02 |
KT 00 03 |
KP 00 04 |
KTM 00 05 |
JA 00 06 |
SW 00 07 |
VS 00 08 |
GT 00 09 |
PS 00 10 |
Tis 00 11 |
PF 00 12 |
VK 00 13 |
EXIT 00 14 |
BX 00 15 |
ett. |
AP1 01 00 |
(SS1) 01 01 |
(SS2) 01 02 |
(SS3) 01 03 |
STP 01 04 |
NO 01 05 |
BLÅ 01 06 |
KB 01 07 |
AN 01 08 |
KN 01 09 |
ZM 01 10 |
AR2 01 11 |
RF 01 12 |
WP 01 13 |
RZ 01 14 |
RE 01 15 |
2. |
SPACE 02 00 |
! 02 01 |
” 02 02 |
# 0203 |
¤ 02 04 |
% 0205 |
& 02 06 |
02 07 |
( 02 08 |
) 02 09 |
* 02 10 |
+ 02 11 |
'02 12 |
- 02 13 |
. 02 14 |
/ 02 15 |
3. |
0 03 00 |
1 03 01 |
2 03 02 |
3 03 03 |
4 03 04 |
5 03 05 |
6 03 06 |
7 03 07 |
8 03 08 |
9 03 09 |
: 03 10 |
; 03 11 |
< 03 12 |
{{{2}}} 03 13 |
> 03 14 |
? 03 15 |
fyra. |
@ 04 00 |
A 04 01 |
B 04 02 |
C 04 03 |
D 04 04 |
E 04 05 |
F 04 06 |
G 04 07 |
H 04 08 |
I 04 09 |
J 04 10 |
K 04 11 |
L 04 12 |
M 04 13 |
N 04 14 |
O 04 15 |
5. |
P 05 00 |
Q 05 01 |
R 05 02 |
S 05 03 |
T 05 04 |
U 05 05 |
V 05 06 |
W 05 07 |
X 05 08 |
Y 05 09 |
Z 05 10 |
[ 05 11 |
\ 05 12 |
] 05 13 |
¬ 05 14 |
_ 05 15 |
6. |
Yu 06 00 |
A 06 01 |
B 06 02 |
C 06 03 |
D 06 04 |
E 06 05 |
F 06 06 |
G 06 07 |
X 06 08 |
och 06 09 |
J 06 10 |
K 06 11 |
L 06 12 |
M 06 13 |
H 06 14 |
Cirka 06 15 |
7. |
P 07 00 |
Jag är 07 01 |
R 07 02 |
Från 07 03 |
T 07 04 |
U 07 05 |
F 07 06 |
Klockan 07 07 |
f 07 08 |
S 07 09 |
Z 07 10 |
SH 07 11 |
E 07 12 |
S 07 13 |
Ch 07 14 |
ST 07 15 |
Förklaringar till tabellen
För att underlätta uppfattningen av kommandon används mnemoniska koder i monteringsform , som visas i tabellen:
Monteringsvy | Beskrivning | Monteringsvy | Beskrivning |
---|---|---|---|
ABGE | lägg till en och förgrena om den är större än eller lika | BEQ | hoppa om lika |
LÄGG TILL | tillägg | E | exponent, (exponent) |
OCH | logisk multiplikation | BLT | hoppa om mindre än |
ANS | analys | ELLER | logiskt tillägg |
GÅ | Start | BKEY | hoppa om en tangent trycks ned |
LADDA | läser in | BGE | hoppa om det är större än eller lika |
LADDA | läsning från ML | BHIS | hoppa om det är större än eller identiskt |
DIV | division | MOV | spedition |
SUB | subtraktion | keps | konvertera kartesiska koordinater till polära koordinater |
RTSI | pseudo-retur från subrutinen | SKRIVA UT | Skriv ut |
I P | inmatning | POC | konvertera polära koordinater till kartesiska koordinater |
SNYFTA | enhetssubtraktion och villkorligt hopp | SPARA | inträde |
MARK | märka | UT | slutsats |
MUL | multiplikation | ATOI | omvandling till heltal |
BBIS | hoppa om biten är inställd (=1) | PUNKT | punkt |
VÄNTA | förväntan | cmd | team |
SWA | utbyta | DEG | grad |
CLR | rensa registret (nollställa) | COM | tecken inversion |
NEG | negation | BR | hoppa villkorslöst |
INT | hela | RT II | pseudo-retur från avbrott |
VER | kontrollera | BSA | förgrening eller identitet |
GRÄV | siffra (decimal) | RTS | tillbaka från subrutinen |
SQR | Roten ur | RES | återstoden |
INV | ömsesidig | QRT | fyrkant |
JMM | överföra kontrollen till etiketten | BPER | hoppa om programfel |
XOR | exklusiva eller | BNE | hoppa om inte lika |
BMER | hoppa om maskinfel | BPL | hoppa om plus |
BEV | övergång om ens | BMI | hoppa om minus |
BBIC | hoppa om biten rensas (=0) | SLUTET | slutet |
Det är möjligt att arbeta i ett av fyra lägen: 'P', 'V', 'PV', 'P' lägen slås på genom att trycka på knappen och indikeras av lyset från indikatorn bredvid.
Symbol på nyckeln |
Lagnamn _ |
Mnemokod | Kommandokod _ |
---|---|---|---|
M | Märka | MARK | 04 08 |
SL | Läser från ML | LADDA | 05 13 |
S | Start | GÅ | 05 14 |
VP | Återkalla från minnet |
MOV C,X | 04 05 |
RFP | Minnesskrivning _ |
MOV X,C | 04 04 |
Allt minne adresseras oberoende på två huvudsakliga sätt:
I 128-kilobyte-versionen av maskinen används en personsökningsorganisation av minne med omedelbart omkopplingsbara (genom att ändra tillståndet för kontrollminnescellerna) sidor på 16 kilobyte vardera. Adressutrymmet utan att använda sidväxlingsmekanismen är 32 kilobyte.
Register adresserades som minnesceller på några fasta adresser. I detta fall visas X- och Y-registren för aritmetik med flyttal kontinuerligt på två indikatorer.
I huvudprogrammets stoppläge var de flesta tangenterna på tangentbordet för aritmetiska och funktionella operationer med siffror i X- och Y-registren.
När huvudprogrammet kördes visade indikatorerna tillstånden för X- och Y-registren, men det fanns flera kommandon som gjorde det möjligt att ändra hur motsvarande minnesområde visades till ett av flera serviceregister.
Vid felsökning och start av den stegvisa exekveringen av programmet som felsöks, visade indikatorerna adressen till det körbara kommandot, operationskoden och de kommande tre byten med kommandon i minnet.
Register för att arbeta med bytes, 16-bitars ord var 16 vardera, medan 16 byteregister fysiskt sammanföll med de första åtta 16-bitarsregistren.
Koden | Typ av fel | Koden | Typ av fel |
---|---|---|---|
0 | Användarminnet flödar över | 26 | Ogiltig DATA-sats |
ett | Ogiltigt uttalande | 27 | Fel format på CMD-kommandon |
2 | Ingångsledningsspill | trettio | Fel format i FOR...NEXT-satsen |
3 | Ogiltig avgränsare i strängen | 31 | Avsaknad av NÄSTA |
fyra | Ogiltigt radnummer | 32 | Nej FÖR |
5 | Citera missmatch i en mening | 33 | Stack Overflow FÖR...NÄSTA |
6 | Saknar öppningsklammer före funktionsargument | 34 | Noll steg FÖR |
7 | Ogiltig LET-sats | 35 | Ogiltigt PRINT-satsformat |
tio | Fel indexinmatning | 36 | Fel utskriftsstorlek inställd |
elva | Fel indexdimension | 37 | Ogiltigt uttryck i TAB-satsen |
12 | Parenteser matchar inte i ett uttryck | 38 | Ingen öppningsskiva i magnetband (ML) |
13 | Ogiltigt uttryckselement | 43 | Det finns ingen rad att hoppa på GOSUB- eller GOTO-satser |
fjorton | Användarfunktion ej definierad | 44 | Det finns ingen extern subrutin med det angivna namnet |
femton | Ogiltigt variabelnamn | femtio | Fel erbjudande med ML tjänsteoperatör |
tjugo | Fel relation operation | 52 | Filstrukturfel |
21 | Ogiltig IF-sats | 53 | Frånvaron av en array i lagringsenheten vid mottagning från ML |
22 | Ogiltig COM- eller DIM-sats | 54 | Nästa block med data från ML i RAM lästes inte |
23 | Inte tillräckligt med utrymme för DIM-array | 55 | Läsblocket passar inte i RAM |
24 | Fel DEF-påstående | 123 | obefintlig variabel |
25 | Inga data för READ-satsen | 128 | Felaktig funktion under beräkning |
Maskinen hade som standard en kompakt kassettbandläsare/skrivare som användes i konsumentbandspelare.
Ingångs-utgångsgränssnittet gjorde det möjligt att ansluta en stansare och en stansad bandläsare, samt en åtta-tums diskettenhet.
En specifikation för ett lokalt nätverk med upp till 255 enheter (maskiner eller externa enheter, såsom skrivare) utvecklades och implementerades baserat på IRPR-parallellgränssnittet. Nätverkstopologin är en vanlig buss. Antalet anslutningsledare i kabeln är 34. Till exempel var från 5 till 18 maskiner anslutna i datorrummet vid Moskvainstitutet för fysik och teknik .
BASIC -språktolken (alternativ 3A) implementerades på Elektronika D3-28-datorn . Anmärkningsvärt för det faktum att det tilläts, omedelbart efter att tolken laddats, att ladda tolktilläggen i inbyggd kod med NML. Anknytningar anropades genom CALL-uttrycket med anknytningspaketnummer. Dessa tillägg gjorde det möjligt att kompensera för språkets begränsningar, det fanns tillägg för att arbeta med strängar, för tät packning av heltalsdata och många tillägg för att arbeta med kringutrustning. Från början stödde BASIC 3A endast reella tal.
Uppkallad efter namnet på författaren - Vladimir Alekseevich Tuzhilkin, distribuerades den huvudsakligen i Moskvainstitutet för fysik och teknik, där tolken skrevs. Fördelar - mer funktionalitet och mindre minne än den "officiella" versionen (8 KB mot 10,5 KB). Nackdelen är att tolken är designad för en icke-standardiserad anslutning av 15IE-00-013-skärmen, vilket begränsade dess bredare distribution. Den använde ett format för att lagra program och data, vilket också var inkompatibelt med originalversionen, men på grund av tillgången för ett stort antal MIPT-studenter till dessa maskiner överstiger volymen "mjukvara" skriven för denna dialekt vida volymen av andra program för D3-28.
Självnamn, visas efter den framgångsrika lanseringen av komplexet. Fungerade endast på system med 128 kB minne. Fortran-dialektkompilatorn, som sällan användes på sådana maskiner, gav prestanda jämförbar med ett program som ursprungligen skrevs i maskinkoder. Det kompilerade programmet skulle kunna skrivas till en kassett och användas oavsett vilken kompilator som är laddad. Under kompileringen förstörde den här kompilatorn ibland programmets källkod (förmodligen i fallet med en stor mängd av den), men tillät att den körbara modulen sparades korrekt. Tillåtet att infoga fragment i maskinkoder. Kanske var det grunden eller en tidig version av OS VT-MKhTI.
vid Moskvas institut för kemisk teknologi. D. I. Mendeleev skapade ett operativsystem som heter institutets namn - OS VT-MKhTI. Utvecklaren av detta system var Vladimir Kalinkin. Systemet inkluderade en tolk-kompilator av sitt eget programmeringsspråk VT-MKhTI, som fungerade en storleksordning snabbare än den vanliga "Basic" och ett antal systemverktyg . Systemet genererades från en kassettgenerator (liknande ES-1022 ), det genererade systemet spelades in på en andra kassett.
Ett inslag i programmeringsspråket VT-MKhTI var användningen av både engelskspråkiga och ryskspråkiga operatörer och närvaron av interaktiv input (något som T9 på moderna smartphones ). Nu är det svårt att hitta en beskrivning av OS VT-MKhTI på nätverket, men det finns många användare som kommer ihåg detta system: 1 , 2 , 3 .
Datorer i Sovjetunionen | ||||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| ||||||||||||||||
|