Anders lagar en gammal dator (-relaterad pryl)

Berätta om dina pågående projekt.
Användarvisningsbild
petertub
Inlägg: 1079
Blev medlem: 21 september 2022, 15:59:11
Kontakt:

Re: Anders lagar en gammal dator (-relaterad pryl)

Inlägg av petertub »

bqt skrev: 25 augusti 2024, 22:58:59 Vad gäller PDP-11, så går det dessvärre inte så enkelt. 014747 är det nog du tänker. Och det blir:

Kod: Markera allt

MOV -(PC),-(PC)
så den fyller hela minnet med det ordet, men exekverar baklänges, och lär stoppa när du kommer till I/O page, dvs någonstans i toppen av minnet. Så du kan inte ta reda på hur mycket minne du har den vägen. Men det är det minsta programmet som fyller allt minne med någon konstant.

Anders: grejt. Då hade jag inget mer att "klaga" på. :D
Tack för förtydligandet. Ja, man knappar in det på någon låg adress och startar från den så skriver den ut
sista adressen som svarar. Mest användbart i de små gamla utan memory mgmt .

PDP var verkligen nyskapande och en förebild till t.ex. 68000

Jag gillade dessutom dec's macro assembler, outstanding !
Användarvisningsbild
MiaM
Inlägg: 12760
Blev medlem: 6 maj 2009, 22:19:19

Re: Anders lagar en gammal dator (-relaterad pryl)

Inlägg av MiaM »

Farlig var väl inte menat som i något som innebär stor fara, utan mer som något man måste använda under stort ansvar :)

Som petertub nämner så var den ju rätt stark förebild för t.ex. 68000 (och VAX var väl också därmed att betrakta som förebild).

Smidigt att ha (PC)+ som hur # faktiskt kodas. (Antar att båda assembleras till samma kod?).
bqt
Inlägg: 267
Blev medlem: 14 juni 2011, 11:54:44
Skype: sillbit
Ort: Zürich

Re: Anders lagar en gammal dator (-relaterad pryl)

Inlägg av bqt »

Åh. Jag skulle väl säga att det finns väl knappast en instruktion som modifierar något som inte kan potentiellt förstöra allt. Maskinkod är ju i princip alltid utan både hängslen och bälte. Om något kan man väl kanske säga att ifall man kör en PDP-11 med split I/D space, så har man potentiellt något mycket säkrare än en hel massa annat.

Ja, att PC är ett register som alla andra kan ha flera intressanta effekter. Assemblern kodar # konstanter som (PC)+ ja. Finns liksom inget annat sätt.

Fler trevliga effekter: På en PDP-11 kan du göra både CMP #4711,R0 och CMP R0,#4711. Vilket kan vara trevligt om du vill ha kod som reflekterar hur du tänker. Om du har ett värde mellan 0 och 4, och vill hoppa till olika rutiner baserat på det, så kan du ju göra följande på en PDP-11:

Kod: Markera allt

ASL R0
ADD R0,PC
BR foo0
BR foo1
BR foo2
BR foo3
;
; Hantera foo4...
;
Poängen är att detta är helt PIC utan någon ansträngning. Lika enkelt som en hopptabell, men utan några absoluta addresser. Men givetvis skulle man kunnat ha en tabell med, och bara adderat värdet ur den tabellen till PC, och kommit vart man ville och fortfarande vara PIC (om tabellen innehöll relativa offsets).

Likaså är en hel del annat ganska lätt, eller tillochmed naturligt att få PIC.

Kod som:

Kod: Markera allt

MOV FOO,R0
.
.
.
FOO: .WORD 4711
är naturligt PIC, för koden som genereras blir:

Kod: Markera allt

MOV @n(PC),R0
.WORD FOO-.
.
.
.
FOO: .WORD 4711
Dvs, addresseringsmoden på första argumentet till MOV är här en konstant adderad till registret, och det är sedan den address där värdet hämtas från. Och med PC som register, så blir ordet som ska adderas bara offsetten mellan instruktionen och addressen där data ligger.

Och ja, man kan ju lätt se inspiration från PDP-11 i 68K. VAX är ju en extension av PDP-11 med, så det är väldigt likt där också.
Användarvisningsbild
petertub
Inlägg: 1079
Blev medlem: 21 september 2022, 15:59:11
Kontakt:

Re: Anders lagar en gammal dator (-relaterad pryl)

Inlägg av petertub »

Jag minns hur jag mappade bort i/o page i en 11/23. Ingenting annat än power off hjälpte
Användarvisningsbild
petertub
Inlägg: 1079
Blev medlem: 21 september 2022, 15:59:11
Kontakt:

Re: Anders lagar en gammal dator (-relaterad pryl)

Inlägg av petertub »

Add addera til PC som i ditt exempel gjorde jag på 80-talet. Höll på med en robot och företagspolicyn dikterade pascal ( som var var värdelöst i denna tillämpning) bara för att vara extremt politisk så gjorde jag en
sådan hopptabell, inte bara var det snabbaste vägen utan med två jämförelser ( min resp max) var den
bounds-checking. Och att addera till PC gillade inte pascal-folket.
Detta gjordes i första versionen av falcon chip som vi satte på ett eget kort. Helt värdelös i jämförelse med
8031 som jag förespråkade, men som ledningen vägrade godkänna.

Det gick åt h-e med företaget jag var inte förvånad.
bqt
Inlägg: 267
Blev medlem: 14 juni 2011, 11:54:44
Skype: sillbit
Ort: Zürich

Re: Anders lagar en gammal dator (-relaterad pryl)

Inlägg av bqt »

petertub skrev: 29 augusti 2024, 15:37:10 Jag minns hur jag mappade bort i/o page i en 11/23. Ingenting annat än power off hjälpte
Ja. Jag skulle tro att en reset också skulle dugit, för då borde MMU sedan vara av. Men jo, i övrigt är det ett klassiskt skräckscenario. Finns ingen undo för det. :D
bqt
Inlägg: 267
Blev medlem: 14 juni 2011, 11:54:44
Skype: sillbit
Ort: Zürich

Re: Anders lagar en gammal dator (-relaterad pryl)

Inlägg av bqt »

petertub skrev: 29 augusti 2024, 15:44:15 Add addera til PC som i ditt exempel gjorde jag på 80-talet. Höll på med en robot och företagspolicyn dikterade pascal ( som var var värdelöst i denna tillämpning) bara för att vara extremt politisk så gjorde jag en
sådan hopptabell, inte bara var det snabbaste vägen utan med två jämförelser ( min resp max) var den
bounds-checking. Och att addera till PC gillade inte pascal-folket.
Detta gjordes i första versionen av falcon chip som vi satte på ett eget kort. Helt värdelös i jämförelse med
8031 som jag förespråkade, men som ledningen vägrade godkänna.

Det gick åt h-e med företaget jag var inte förvånad.
Hehe...

Lite nyfiken på vilket sätt Falcon var värdelös jämfört med en 8031. Jag kan tänka mig att 8031 var billigare, och kanske snabbare för små enkla saker. Men det är ju en 8-bitarsprocessor med max 64K minne, så det är en del signifikanta skillnader. Men det beror ju på om man behöver så mycket mer.

Och ja, Pascal var oftast inte ett idealt språk, men det var lite poppis ett tag på 80-talet, ja. Har fått jobbat en del i det, tillochmed på elvor.
Användarvisningsbild
petertub
Inlägg: 1079
Blev medlem: 21 september 2022, 15:59:11
Kontakt:

Re: Anders lagar en gammal dator (-relaterad pryl)

Inlägg av petertub »

Locka mig inte ....

falcon ( T-11) hade en cykeltid många ggr längre än 8031 8031 gick i cirklar runt T11
falcon kunde adressera 56k minne (hade ingen memory mgmt) 8031 64k

8031 ( och 8051 maskprogrammerad) fanns för leverans, T-11 var "special delivery"

Jag hade ingenting emot pdp-11 tvärtom. Men T-11 var ett skämt
bqt
Inlägg: 267
Blev medlem: 14 juni 2011, 11:54:44
Skype: sillbit
Ort: Zürich

Re: Anders lagar en gammal dator (-relaterad pryl)

Inlägg av bqt »

Ah, sant. Vi pratar T11 här. Ja, den har ju sina begränsningar.
Minnet, som du nämner, och även hastigheten. Men det är en 16-bitarsmaskin med fler register, och inte ackumulator-orienterad. Vilket åtminstone hjälper lite grand. 8031 var inte vad jag skulle kallat någon hastighetsdemon heller. Ser ut som en 4 MHz Z80 skulle gå lite rappare, vad jag kan läsa. Men jo, T11 är slö...
Användarvisningsbild
anders_bzn
Inlägg: 5757
Blev medlem: 17 december 2008, 19:22:18
Ort: Kävlinge
Kontakt:

Re: Anders lagar en gammal dator (-relaterad pryl)

Inlägg av anders_bzn »

Jag har fått låna ett bakplan till men jag har inte något power-kablage till. Så jag behöver bygga ett, men vad är detta för en kontakt?
IMG_2781.JPG
IMG_2785.JPG
IMG_2786.JPG
Nästa problem är minne, det är testat och bekräftat att det var lite som jag misstänkte, mina MS8 4K MOS minnen fungerar inte i PDP-8E. Så jag har bara 4K minne, det kan man inte köra OS8 på...
Du har inte behörighet att öppna de filer som bifogats till detta inlägg.
Användarvisningsbild
Mickecarlsson
EF Sponsor
Inlägg: 4858
Blev medlem: 15 april 2017, 18:06:15
Ort: Malmö
Kontakt:

Re: Anders lagar en gammal dator (-relaterad pryl)

Inlägg av Mickecarlsson »

Kan vara Mate-N-Lock.
Jag har en drös gamla kontakter i garaget, vissa liknar den du har på bilden, kan kolla i morgon.
Användarvisningsbild
anders_bzn
Inlägg: 5757
Blev medlem: 17 december 2008, 19:22:18
Ort: Kävlinge
Kontakt:

Re: Anders lagar en gammal dator (-relaterad pryl)

Inlägg av anders_bzn »

Yes, det är det. Fick svar från annat håll på 2 sekunder...

https://www.mouser.se/ProductDetail/571-14802760
https://www.mouser.se/ProductDetail/571-3504161-CT

Man får nog fulcrimpa dessa, för jag har inte något verktyg till dessa.
bqt
Inlägg: 267
Blev medlem: 14 juni 2011, 11:54:44
Skype: sillbit
Ort: Zürich

Re: Anders lagar en gammal dator (-relaterad pryl)

Inlägg av bqt »

Vad för MS8 pratar vi om här? Den jag känner till är för 8/A och är ett hex-kort.
Användarvisningsbild
anders_bzn
Inlägg: 5757
Blev medlem: 17 december 2008, 19:22:18
Ort: Kävlinge
Kontakt:

Re: Anders lagar en gammal dator (-relaterad pryl)

Inlägg av anders_bzn »

Det är ett quad kort bestyckat med 1,2 eller 4k minne. M8311-YD i mitt fall.
pdp-8a-ms8-ad-4k.jpg
Du har inte behörighet att öppna de filer som bifogats till detta inlägg.
Användarvisningsbild
MiaM
Inlägg: 12760
Blev medlem: 6 maj 2009, 22:19:19

Re: Anders lagar en gammal dator (-relaterad pryl)

Inlägg av MiaM »

Addera till PC ger lite en smak av Sinclair-basic som tar variabler/uttryck till GOTO och GOSUB :D

När olika processorer nämns så måste 1802 nämnas. Den har 16 registerpar som formar 16-bitarspetare, och så har den ett 4-bitarsregister som väljer vilket av 16-bitarsparen som ska vara programräknare. För att hoppa till subrutin och tillbaka så växlar man vilket register som är programräknare.

Detta påminner mig också att flera processorer har i mitt tycke helt onödiga instruktioner avsedda för att underlätta för hjärndöda kompilatorer. Tänker på detta med "baspekare" i Intel x86, som är ett sätt för kompilatorn att använda stacken utan att behöva ha koll på hur stackpekaren påverkas av de instruktioner som kompilatorn själv genererar. Jag undrar lite hur Intel tänkte när de la till denna funktionalitet, för även om man kör ett system med en eller två trötta floppydrives och ganska begränsat med minne (men mer än de knappt 64k man kan köra på äldre 8-bit-system utan bankswitchning - annars är det ju ingen mening att köra x86) så lär väl kompileringen inte bli nämnvärt plågsammare om kompilatorn måste hålla reda på stackpekaren mer noga.

Motorola har om jag minns rätt nån slags snarlika instruktioner i 68k och/eller 6809.

Skulle vilja påstå att instruktioner som enbart används av kompilatorer och för assemblerkod som ska köras ihop med kod från kompilatorer är en eftergift för dåliga kompilatorer.
Givetvis undantag för dagens processorer med olika former av optimeringar (pipeline osv) som är svår att hålla reda på för den som skriver assembler för hand.

Sidospår på detta sidospår: Kan det vara så att dessa instruktioner för "baspekare" osv är framtagna av "kommittéer"?
Skriv svar