De tre første instruksjonene måtte tastes inn på konsollen til høyre. Hullbåndleseren RC2000 til venstre kunne lese 2000 tegn/sekund. FACIT båndkarusell (i midten) kunne leveres som tilbehør.
GIERs arbeidsminne var satt sammen av 42 magnetkjernekort av lignende utføring, det inneholder 1024 bit.
**GIER** (**G**eodætisk **I**nstituts **E**lektroniske **R**egnemaskine) er en datamaskin som ble produsert av det danske firmaet Regnecentralen. 

I 1958 hadde Geodætisk Institut fått i oppdrag å tilpasse sitt trianguleringsnett til UTM-koordinater. For å løse denne oppgaven ble det startet et samarbeidsprosjekt med Regnecentralen, der instituttet leverte komponentene og regnesentralen utviklingsarbeidet, derav også maskinens betegnelse. Den første GIER ble utlevert i oktober 1961, tilsammen ble det produsert 56 eksemplarer.

Oppbygning
----------

I stedet for skjerm og tastatur hadde GIER en slik skrivemaskinterminal (maskinen bak er ikke GIER).
GIER var en såkalt andregenerasjons regnemaskin fordi den var basert på transistorer i stedet for rør. Arbeidsminnet var et magnetkjerneminne med 1024 maskinord på 42 bit. Den arbeidet med virtuell hukommelse, et trommelminne med 320 kanaler á 40 maskinord ble brukt som bakgrunnslager, hullbånd av papir var et vanlig eksternt lagringsmedium. Den ble ikke styrt fra skjerm og tastatur, men fra en elektrisk skrivemaskin. I motsetning til senere datamaskiner var den heller ikke interruptstyrt, så den kunne ikke utføre andre oppgaver mens den ventet på data fra hullbånd eller fra skrivemaskinen. På grunn av det lille arbeidsminnet og bakgrunnslageret, som tilsvarer 5376 byte henholdsvis 67200 byte, var maskinkoden optimert til å omfatte så mye funksjonalitet som mulig ved minst mulig forbruk av minneplass. Et maskinord kunne for eksempel inneholde to grunnleggende instruksjoner eller én utvidet instruksjon.

Programvare
-----------

Maskinen ble programmert i GIER Algol eller assemblerspråket SLIP (Source Language Input Program). Den hadde ikke noe permanent minne (ROM), når den skulle startes måtte derfor de første instruksjonene (3 maskinord á 42 bit) tastes inn bit for bit manuelt. De inntastede instruksjonene leste inn binærkode direkte fra hullbånd, som la seg oppå instruksjonene slik at de ble modifisert til en såkalt boot-lader. Denne leste så inn resten av det *primitive input*-programmet, dette var grunnmodulen i operativsystemet Help 3, og muliggjorde videre kontroll over GIER via en skrivemaskinterminal.

GIER Algol var en variant av Algol 60 som var tilpasset maskinens begrensninger og særegenheter. Tegnsettet var for eksempel utvidet med æ og ø, og den hadde reserverte rutiner for å betjene tilbehør som skrivemaskin eller hullbåndstanser. I den første versjonen hadde disse rutinene identifikatorer med dansk språk som grunnlag, slik som *læstegn*, *skrvtekst* eller *tryk*, i senere versjoner ble disse utskiftet med engelske identifikatorer av formen *write...*. Arbeidsminnet hadde svært liten kapasitet slik at antall variabler under gunstige betingelser maksimalt kunne være ca. 700, derfor fantes det egne rutiner for å mellomlagre data på trommelminnet.

Også assemblerkoden SLIP var avledet av dansk, med kommandoer som *TL - tæl lang*, *LY - læs ydre enhed*, *HH - hop højre* eller *GR - gem register*.

I Norge
-------

Den første GIER i Norge ble levert 1962 til Institutt for atomenergi i Halden, den første elektroniske regnemaskinen på NTH i Trondheim var også en GIER, den ble levert samme år. Senere ble det også levert en til NTHs Institutt for Reguleringsteknikk (idag Institutt for teknisk kybernetikk). Norges Vassdrags- og Elektrisitetsvesen hadde også en av de første eksemplarene i drift.

Maskinen som ble levert til IFA i Halden er fremdeles i behold på (nå)IFE i eller på Industrimuseet i Halden

Eksempler på programmering
--------------------------

### GIER Algol

Dette programmet regner ut gjennomsnittet av absoluttverdiene til alle elementene i et array. Til sammenlikning se eksempelet i Algol 60.

```
 comment the main program (this is a comment);
  
 begin
   integer N;
   N:=read integer;
   
   begin
     real array Data[1:N];
     real sum, avg;
     integer i;
     sum:=0;
     
     for i:=1 step 1 until N do
     begin real val;
       val:=read real;
       Data[i]:=if val<0 then -val else val
     end;
     
     for i:=1 step 1 until N do
       sum:=sum + Data[i];
     avg:=sum/N×100;
     write(|<d ddd ddd.dd|>, avg)
   end
 end
```

På GIERs skrivemaskinterminal transporterte tegnet | (pipe) ikke vogna videre, slik at < og > ble skrevet oppå | i oppropet av write-prosedyren.

### Assemblerkoden SLIP

Eksempelet viser de tre instruksjonene som tastes inn manuelt for å lese inn bootstrap-programmet. Tre rigistre blir brukt: R - regneregisteret, M - multiplikatorregisteret og S - sekvensregisteret.

```
Adresse instruksjon      betydning
[0]     tl -6,   ca 0    tæl lang -6, coicidens adressetal 0
[1]     ly r4,   hs r-1  læs ydre relativt 4, hop sekvensielt relativt -1
[2]     gm s3 t -1 M     gem M-register sekvensielt 3 tælt -1 nulstil mærkebits
[3]
[4]
```

Programmet går i sløyfe i instuksjonene [0] og [1] og leser tegn etter tegn inn i R-registeret fra et 7-kanals hullbånd. Et tegn består av bits/hull 0-6, det siste tegnet i en instruksjon er kjennetegnet ved at bit 7 er satt. Etter shift-operasjonen (6 posisjoner mot høyre inn i M-registeret) står dette fremdeles i R-registeret og testen ca 0 feiler og [1] blir ikke utført. Den innleste instruksjonen, som nå står i M-registeret, lagres i [3]. Denne adressen beregnes slik: 

hs r-1 har allerede ført til at hoppinstruksjonens adresse (=1) blir lagret i S-registeret,
adressetallet 3 blir modifisert med telletallet -1 og er nå 2,
innholdet av S-registeret (=1) adderes og resulterende adresse er 3.
Instruksjonen som ble lagret i [3] var et hopp til [1], neste instruksjon ble lagret i [2] som dermed ble modifisert til å lagre de følgende instruksjonene et annet sted i arbeidsminnet.

Referanser
----------

1. 1 2  Knut Skog (20. november 2002). «Da NTH fikk sin kollektive PC: GIER» (PDF). Besøkt 9. mai 2013.
2. 1 2  Søren Lauesen (1967). «A Manual of Help 3» (PDF). A/S Regnecentralen. Besøkt 9. mai 2013.
3. 1 2  Chr. Andersen og Chr. Gram (september 1962). «Lærebog i kodning for GIER» (PDF). A/S Regnecentralen. Besøkt 17. mai 2013.
4. 1 2  Erik Ween (20. februar 2008). «A/S SCANIPS, Norge, 1964 – 1978» (PDF). Besøkt 13. mai 2013.

Eksterne lenker
---------------

* (en) GIER – kategori av bilder, video eller lyd på Commons Rediger på Wikidata
* datamuseum.no Arkivert 27. mai 2011 hos Wayback Machine.
* Dansk Datahistorisk Forening om GIER
* GIER i en presentasjon av NTNU