GIER/Testsoftware

Fra DDHFwiki
Spring til navigation Spring til søgning

Boot loader

Så længe vi ikke har en kørende tromle må vi benytte os af det primitive indlæsningsprogram på kanal 0. De tre celler kan lægges permanent ind i toppen af ferritlageret som således:

1013: 0-6,8,21,24,31-32,35,40
1014: 7,10-22,24-25,28,30-31,34,38,40
1015: 8-19,21-22,24,29,34
1016: 0-5,7,9,24,26
1017: 21,23,25,34,38
1018: 0-5,7-8,24,26
1019: 9,21,23,25,34,38
1020: 0-5,7-9,24,26
1021: 8,21,23,25,34
1022: 5,20-21,24-26,35,40

Når man så starter i 1016 (r1=1111111000) kopieres de tre celler til celle 0,1 og 2, vy 16 vælges, R nulstilles og GIER stopper. Man kan nu læse strimlen ved at starte i r1=0.

Hulning af strimler til GIER

Vi har en punch/reader med RS-232 interface. Jeg har købt et USB seriel interface og forbundet til punchen.

Man skal vælge 4800 baud, hardware handshaking. På Linux gøres dette ved:

stty -F /dev/ttyUSB0 4800 crtscts

Man kan så hulle en strimmel ved at sende tegnene til /dev/ttyUSB0:

cat fil.flx >/dev/ttyUSB0

Hardware tests

n2

Det første program som kørte korrekt på DASK var et program der beregner n2 for n=1,2,3, etc.

Det beregnede produkt sammenlignes så vha. n2 = (n-1)2 + 2n - 1 hvor (n-1)2 er resultatet fra iterationen før.

Maskinen stopper hvis betingelsen ikke er opfyldt. Hvis alt går vel tager det ca. 7½ minut før n bliver for stor til at n2 kan rummes i en celle.

Maskinen stopper så fordi overløbet gør at betingelsen ikke er opfyldt.

Programmet indlægges som:

10: 6,8-9,16-17,21,23,25-26,28,31,33,35-36,38,40
11: 6,8,16,19,24,26,28,34,38,40
12: 6,9,21,23,25,28,30
13: 6,16,22-23,26,28,34,36,38,40
14: 9,17-18,21-22,34-35,38,40
15: 7-9,23-24,28,30
16: 7-8,24-25,28
17: 0-6,8,20-22,28,33-34,36
18: 25
19: 0-5,7-9,20-22,28
20: 39

Man starter programmet med r1=10. Højttaleren er tavs indtil overløbet til slut.

Test nr. 7

Test program nr. 7 i GIER Testprogrammer tester ordrene ARF, SRF, MKF og DKF på pseudo-tilfældige tal.

Programmet kører i ca. 35 sekunder hvorefter resultatet udskrives oktalt på skrivemaskinen.

Jeg kan huske at programmet blev brugt hver morgen hos Topsøe imens operatøren stillede spændinger i maskinen. Var én af spændingerne sat forkert regnede maskinen galt!

Programmet kan indlæses i simulatoren og man kan hulle en kanal-0 læsbar strimmel ud med binout,_041..512<

Se ovenfor hvordan en strimmel hulles ud på punch'en med seriel interface.

Så længe vi ikke har en fungerende skrivemaskine kan man sætte KB=1 for at stoppe maskinen ved hvert gennemløb. Resultatet af beregningerne står så i cellerne 117-120.

Help 3

Vi håber selvfølgelig at tromlen indeholder et intakt Help-3 system, så man bare kan trykke Reset/HP-knap og få gang i maskinen. Hvis det lykkedes skal vi huske at notere datoen Help-3 udskriver.

Hvis det ikke er tilfældet skal skrivebeskyttelsen af tromlekanal 0 og 1-31 fjernes og kanal 0 strimlen indlæses som beskrevet i How to load the HELP-3 systemSimulator tutorial siden.

Tilladelse til skrivning på kanal 0 styres af en switch på pladen 0200-4 i C5-21.

Man behøver "kun" at følge de 22 første punkter da strimlen med Basic Help-3 netop passer til en GIER med én tromle.

Når Help-3 er indlæst låses kanal 0-31 igen.

GIER ALGOL 4

Indlæsning af GIER ALGOL 4 oversætter.

En GIER maskine med én tromle sætter begrænsninger på, hvad man kan have installeret på maskinen. I første omgang kan man bruge den transiente version af ALGOL oversætteren, som ikke kræver ga4 på tromlen (som fylder 171 kanaler).

Man genererer en transient version ved at følge vejledningen How to load the GIER ALGOL 4 compilerSimulator tutorial siden.

e14 sættes til 117 som passer til nummeret på den første tromlekanal i free. e27 skal ikke sættes til 1 - med mindre vi får gang i bufferenheden til GIER! Selv om vi ikke har enheder til at sætte på bufferen kan man med fordel sætte e27 til 1 da GA4 så placerer array's i bufferens 4096 celler.

I punkt 15 sætter man d35=6, så hulles tre strimler ud. Den første strimmel med spaces kasseres.

Vi har færdige strimler med den transiente oversætter, men vær opmærksom på at bruge strimler som passer sammen, ellers får man pass sum fejl under oversættelsen.

Den transiente oversætter bruges ved at man lægger den første oversætterstrimmel i læseren og starter oversættelsen vha.

algol,r<

Parameteren r gør, at oversætteren læses fra strimmellæser i stedet for tromlearealet ga4. Den første strimmel indeholder General Pass og pass 1 af oversætteren. Så lægges strimlen med ALGOL programmet i læseren og der trykkes på space. Efter indlæsningen lægges strimmel nr. 2 med oversætteren i læseren og der trykkes på space. Efter ok kommer man tilbage til Help 3 og skriver

run<

for at starte programmet.

Har man brug for ekstra plads på tromlen kan man slette slip og print inden oversættelsen. Man kan også slette edit og køre compress. Det kræver kun indlæsning af én strimmel at få dem på plads igen.

demon3, demon5, demon7 og "20 spørgsmål" kræver alle den transiente ALGOL oversætter, ellers får man program too big under oversættelsen.