DATASKOLEN Postboks 62 Nordengen Kokkedal. Programmering i maskinkode på AMIGA

Størrelse: px
Starte visningen fra side:

Download "DATASKOLEN Postboks 62 Nordengen 18 2980 Kokkedal. Programmering i maskinkode på AMIGA"

Transkript

1 Programmering i maskinkode på AMIGA A.Forness & N.A.Holten Copyright 1989 ARCUS Copyright 1989 DATASKOLEN Indhold Interrupts Keyboard Interrupt Maskinkode VIII DATASKOLEN Postboks 62 Nordengen Kokkedal Telefon Postgiro

2 INTERRUPT I Vi begynder dette kapitel med at forklare rent generelt hvad INTERRUPT (oversat: AFBRUD) er. Vi vil benytte betegnelsen INTERRUPT fordi det er den, som bruges mest af programmører. Hvis muligheden for INTERRUPTs ikke fandtes i datamaskiner, ville det give os et problem, som i overfart betydning ville udarte sig sådan: Du sidder og venter på at telefonen skal ringe, men da ringefunktionen i telefonen ikke virker, kan du ikke høre hvis den ringer. Du skal altså løfte røret hele tiden og sige "hallo?" - og, hvis ingen svarer, så lægge på igen. Måske sidder du ovenikøbet og læser et eller andet - eller gennemgår dagens post på kontoret. Den manglende ringefunktion vil resultere i, at du ikke får læst mere end nogle få sætninger, for du atter må løfte roret af telefonen for at checke om nogen ringer. Hvis du dertil har flere telefoner, og må løfte rørene af konstant, får du ikke læst ret meget. - ret irriterende, ikke? Et eksempel på INTERRUPTs i en datamaskine kan f.eks være aflæsningen af tastaturet. Hvis vi ikke kunne benytte os af INTERRUPTs, måtte vi checke tastaturet hele tiden for at være sikker på at datamaskinen fik alle vores anslag med. Men fordi der er en INTERRUPT-funktion, behøver programmet ikke at checke tastaturet i det hele taget. Indlæsningen bliver udfort automatisk af en såkaldt INTERRUPT-RUTINE. Denne rutine vil blive udført så snart der trykkes en tast ned på tastaturet. I dette tilfælde er det almindeligt, rutinen lægger tegnet ind i en KEYBOARD-BUFFER - det vil sige at datamaskinen opsamler tegnene, som du indtaster i et lille område i hukommelsen, som den har sat af til den slags. Hvis for eksempel et program er igang med at hente data fra en diskette, kan det altså afslutte diskoperationen for det henter eventuelle tastetryk, som du har lavet i mellemtiden - og som altså ligger lagret i KEYBOARD-BUFFERen. Dette burde være en god indledning til begrebet INTERRUPT. I næste kapitel går vi videre med hvordan INTERRUPTs virker på din yndlings-maskine: AMIGA.

3 INTERRUPT II I AMIGA'en findes der 7 forskellige INTERRUPTs. De er nummereret fra 1 til 7. Det syvende INTERRUPT kan ikke slås fra (og derved forhindres udført), og kaldes derfor NONMASKABLE INTERRUPT. De Øvrige INTERRUPTs kan du slå fra, hvis du vil. Så hvis du vil bede maskinen om at sla et INTERRUPT fra, f.eks det som aflæser tastaturet, så er det muligt. Hvert INTERRUPT i AMIGA'en har en bestemt PRIORITET (eller "forkørselsret"). Lad os se lidt nærmere på netop dette: INTERRUPT FUNKTION I AMIGA Eksternt (udvendigt) INTERRUPT Eksternt INTERRUPT Disk Seriel port Lyd Blitter Vertikal-blank Copper IND/UD porte og TIMERS Benyttes som SOFTWARE-INTERRUPT Disk Serieport INTERRUPT 7 kan du se helt bort fra. Dette fordi at der i skrivende stund ikke findes noget udstyr, som benytter sig at dette INTERRUPT. Vi koncentrerer os derfor om INTERRUPTene som er nummereret fra 1 til 6. INTERRUPTene er inddelt i PRIORITETer, hvor INTERRUPT 7 har hajeste PRIORITET, og INTERRUPT 1 har laveste PRIORITET. Dette virker saledes, at imens INTERRUPT 3 udfores, kan et INTERRUPT med lavere eller samme PRIORITET ikke afbryde det som foregår. Derimod kan INTERRUPTs med høj PRIORITET afbryde et med lavere prioritet for at udføre sin egen rutine først, for derefter at lade den INTERRUPT-RUTINE med lavere PRIORITET (som blev afbrudt) gøre sig færdig. Det er konstrueret sådan, fordi enkelte enheder (disk, BLITTER, COPPER, osv.) kan have brug for lidt hurtigere opmærksomhed end andre enheder. Læg også mærke til at f.eks INTERRUPT 3 i tabellen har flere funktioner. Dette medfører at INTERRUPT-RUTIENEN skal checke hvilken enhed som genererede INTERRUPTet - på godt dansk: Bad om opmærksomhed - for at få at vide hvad INTERRUPT-RUTINEN skulle udfore. Mere om dette senere.

4 Lad os nu gå et skridt videre og fortælle om, hvordan forskellige INTERRUPTs "opstår": INTERRUPT 6: Dette INTERRUPT er, ligesom INTERRUPT 7, også koblet til eksterne enheder. Det betyder at INTERRUPTet ikke bliver brugt, hvis du ikke har harddisk e.l. INTERRUPT 5 (DISK): Dette INTERRUPT bliver genereret (eller aktiveret) når et såkaldt DISK SYNC WORD er fundet på disketten. Vi kan forklare dette i al enkelhed: Dataene på en diskette bliver lagret i ringe pa disketten - pa såkaldte spor. For at AMIGAen skal vide, hvor begyndelsen på ringen befinder sig, er der lagret en speciel kombination af enere og nuller (16 BITs) på dette sted. Når AMIGAen finder denne kombination på diskette, vil den hoppe til INTERRUPT-rutinen, som starter DISK-DMA'en for at begynde indlæsningen af data. Dette skal gå hurtigt, og derfor har denne funktion fået en høj PRIORITET. INTERUPT 5 (Seriel port): Dette INTERRUPT bliver aktiveret når BUFFEREN til seriel-porten er fuld. Serieporten er et INTERFACE (dansk: mellemled), som kan sende eller modtage data fra andre enheder som. f.eks MIDI, et MODEM, en anden datamaskine - eller lignende. Det specielle ved seriel-overforing er, at der bliver overfort en BIT ad gangen. Nar serieporten har modtaget 8 BITs (en BYTE) skal et BUFFER-register tommes umiddelbart for næste BIT kommer ind, så det ikke "lober over", - det som kaldes OVERFLOW. Altså: når BUFFER-registret er fuldt, vil dette INTERRUPT genereres (aktiveres) og der hoppes til en INTERRUPTrutine, som lægger værdien over i BUFFER-registret et sted i RAM, hvor det kan ligge trygt. Som du ser skal også denne funktion have en høj PRIORITET for at være sikker på, at dataene på serieporten bliver modtaget korrekt. INTERRUPT 4: Dette INTERRUPT genereres når en lydkanal er færdig med at afspille en SAMPLE. Dette betyder, at vi kan lade INTERRUPT-rutinen slukke for AUDIO-DMA'en så SAMPLEn kun bliver spillet en gang, istedet for at lade SAMPLEn blive spillet om og om igen ukontrolleret. Læg mærke til at alle fire lydkanaler er "koblet" på dette INTERRUPT, således at du skal finde ud af hvilken lydkanal, der er kommet til afslutningen af SAMPLEn. INTERRUPT 3 (BLITTER): Dette INTERRUPT bliver genereret når en BLITTER-operation er færdig med et job. I vores programeksempler bruges disse (nu velkendte) linier for at checke dette: wait : BTST BNE #6, SDFF002 wait Den anden metode er at lave en INTERRUPT-rutine, som f.eks opsætter og starter næste BLIT selv. Som du ser har dette INTERRUPT ikke så haj PRIORITET. Dette kommer sig af, at denne operation ikke behover en så hurtig

5 opmærksomhed (eller behandling) som f.eks den serielle port i INTERRUPT 5. INTERRUPT 3 (vertikal-blank): Dette INTERRUPT genereres hver gang elektronstrålen hopper op til linie 0. Altså, dette INTERRUPT udfares hver gang skærmen opdateres. Det har ingen speciel funktion i sig selv, men INTERRUPT-rutinen kan.eks opdatere positionen til WORKBENCH-pilen og andre ting, som skal udføres for hver skærmopdatering. Vi kunne for eksempel lave en INTERRUPT-rutine, som opdaterer en SCROLL-tekst. Da ville hovedprogrammet se således ud: main: BTST BNE #6, BFE001 main i stedet for.... main : MOVE. L ASR. L ANDI. L CMP. W BNE BSR BTST BNE $DFF004, DO #8,DO #$lff, DO #O,DO main scroll #6, SBFE001 main INTERRUPT 3 (COPPER): Dette INTERRUPT kan genereres af COP- PERen. Du kan for eksempel lade COPPERen vente på linie 200, og derefter generere et INTERRUPT. I praksis benyttes dette INTERRUPT i samme tilfælde som INTERRUPTet ovenfor (vertikalblank), men med den forskel at du selv kan bestemme ved hvilken skærmposition INTERRUPTet skal startes (altså, ikke fast p& linie O som vertikal-blank INTERRUPTet er). Du kan også foretage flere INTERRUPTs for hver skærmopdatering, hvis du Ønsker det. INTERRUPT 2: Dette INTERRUPT genereres af en IND/UD-enhed, som styrer parallelporten, mustasten, nogle af diskfunktionerne, osv. Vi kommer tilbage med forklaring af dette INTERRUPT i BREV 11, når vi skal gennemgå denne IND/UD-enhed. INTERRUPT 1 (SOFTWARE): Dette INTERRUPT er lidt specielt. Det bliver nemlig styret fra selve programmet som køres. Som du sikkert forstår, har dette INTERRUPT ikke nogen speciel funktion, men vi kan nævne en funktion, det bliver benyttet til - nemlig MULTITASKING. Dette betyder - som du måske allerede ved - at to eller flere opgaver (programmer) kan køres Samtidig. Dette er ikke helt sandt, fordi det som egentlig sker er, at processoren skifter imellem at køre (udfore) programmerne hele tiden.

6 Eller: når et program er blevet udført et lille stykke tid (tiden kan variere), så vil programmet selv genere dette INTERRUPT. INTERRUPT-rutinen sørger så for at der hoppes til næste program. Således vil denne INTERRUPT-rutine fordele "processor-kraften" p3 de forskellige programmer. INTERRUPT 1 (DISK): Dette INTERRUPT genereres når DISK-DMA'en er færdig med at indlæse data fra en diskette. Denne INTERRUPTrutine kan for eksempel flytte på læse/skrivehovedet for at kunne starte op p& en ny indlæsning. Det har en væsentlig lavere PRIORITET end disk-funktionen i INTERRUPT 5. Det er lavet således fordi denne funktion ikke behover en så hurtig behandling. INTERRUPT 1 (SERIEL PORT): Dette INTERRUPT bliver genereret nar BUFFERen til den serielle port er tom. Altså: Når maskinen har sendt 8 BITs (læg mærke til at seriel-porten kan sættes op til at sende/modtage 9 BITs ad gangen og&), udføres en INTERUPT-rutine, som kan indlægge næste BYTE, som skal sendes ud p& serieporten. Vi har nu gennemgaet funktionerne for de enkelte INTERRUPTs i AMIGA. I det følgende kapitel skal vi se på, hvordan man blandt andet laver sin egen INTERRUPT-rutine. INTERRUPT III Vi starter dette kapitel med en tabel over indholdet i hukommelses-adresserne $ $0003FF. ADRESSE BESKRIVELSE $ ikke benyttet Reset, SSP Reset, PC BUS ERROR ADRESS ERROR ILLEGAL INSTRUCTION DIVISION BY ZERO CHK INSTRUCTION TRAPV INSTRUCTION PRIVILEGE VIOLATION TRACE EXCEPTION UNIMPLEMENTED INSTRUCTION (1010) UNIMPLEMENTED INSTRUCTION (1111)

7 SPURIOUS INTTERUPT INTERRUPT 1 AUTO-VECTOR INTERRUPT 2 AUTO-VECTOR INTERRUPT 3 AUTO-VECTOR INTERRUPT 4 AUTO-VECTOR INTERRUPT 5 AUTO-VECTOR INTERRUPT 6 AUTO-VECTOR INTERRUPT 7 AUTO-VECTOR SOOOOCO Ikke benyttet $ ~ ~ ~ USER l INTERRUPT ~ ~ VECTOR USER INTERRUPT VECTOR Vi koncentrerer os om adresserne $64 til $7C. Disse hukommelses-områder indeholder pointere (VECTORer) til de forskellige programrutiner, som udføres når en INTERRUPT bliver udfart. Altsa: Når processoren (MC68000) får et signal af typen INTER- RUPT 1, vil den hente værdien, som ligger på adresse $64 (LONGWORD), og derefter behandle denne værdi som en adresse, som den skal hoppe til. Processoren gør ogsa et par andre ting Ør den hopper til INTERRUPT-rutinen. Det første den gør, er at flytte værdien, som ligger i programtælleren (PC) på STACKen. Derefter lægger den STATUS-registret på STACKen, og til sidst hopper den til INTERRUPT-rutinen. Altså: Den skal lagre programtælleren således at den ved, hvor den fortsætte nar INTERRUPT-rutinen er udført (dette foregår p& samme måde som med BSR). Derefter skal STATUS-registret (registret som indeholder b1.a ZERO-flaget, CARRY-flaget, osv), lagres.

8 Vi belyser det nærmere med et eksempel: CMP. W BEQ #25, DO loop Som vi allerede ved, kan et INTERRUPT ske nar som helst, helt ufhængig af andre programmer. Forstil dig at et INTERRUPT skete mellem to instruktioner i eksemplet ovenfor. Hvis DO f-eks var 25 ville denne CMP-instruktion sætte ZERO-flaget til 1. Når INTERRUPTet så bliver udført far BSR-instruktionen, kan ZEROflaget have fået en anden værdi (på grund af INTERRUPT-rutinen) Ør processoren hopper tilbage for at gå løs på BEQ-instruktionen. Dette kan medfore at BEQ-instruktionen vil hoppe "forkert" enkelte gange. Derfor er det nødvendigt at processoren også lagrer STATUS-registret. Alt dette går automatisk, således at du ikke ikke behover at tænke over dette når du programmerer en INTERRUPT-rutine. Derimod findes der en anden ting du skal tænke på, nemlig dataregistrene og adresseregistrene. Disse bliver nemlig ikke lagret automatisk under et INTERRUPT. Derfor skal det første, du gør i en INTERRUPT-rutine være at lagre de registre, du skal bruge, på STACKen. hvis du f.eks skal bruge dataregistrene DO til D3 og adresseregistrene A0 til Al i rutinen, kan en sådan instruktion for at lagre disse registre på STACKen se således ud (se i maskinkodekapitlet, hvor vi forklarer denne variant af MOVE ): M0VEM.L DO-D3/AO-Al,-(A7) Nar INTERRUPT-rutinen er gennemfort, lægger du til sidst folgende instruktion ind for at få værdierne tilbage i registrene. Instruktionen som benyttes til at afslutte en rutine er sædvanligvis en RTS. Men hvad gør denne RTS-instruktion egentlig? Jo, den henter en værdi fra STACKen (et LONGWORD), og bruger denne værdi til at hoppe tilbage til, der den kom fra. Men, vi sagde jo, at når et INTERRUPT opstår, lagres ikke kun programtælleren (PC), men ogsa STATUSREGISTRET. Derfor kan vi ikke benytte RTS for at afslutte en INTERRUPT-rutine. Derimod bruger vi en instruktion som hedder RTE. Denne instruktion vil også sørge for STATUS-registret. Derfor vil strukturen på en INTERRUPTrutine se således ud: interrupt: M0VEM.L DO-D7/AO-~6,-/~7) M0VEM.L RTE (A~)+,DO-D~/AO-A~

9 Vi gennemgår nu programeksempel MC0901, som ligger på kursusdisketten DISK 1. Linie 1: Linie 2: Linie 4: Linie 6: Linie 7: Linie 8: Linie 9: Linie 11: Linie 12: Linie 14: Lægger adressen på "jump" ind i Al. Læg mærke til at LABELen "jump" peger på en instruktion (programlinie 42 ). Lægger værdien, som ligger på adresse $68, ind på adressen som A1+2 peger på. Denne MOVE flytter altså en værdi ind i selve instruktionen på programlinie 42: FØrst henter vi værdien ud, som ligger p& adresse $68. Denne adresse indeholder pointeren (VECTORen) til INTERRUPT 2. Denne værdi lægges s& ind i JMP-instruktionen p& programlinie 42. JMP-instruktionen udforer et hop i lighed med BRA. Forskellen på disse to er, at BRA hopper med en OFFSET fra selve instruktionen, mens JMP hopper direkte til en opgivet adresse (fast adresse, se også maskinkodekapitlet senere i brevet). Som du ser på linie 42, hopper denne JMP-instruktion til adresse $0. Når vi har udfort denne MOVE, vil JMPinstruktionen have fået ny adresse - nemlig adressen på den gamle INTERRUPT-rutine. Lægger værdien 100 i DO. Lægger værdien 1 i Dl. Bytter om på WORDene i Dl. Dette resulterer i at D1 indeholder $ Lægger værdien fra adresse $4 ind i A6. Dette er en ny instruktion. JSR betyder JUMP to SUB RUTINE, eller hop til under-rutine (se også i maskinkode-kapitlet). I BREV X kommer vi næremere ind på JSR-kommandoer. I al enkelthed udfører programlinierne 4 til 9 en HUKOMMELSES-ALLOKATION på 100 BYTEs. Det vil sige, at vi beder operativsystemet om at sætte 100 BYTEs hukommelse af til os. På den måde fås et sted i hukommelsen, hvor INTERRUPTrutinen kan ligge sikkert. Tænk ikke så meget over det lige nu - det er vigtigere at forstå, hvordan INTERRUPT-rutinen virker, end at vide, hvor i hukommelsen den lægges. Lægger værdien fra DO ind i Al. Den rutine (HU- KOMMELSES-ALLOKATION) som blev udført af programlinie 9, returnerer en adresse fra DO, som peger på den første BYTE i den 100 BYTEs store "blok" som blev ALLOKERET (afsat). Lægger værdien i DO ind i D7. Lægger adressen på "interrupt" ind i AO.

10 Linie 15: Linie 18: Linie 19: Linie 21: Linie 22: Linie 23: Linie 25: Linie 27: Linie 28: Linie 29: Linie 30: Linie 31: Linie 33: Lægger 24 ind i DO. Den bruges som en tæller. Lægger værdien, som A0 peger på, ind på adressen, som Al peger på. Derefter adderes værdien 4 til værdierne i bade A0 og Al (HUSK! LONGWORD). Trækker værdien 1 fra DO og checker om DO er -1. Hvis ikke hoppes der tilbage til "copyloop". På den måde kopieres rutinen "interrupt" (programlinie 28 til 42) ind i den "blok" med hukommelse, som vi ALLOKEREDE tidligere. Slukker alle INTERRUPTs. Lægger værdien som ligger i D7 ind på adresse $68. Altså: Adressen på hukommelses-blokken, som vi ALLOKEREDE, bliver lagt ind i pointeren til INTER- RUPT 2. Læg mærke til at vi på forrige linie slukkede alle INTERRUPTs. Dette skal gøres Ør man kan lægge en ny værdi ind i INTERRUPT-pointerne. Tænder alle INTERRUPTs igen. Nu udføres INTERRUPTrutinen nar der kommer et signal til INTERRUPT 2. Når vor INTERRUPT-rutine er udfart, vil den ikke returnere til hovedprogrammet - men ved hjælp af JMP-instruktionen på linie 42 - hoppe til den gamle INTERRUPT-rutine (som tilhorer operativsystemet). Dette gør vi for at holde operativsystemet intakt. Vi har altsa bare "sneget" vores egen INTERRUPTrutine ind for operativsystemets egen INTERRUPTrutine. Dette kaldes for at LINKe en rutine ind (som kan oversættes med at "koble sig ind på). Afslutter programmet (OBS! INTERRUPT-rutinen afsluttes ikke). Her ligger INTERRUPT-rutinen. Lagrer værdien i DO på STACKen. Vi behøver ikke en MOVEM-instruktion her, fordi vi kun behover at lagre et register. MOVEM bruges kun når vi vil lagre flere registre ad gangen. Lægger værdien som ligger på adresse SBFECOl ind i DO. Denne adresse indeholder koderne, som sendes fra tastaturet når der trykkes på en tast. Vi vil komme nærmere ind på dette register i BREV XI. Inverterer DO. Roterer DO BIT-vis en gang til højre. Se forklaring på denne instruktion i maskinkode-kapitlet. Sammenlign DO med 59.

11 Linie 34: Linie 36: Linie 39: Linie 42: Hvis DO ikke var 59, hop til "wrongkey". Altså: Programlinierne 29 til 34 aflæser tastaturet og checker om en speciel tast er blevet trykket ned. Denne instruktion betyder BIT CHANGE. Den inverterer BIT 1 på adresse SBFE001. BIT 1 på denne adresse styrer "P0WER"-lampen som hhv tændt og slukket. Denne instruktion vil alt& resultere i at hver gang den bliver udført, vil den tænde eller slukke lampen. Denne instruktion er også forklaret i maskinkode-kapitlet. Henter det gamle indhold i DO ud fra STACKen. Hopper til den gamle INTERRUPT-rutine. For at køre dette program, skal du som sædvanlig assemble det. Derefter behøver du bare kommandoen "j" for at starte det. Når du har kørt programmet, kan du prøve at trykke på tasten "F10" og samtidig se på "POWERW-lampen. Med dette afslutter vi kapitlerne om INTERRUPTs. Vi kan nævne at i BREV XII kommer nogle lidt mere komplicerede INTERRUPTrutiner (for MIDI) som vil tage sig af automatisk afsendelse og modtagelse p& SERIEL-porten. MASKINKODE VIII I dette kapitel gennmgår vi folgende instruktioner: MOVEM, JMP, JSR,.BCHG, RTE, ROR og ROL. Lad os starte med instruktionen MOVEM. Det ekstra bogstav "M" i denne instruktion betyder MULTIPLE. (kan oversættes med "flere"). Altsa: Denne MOVE flytter flere ting ad gangen og benyttes ofte til at lagre og hente fra STACKen: Denne ene programsætning....,.udfører det samme som disse 3 linier: MOVE L DO,-(A7) MOVE L Dl, -(A7) MOVE. L D2, -(A7) Et eksempel til... MOVEM. L ( A7 ) +, Dl/AO-A4

12 Det første eksempel lagrer dataregistrene DO, D1 og D2 på STACKen. Det andet eksempel - som udfarer det samme som det første - tager både mere plads og tager længere tid. Det tredie eksempel henter Dl, AO, Al, A2, A3 og A4 ud fra STACKen. Du kan også bruge andre registre end A7 til at lagre og hente data. På denne måde kan du lave din egen STACK. Et sådant program kan f.eks se således ud: LEA. L mystack,ao mystack: BLK.B 100, O Den næste instruktion vi skal se på er JMP. Denne instruktion betyder JUMP, og oversættes til: hop. Forskellen på denne instruktion og BRA, er at BRA-instruktion hopper relativt (den hopper i forhold (OFFSET) til, hvor programtælleren peger). JMP-instruktionen fungerer ikke på samme måde: Lad os vise det med et eksempel: JMP SFCOOD2 Den hopper altid til en fast adresse. Altså, BRA-instruktionen bruges oftest når der skal hoppes indenfor samme program, mens JMP mest bruges for at hoppe udenfor programmet (til et andet program ). Næste instruktion p6 listen er JSR. JSR betyder JUMP TO SUB RUTINE, og kan oversættes til: hop til under-rutine. Indtil nu har vi kun brugt BSR-instruktionen fordi vi kun har hoppet til under-rutiner, som ligger indenfor vort eget program. Hvis vi vil udføre et hop til en under-rutine, som ligger udenfor programmet bruger vi altså JSR. Udover at kunne hoppe til en fast adresse som JMP-instruktionen kan, kan JSR indirekte hoppe med et adresseregister. Der kan også specificeres en OFFSET i tillæg til dette. Her kommer nogle eksempler: JSR $5000 og et eksempel på et indirekte hop... JSR JSR (AO) 20(AO) Det første eksempel udfarer et hop til adresse $5000.

13 I det andet eksempel bruges værdien, som ligger på adressen som A0 peger på som hop-adresse. Altså: Hvis A0 indeholder $ og der p& adresse $10000 ligger værdien $50000, vil der blive hoppet til adresse $ I det sidste eksempel vil der blive hoppet til den adresse, som ligger på adresse A Med andre ord; Den henter værdien som ligger pi3 adresse $ = $10014, og bruger denne værdi som hop-adresse. Næste instruktion hedder BCHG, og betyder BIT CHANGE. Denne instruktion bruges til at invertere en speciel BIT p& en adresse eller i et register. Her kommer nogle eksempler: BCHG #3,DO... og DO bliver: Vi udforer samme instruktion en gang til... BCHG #3,DO... og DO bliver igen: Denne instruktion burde være indlysende. Den næste instruktion har vi forklaret en del om i forklaringen til programeksempel MC0901, nemlig RTE. RTE betyder RETURN FROM EXCEPTION. Vi skal ikke rode dig ud i for meget med at prøve at forklare, hvad EXCEPTION er i dette brev, men indskrænker os til at forklare, hvordan instruktion fungerer. I lighed med RTS-instruktionen fungerer denne også som afslutning af en rutine. Forskellen er, at vi bruger RTE for at afslutte en INTERRUPT-rutine. Den tekniske forskel er at RTS-instruktionen kun henter den gamle program-tæller ud fra STACKen, mens RTEinstruktionen derudover henter den gamle værdi, som var i STATUS-registret. De to sidste instruktioner vi skal forklare er ROR og ROL. De betyder henholdsvis ROTATE RIGHT og ROTATE LEFT, og oversættes med: roter til højre og roter til venstre. Disse instruktioner er meget lig med LSR og LSL. Den eneste forskel er, at den BIT som bliver roteret ud i den ene ende, kommer ind igen i den anden ende af BIT-gruppen.

14 Lad os atter vise nogle eksempler: Vi prøver denne... ROR. B #3, DO... og DO bliver nu sådan: Vi tager en til: efter at følgende er udfort bliver DO sådan: Det kan også nævnes, at når du opgiver antal skift som en konstant (sådan som i eksemplerne ovenfor), er 8 den hajeste værdi som er lovlig. Hvis du skal rotere f-eks 13 BITS, kan du enten bruge to instruktioner, eller benytte dig af følgende metode: MOVEQ R0L.L #13, D1 Dl, Do Vi håber det var til at forstå - ellers prøv en gang til.

15 LØSNINGER TIL OPGAVER I BREV XIII Opqave 0801: Opqave 0802: AMPLITUDE er højden (styrken) p6 en lydbølge. SAMPLING er i dataverdenen en lydbølge (bølgeform), som repræsenteres (opbevares) DIGITALT. Opqave 0803: En A/D-CONVERTER er en elektronisk opkobling, som laver et ANALOGT signal om til et DIGITALT (BINÆRT) signal. Opqave 0804: Resultatet i D1 bliver: 225 ($000000E1) OPGAVER TIL BREV IX Opqave 0901: Opqave 0902: Opqave 0903: Opqave 0904: Hvad er fordelen ved at benytte sig af INTER- RUPTs? Hvad kaldes INTERRUPT 7 ofte på AMIGA? Hvad udfører BCHG-instruktionen? Hvad vi D1 indeholde efter at disse instruktioner er udført (prøv uden K-SEKA): MOVE. L ROR. L ROL. W ROR. B #$64E918AB,Dl #3,D1 #l, Dl #5, D1

16 LILLE DATAORDBOG AMPLITUDE SAMPLE Amplitude er højden på f.eks en 1ydbØlge. En SAMPLE i forbindelse med lyd er lydbqlgedata, som er lagret DIGITALT. En A/D-CONVERTER er en elektronisk opkobling som ændrer (konverterer) et ANALOGT signal til et DIGITALT (BINÆRT) signal. DIGITAL ANALOG MIDI INTERRUPT I/O NONMASKABLE PRIORITET VECTOR DIGITALT er en betegnelse for et signal som kan være enten O eller 1 (tændt eller slukket). Et ANALOGT signal er et signal som kan have uendelig mange værdier. MIDI er en forkortelse for MUSICAL INSTRUMENT DIGITAL INTERFACE som kan oversættes til "DIGI- TALT MELLEMLED MELLEM MUSIKINSTRUMENTER". Dette system bliver brugt til f.eks at lade et instrument styre et andet. MIDI er mest udbredt på tangent-instrumenter (elektriske pianoer, SYNTHESIZERs, orgler osv.) Ordet INTERRUPT betyder: AFBRYD, og er en Funktion, som ligger i HARDWARE. Benyttes til håndtering af I/O-enheder. IN/OUT enheder i computeren, der modtager/sender data IND/UD (f.eks en disk) Dette ord bliver brugt sammen med INTERRUPT. Et NONMASKABLE INTERRUPT er et INTERRUPT, som ikke kan kobles ud (forhindres). Ordet PRIORITET kan oversættes med "fortrinsstilling". Dette bliver ofte brugt sammen med INTERRUPTs. Et INTERRUPT med højere PRIORITET anses for at være vigtigere end et med lavere PRIORITET. VECTOR kan i data-sammenhæng oversættes til "pointer". Det er ofte en adresse på en underrutine eller en data-tabel.

17 KOMMENTARER TIL BREV IX Nu når du er færdig med dette brev, har du været igennem 3/4 af kurset i AMIGA MC. VI antager at du er kommet så langt at du nu kan udfore en hel del avancerede ting i ren maskinkode på din yndlings-maskine. I dette brev har vi gennemgået INTERRUPTs. Efterhånden som du kommer til at bruge denne funktion, når du programmerer, vil du erfare, at det er en meget følsom funktion. Det sker derfor let at det går galt, hvis du ikke passer p& (GURU MEDITATION!) Det gælder altså om at holde operativsystemet i AMIGA intakt. SØrg derfor, for at du har en back-up før du prøver om det virker. Glem ikke at DEBUGGE (fjerne fejl) dit program mens du programmerer. Det er næsten umuligt at finde fejlene igen - og stedet hvor de opstod - når dit program er blevet så stort, at det dækker flere A4-sider i ulistet form. SØrg også for at du lader din kildekode (SOURCE CODE) indeholde rigelig med kommentarer, saledes at du til enhver tid ved hvad de forskellige rutiner udforer. Brug kommentarer som er lette at forstå. Det kan være vanskeligt at huske om korte ord som "sprcol" skal betyde SPRITE-COLLISION (eller var det SPRITE- COLOR?) når du vender tilbage til dette sted i dit program efter at have programmeret andre dele af programmet. Det er også vigtigt at du holder en jævn programmeringshastighed i din programmering. Med andre ord: SMED MENS JERNET ER VARMT. Det er lettere at skrive overskuelige programmer på denne måde, samtidig som de bliver enklere at DEBUGGE. I næste BREV - BREV X - kommer vi ind på et helt nyt område, nemlig AMIGA's operativsystem, hukommelses-allokeringer, læsning/skrivning af filer til disk og læsning/skrivning til CLI-vinduet. Det er de (for programmarer) vigtigste og mest brugte system-funktioner. I praksis viser det sig, at man sjældent får behov for flere systemfunktioner end dem vi har nævnt her. Og netop derfor er det vigtigt at kunne. Desuden vil du - efter at du har læst BREV X - lettere forstå hvordan andre systemfunktioner virker, når (eller hvis?) du opsøger speciallitteratur i emnet. Vi Ønsker dig fortsat god fornøjelse!

Programmering i maskinkode på AMIGA

Programmering i maskinkode på AMIGA Programmering i maskinkode på AMIGA A.Forness & N.A.Holten Copyright 1989 ARCUS Copyright 1989 DATASKOLEN Hæfte 10 Indhold Operativsystemet Library Hukommelses-allokering Læsning og skrivning af filer

Læs mere

Programmering i maskinkode på AMIGA

Programmering i maskinkode på AMIGA Programmering i maskinkode på AMIGA A.Forness & N.A.Holten Copyright 1989 ARCUS Copyright 1989 DATASKOLEN Hæfte 8 Indhold Audio Sampling Maskinkode VII MIDI DATASKOLEN Postboks 62 Nordengen 18 2980 Kokkedal

Læs mere

Programmering i maskinkode på AMIGA

Programmering i maskinkode på AMIGA Programmering i maskinkode på AMIGA A.Forness & N.A.Holten Copyright 1989 ARCUS Copyright 1989 DATASKOLEN Indhold Blitter Copper-cycling Fonts Scrollning Maskinkode VI DATASKOLEN Postboks 62 Nordengen

Læs mere

Programmering i maskinkode på AMIGA

Programmering i maskinkode på AMIGA Programmering i maskinkode på AMIGA A.Forness & N.A.Holten Copyright 1989 ARCUS Copyright 1989 DATASKOLEN Hæfte 6 Indhold Logisk Matematik Blitter Modulo Blitter Object Tabel over Blitterens logiske funktioner

Læs mere

Programmering i maskinkode på AMIGA

Programmering i maskinkode på AMIGA Programmering i maskinkode på AMIGA A. Forness & N. A. Holten Copyright 1989 ARCUS Copyright 1989 DATASKOLEN Hæfte 11 Indhold Ham CIA-chips Aflæsning af musen Parallelporten Maskinkode X DATASKOLEN Postboks

Læs mere

Programmering i maskinkode på AMIGA

Programmering i maskinkode på AMIGA Programmering i maskinkode på AMIGA A.Forness & N.A.Holten Copyright 1989 ARCUS Copyright 1989 DATASKOLEN Hæfte 4 Indhold Maskinkode III Bitmap Farveregistre Bitplane DMA tidsforbrug Overscan DATASKOLEN

Læs mere

Programmering i maskinkode på AMIGA

Programmering i maskinkode på AMIGA Programmering i maskinkode på AMIGA A.Forness & N.A.Holten Copyright 1989 ARCUS Copyright 1989 DATASKOLEN Hæfte 1 Indhold Introduktion Det binære talsystem Det hexadecimale talsystem Assemblerens funktion

Læs mere

Programmering i maskinkode på AMIGA

Programmering i maskinkode på AMIGA Programmering i maskinkode på AMIGA A.Forness & N.A.Holten Copyright 1989 ARCUS Copyright 1989 DATASKOLEN Hæfte 2 Indhold DMA-kanaler Time Slot Allocation Copper Maskinkode-standarder med K-SEKA DATASKOLEN

Læs mere

Programmering i maskinkode på AMIGA

Programmering i maskinkode på AMIGA Programmering i maskinkode på AMIGA A.Forness & N.A.Holten Copyright 1989 ARCUS Copyright 1989 DATASKOLEN Hæfte 5 Indhold Sprites Follow Me Maskinkode IV DATASKOLEN Postboks 62 Nordengen 18 2980 Kokkedal

Læs mere

Programmering i maskinkode på AMIGA

Programmering i maskinkode på AMIGA Programmering i maskinkode på AMIGA A.Forness & N.A.Holten Copyright 1989 ARCUS Copyright 1989 DATASKOLEN Hæfte 12 Indhold Hires Interlace Wave Rotering Demo-eksempler Vector-grafik DATASKOLEN Postboks

Læs mere

uprocessorens hardware

uprocessorens hardware uprocessorens hardware 8080 Architecture Kernen i en processor er ALUen. Det er den som kan udfører simple regne operationer. De tal den arbejdermed gemmes i en række registre. Når et tal skal hentes eller

Læs mere

Programmering i maskinkode på AMIGA

Programmering i maskinkode på AMIGA Programmering i maskinkode på AMIGA A.Forness & N.A.Holten Copyright 1989 ARCUS Copyright 1989 DATASKOLEN Hæfte 3 Indhold Binær aritmetik Logiske operatorer Status-registret Branching Bitplanes og Copper

Læs mere

Computerarkitektur. - en introduktion til computerarkitektur med LINDA

Computerarkitektur. - en introduktion til computerarkitektur med LINDA Computerarkitektur - en introduktion til computerarkitektur med LINDA faraz@butt.dk Faraz Butt mads@danquah.dk Mads Danquah doktor@dyregod.dk Ulf Holm Nielsen Roskilde Universitetscenter Naturvidenskabelig

Læs mere

Interrupt - Arduino. Programmering for begyndere Brug af Arduino. Kursusaften 6 EDR Hillerød Knud Krogsgaard Jensen / OZ1QK

Interrupt - Arduino. Programmering for begyndere Brug af Arduino. Kursusaften 6 EDR Hillerød Knud Krogsgaard Jensen / OZ1QK Programmering for begyndere Brug af Arduino Programmeringskursus Interrupt - Arduino EDR Hillerød Knud Krogsgaard Jensen / OZ1QK Interrupts Programmeringskursus Genbrug Interrupts Betyder blot at man afbryder

Læs mere

Lærevejledning. - en introduktion til maskinarkitektur. faraz@butt.dk Faraz Butt mads@danquah.dk Mads Danquah doktor@dyregod.dk Ulf Holm Nielsen

Lærevejledning. - en introduktion til maskinarkitektur. faraz@butt.dk Faraz Butt mads@danquah.dk Mads Danquah doktor@dyregod.dk Ulf Holm Nielsen Lærevejledning - en introduktion til maskinarkitektur faraz@butt.dk Faraz Butt mads@danquah.dk Mads Danquah doktor@dyregod.dk Ulf Holm Nielsen Roskilde Universitetscenter Naturvidenskabelig Basisuddannelse

Læs mere

midi2style - program for konvertering af MIDI-filer til YAMAHA PSR stylefiler

midi2style - program for konvertering af MIDI-filer til YAMAHA PSR stylefiler midi2style - program for konvertering af MIDI-filer til YAMAHA PSR stylefiler Kom i gang Version 5.0 2002-2013 Jørgen Sørensen Web site: http://www.jososoft.dk/yamaha/software/midi2style E-mail: js@jososoft.dk

Læs mere

MANAGED PC PC INSTALLATION INSTALLATIONS GUIDE V Telefon: CLOUD INFRASTRUKTUR DEPLOYMENT SECURITY

MANAGED PC PC INSTALLATION INSTALLATIONS GUIDE V Telefon: CLOUD INFRASTRUKTUR DEPLOYMENT SECURITY MANAGED PC PC INSTALLATION INSTALLATIONS GUIDE V. 2.0 CLOUD INFRASTRUKTUR DEPLOYMENT SECURITY MAINTANENCE INDHOLD Indhold 2 Indledning 3 Managed PC Installation Start op fra USB stik 4 Valg af styresystem

Læs mere

Arduino Programmering

Arduino Programmering Microcontroller, Arduino I teknologi skal vi lære at lave programmer til uc for at have muligheden til eksamen at kunne lave intelligente el-produkter. I hvert fald skal vi have set mulighederne, og forstået

Læs mere

Disk-vedligeholdelse i Windows 10 - juli 2017

Disk-vedligeholdelse i Windows 10 - juli 2017 Side 1 Disk-vedligeholdelse i Windows 10 - juli 2017 Af OZ6YM, Palle A. Andersen En gennemgang af hvad man bør gøre, for at holde sine diske kørende optimalt i hele PC ens levetid, især SSDdiske, på Windows

Læs mere

IAI Quick Start Guide

IAI Quick Start Guide IAI Quick Start Guide Opsætning: Manualen til controllerene ligger i: Produkter\IAI\Manual\RoboCylinder\Controller\ Her ligger den i en undermappe alt efter hvilken type controller det er. Installer RCPC

Læs mere

DATALOGI 1E. Skriftlig eksamen mandag den 23. juni 2003

DATALOGI 1E. Skriftlig eksamen mandag den 23. juni 2003 Københavns Universitet Naturvidenskabelig Embedseksamen DATALOGI 1E Skriftlig eksamen mandag den 23. juni 2003 Opgaverne vægtes i forhold til tidsangivelsen herunder, og hver opgaves besvarelse bedømmes

Læs mere

Microcontroller, Arduino

Microcontroller, Arduino Microcontroller, Arduino Programmerbar elektronik. uc Vi skal lære at lave programmer til uc for at kunne lave el-produkter. Forstå princippet i programmering af en uc og se mulighederne. Programmeringen

Læs mere

Grundlæggende hardware- & netværkskendskab

Grundlæggende hardware- & netværkskendskab Denne guide er oprindeligt udgivet på Eksperten.dk Grundlæggende hardware- & netværkskendskab Denne artikkel beskriver de forskellige interne & eksterne hardware-enheder du kan støde på. Desuden lidt omkring

Læs mere

Når du køber hukommelse til printeren, skal du sikre dig, at SDRAM DIMMhukommelseskortet

Når du køber hukommelse til printeren, skal du sikre dig, at SDRAM DIMMhukommelseskortet Printerhukommelse 1 Printeren leveres med mindst 64 MB hukommelse. Du kan konstatere størrelsen på den hukommelse, der aktuelt er installeret i printeren, ved at vælge Udskriv menuer i Testmenu. Den samlede

Læs mere

DATALOGI 1E. Skriftlig eksamen fredag den 7. juni 2002

DATALOGI 1E. Skriftlig eksamen fredag den 7. juni 2002 Københavns Universitet Naturvidenskabelig Embedseksamen DATALOGI 1E Skriftlig eksamen fredag den 7. juni 2002 Opgaverne vægtes i forhold til tidsangivelsen, og hver opgaves besvarelse bedømmes som en helhed.

Læs mere

Status vejledning. Vejledning i håndtering af status scanner, tømning og indlæsning til EasyPOS

Status vejledning. Vejledning i håndtering af status scanner, tømning og indlæsning til EasyPOS Status vejledning Cipherlab CPT8000 Vejledning i håndtering af status scanner, tømning og indlæsning til EasyPOS 1 Indhold 2 Håndterminalen... 1 2.1 Beskrivelse af taster... 1 2.1.1 Hvad bruges tasterne

Læs mere

Navn: Søren Guldbrand Pedersen Klasse: 2i Fag: up/ansi Opgave: Brev til Sigurd Lære: John Austin Side 1 af 8 Dato: 14-05-2003

Navn: Søren Guldbrand Pedersen Klasse: 2i Fag: up/ansi Opgave: Brev til Sigurd Lære: John Austin Side 1 af 8 Dato: 14-05-2003 Side 1 af 8 Dato: 14-05-2003 Til Sigurd Som aftalt vil jeg her fremsende vores program til vores 80C535 kit og display. Det gik jo ud på at vi skulle starte med at få den til at intialiserer displayet,

Læs mere

Udlæsning af stregkodefil til scanneren 1. Opret mappen pdt på C-drevet (c:\pdt).

Udlæsning af stregkodefil til scanneren 1. Opret mappen pdt på C-drevet (c:\pdt). Indholdsfortegnelse Introduktion... 2 Udlæsning af stregkodefil til scanneren... 3 Installation af scanneren... 5 Indlæsning af datafil i scanneren... 7 Brug af scanneren... 8 Sådan scanner du... 8 Sådan

Læs mere

Opgaver til modul 1. Grundlæggende informationsteknologi

Opgaver til modul 1. Grundlæggende informationsteknologi Opgaver til modul 1 Grundlæggende informationsteknologi Opgaverne svarer i indhold og sværhedsgrad til dem, der stilles ved prøven til PC-kørekort. Når du har gennemarbejdet teksterne, bør det ikke tage

Læs mere

PCR 40 Door Access Control unit

PCR 40 Door Access Control unit Installations vejledning PCR 40 Door Access Control unit Ruko A/S Copyright 2003-2005, Ruko A/S Ruko A/S Marielundvej 20 DK - 2730 Herlev DENMARK Telefon: +45 44 54 44 54 Fax: +45 44 54 4444 E-post: support@ruko.dk

Læs mere

Vocally 3 Infinity. In-Line, stemme aktiveret opkaldsenhed Brugsanvisning. Rev 1.01

Vocally 3 Infinity. In-Line, stemme aktiveret opkaldsenhed Brugsanvisning. Rev 1.01 Vocally 3 Infinity In-Line, stemme aktiveret opkaldsenhed Brugsanvisning Rev 1.01 Dette er en Dansk udgave af producentens officielle bruger manual. Der henvises til den officielle i tvivls tilfælde og

Læs mere

AVR MP3 29-05-08 05576 Ingeniørhøjskolen i Århus Michael Kaalund

AVR MP3 29-05-08 05576 Ingeniørhøjskolen i Århus Michael Kaalund AVR MP3 29-05-08 Indholdsfortegnelse 1 Introduktion...2 2 Udviklingsmiljø...2 3 Beskrivelse af systemet...3 3.1 VS1001k...3 3.2 MP3 file formatet...6 4 Konklusion...6 5 Litteratur liste...6 6 Illustrations

Læs mere

Oversættere Skriftlig eksamen onsdag d. 25. januar 2006

Oversættere Skriftlig eksamen onsdag d. 25. januar 2006 Københavns Universitet Naturvidenskabelig Embedseksamen Oversættere Skriftlig eksamen onsdag d. 25. januar 2006 Eksamenstiden er to timer. Opgavernes vægt i procent er angivet ved hver opgave. Den skriftlige

Læs mere

CPUer og maskinkode DM534. Rolf Fagerberg

CPUer og maskinkode DM534. Rolf Fagerberg CPUer og maskinkode DM534 Rolf Fagerberg CPUers opbygning En CPU er bygget op af elektriske kredsløb (jvf. sidste forelæsning), som kan manipulere bits. En CPU manipulerer flere bits ad gangen, deres antal

Læs mere

I stedet for at oprette en masse medlemmer, er det muligt at importere disse når bare nogle enkle spilleregler overholdes.

I stedet for at oprette en masse medlemmer, er det muligt at importere disse når bare nogle enkle spilleregler overholdes. I stedet for at oprette en masse medlemmer, er det muligt at importere disse når bare nogle enkle spilleregler overholdes. Sidst i denne vejledning er vist et Excel dokument som det KAN se ud. Ligesom

Læs mere

dcomnet-nr. 8 Simpel aritmetik på maskinniveau Computere og Netværk (dcomnet)

dcomnet-nr. 8 Simpel aritmetik på maskinniveau Computere og Netværk (dcomnet) dcomnet-nr. 8 Simpel aritmetik på maskinniveau Computere og Netværk (dcomnet) Efterår 2009 1 Simpel aritmetik på maskinniveau I SCO, appendix A, er det beskrevet, hvordan man adderer ikke-negative heltal

Læs mere

COMPUTER ANATOMI. 4.-5. klasse 23. FEBRUAR 2015 HTX - ROSKILDE

COMPUTER ANATOMI. 4.-5. klasse 23. FEBRUAR 2015 HTX - ROSKILDE COMPUTER ANATOMI 4.-5. klasse 23. FEBRUAR 2015 HTX - ROSKILDE 1 Indholdsfortegnelse Kapitel 1: Opbygning s.2 Kapitel 2: CPU s.3 Kapitel 3: Motherboard s.4 Kapitel 4: Ram s.6 Kapitel 5: Grafikkort s.7 Kapitel

Læs mere

Computer Literacy. En stationær bordmodel. En Bærbar Notebook, Labtop, Slæbbar, Blærebar mm.

Computer Literacy. En stationær bordmodel. En Bærbar Notebook, Labtop, Slæbbar, Blærebar mm. Computer Literacy Computer Literacy handler om at forstå hvad computer (hardware) og software kan gøre. Denne præsentation fokuserer kun på hardware februar 2002 Computerliteracy -hardware (15 dias) 1

Læs mere

Multi kanal GSM porttelefon med adgangs kontrol

Multi kanal GSM porttelefon med adgangs kontrol Multi kanal GSM porttelefon med adgangs kontrol Model: MCI-3000V1 Funktioner: Metal tastatur. Robust anti-vandal enhed. Rustfrit stål dørstation. Nem installation kun fire ledninger. Anti-Vandal højttaler

Læs mere

3. Computerens opbygning.

3. Computerens opbygning. 3. Computerens opbygning. Computere er konstrueret med henblik på at skulle kunne behandle og opbevare data og det er de som nævnt i noterne om Bits og Bytes vældig gode til. Som overordnet model for computere

Læs mere

Sådan afbrydes forbindelsen Når du vil afslutte CallPilot-sessionen, skal du trykke 83 for at afbryde forbindelsen eller lægge røret på.

Sådan afbrydes forbindelsen Når du vil afslutte CallPilot-sessionen, skal du trykke 83 for at afbryde forbindelsen eller lægge røret på. POSTKASSE-LOGON Du skal bruge et adgangsnummer (ring op til lokal 7600) til CallPilot Multimedia Messaging, et postkassenummer (7 + værelsesnummer) og en adgangskode for at logge på postkassen. 137 + værelsesnummer

Læs mere

Velkommen til IT for let øvede

Velkommen til IT for let øvede Velkommen til IT for let øvede Kursus er hjælp til selvhjælp og I får mest ud af det, hvis I også derhjemme afsætter nogle timer til øvelser på jeres computer. Vi sørger for hjemmeopgaver!! Der er masser

Læs mere

Installation Windows 7

Installation Windows 7 Du skal gøre følgende: Check om PC en har et Windows 7 logo: Logoet sidder på "kabinettet" (CPU'en/harddisken - kært barn har mange navne) hvis det er der, så følges vejledningen som er herunder. Du kan

Læs mere

Brugermanual. 2GB MP3 afspiller

Brugermanual. 2GB MP3 afspiller Brugermanual 2GB MP3 afspiller Indhold 1. Knappe funktioner og fremgagnsmåde... 4 2. Instruktioner... 4 2.1 Tænd og sluk... 4 2.2 Upload Music to the Player... 5 2.3 Afspil musik... 6 2.4 Normal or shuffle

Læs mere

Blockprog Rev1.0. Block programmering CS1/CJ1. Qiuck guide OMRON

Blockprog Rev1.0. Block programmering CS1/CJ1. Qiuck guide OMRON Blockprog Rev1.0 Block programmering CS1/CJ1 Qiuck guide OMRON Indholdsfortegnelse 1. SPECIFIKATION... 3 2. PROGRAMMERINGS INSTRUKTIONER.... 4 3. BLOK PROGRAMMERING... 5 3.1. BPRG OG BEND... 5 4. BETINGELSES

Læs mere

Projekt - RoboNet Del Journal.

Projekt - RoboNet Del Journal. Projekt - RoboNet Del Journal. Udarbejdet af: Klaus Jørgensen. Gruppe: Jacob Clausen, Klaus Jørgensen og Ole Rud It og Elektronikteknolog, 2a Erhvervsakademiet Fyn Udarbejdet i perioden: 20/01-03 03/02-03

Læs mere

Indhold. Maskinstruktur... 3. Kapitel 1. Assemblersprog...3. 1.1 Indledning...3 1.2 Hop-instruktioner... 7 1.3 Input og output...

Indhold. Maskinstruktur... 3. Kapitel 1. Assemblersprog...3. 1.1 Indledning...3 1.2 Hop-instruktioner... 7 1.3 Input og output... Indhold Maskinstruktur... 3 Kapitel 1. Assemblersprog...3 1.1 Indledning...3 1.2 Hop-instruktioner... 7 1.3 Input og output... 9 Kapitel 2. Maskinkode... 13 2.1 Den fysiske maskine... 13 2.2 Assemblerens

Læs mere

Sider og segmenter. dopsys 1

Sider og segmenter. dopsys 1 Sider og segmenter dopsys 1 Lokal vs global sideallokering (1) Med (a) som udgangspunkt giver (b) lokal hhv. (c) global allokering forskellige resultater dopsys 2 Lokal vs global sideallokering (2) Den

Læs mere

DATALOGI 1E. Skriftlig eksamen torsdag den 3. juni 2004

DATALOGI 1E. Skriftlig eksamen torsdag den 3. juni 2004 Københavns Universitet Naturvidenskabelig Embedseksamen DATALOGI 1E Skriftlig eksamen torsdag den 3. juni 2004 Opgaverne vægtes i forhold til tidsangivelsen herunder, og hver opgaves besvarelse bedømmes

Læs mere

Dansk Manual 2015 Dato: 31.03.15. Læs manualen før brug! RX-4 automatisk tablet tæller. Operatør Manual

Dansk Manual 2015 Dato: 31.03.15. Læs manualen før brug! RX-4 automatisk tablet tæller. Operatør Manual Dansk Manual 2015 Dato: 31.03.15 Læs manualen før brug! RX-4 automatisk tablet tæller Operatør Manual 1 Indhold Pakkens indhold:... 3 Beskrivelse af maskinen:... 3 Betjeningsvejledning:...:... 4 Placering

Læs mere

Fejlsikret Windows Fejlsikret start

Fejlsikret Windows Fejlsikret start Fejlsikret Windows Hvis din computer ikke vil starte, eller hvis den konstant går ned, kan du bruge fejlsikret tilstand til at finde og eventuelt rette fejlen. Fejlsikret tilstand kan også hjælpe dig med

Læs mere

Installation af GPS med tilslutning til USB port

Installation af GPS med tilslutning til USB port Indholdsfortegnelse Opsætning af GPS-tilslutning... 1 1: Installation af driver... 2 2: Opsætning af COM-port... 2 3: Vælg COM-port i DLS NG... 3 4: Brug af GPSViewer testprogram... 5 5: Hvis COM-port

Læs mere

PERFECT JUMP Böttcher Tomschke Video Hopmålesystem BUOY-X/Y-CO-ORDINATES Installation til Software Version 6.0 GTK 1997

PERFECT JUMP Böttcher Tomschke Video Hopmålesystem BUOY-X/Y-CO-ORDINATES Installation til Software Version 6.0 GTK 1997 PERFECT JUMP Böttcher Tomschke Video Hopmålesystem BUOY-X/Y-CO-ORDINATES Installation til Software Version 6.0 GTK 1997 1. Placering af kameraer. Kamera B skal anbringes ca. 5 til 10 meter længere væk

Læs mere

Synkron kommunikation

Synkron kommunikation Synkron kommunikation Synkron kommunikation betyder, at kommunikationen foregår her og nu, med ingen eller kun lidt forsinkelse. De to kommunikatorer er synkrone de "svinger i samme takt". Et eksempel

Læs mere

Dansk El-montage manual Portautomatik

Dansk El-montage manual Portautomatik Dansk El-montage manual Portautomatik (med fysiske ende stop) Terminaler: Power Portstyring 1 2 Power input 220/230Vac. Kabeldim. 3x1.5 PVIKJ eller lign. 3 4 Advarselslampe. Udgang 230Vac/20W. Signalet

Læs mere

Vejledning til opbygning af hjemmesider

Vejledning til opbygning af hjemmesider Side 1 af 9 Vejledning til opbygning af hjemmesider Hvis du er inde på din klubs hjemmeside, fx på forsiden, kan du nu gå i gang med at redigere. For at få redigeringsværktøjet frem, skal du klikke på

Læs mere

Styresystemet er den del af softwaren, der sammenkæder hardware og brugerprogrammer, således at de kan arbejde sammen.

Styresystemet er den del af softwaren, der sammenkæder hardware og brugerprogrammer, således at de kan arbejde sammen. Hvad sker der, når der tændes for PC en? Når computeren tændes, kontrolleres en række funktioner, bl.a. ram, harddisk, mus, tastatur, diskettedrev og lignende, før det rigtige Windows- billede vises på

Læs mere

Velkommen til IT for let øvede

Velkommen til IT for let øvede Velkommen til IT for let øvede Kursus er hjælp til selvhjælp og I får mest ud af det, hvis I også derhjemme afsætter nogle timer til øvelser på jeres computer. Vi sørger for hjemmeopgaver!! Der er masser

Læs mere

AUTOMATION SERVICE. Sådan anvender du programmet Automation Service. Udviklet af PC SCHEMATIC A/S

AUTOMATION SERVICE. Sådan anvender du programmet Automation Service. Udviklet af PC SCHEMATIC A/S AUTOMATION SERVICE Sådan anvender du programmet. Udviklet af PC SCHEMATIC A/S Opdateret feb. 2015 FORORD Dette hæfte viser, hvordan du anvender programmet. ET PAR DEFINITIONER PC SCHEMATIC Automation er

Læs mere

Lærer nye styresystemer Installerer programmer som kun kan bruges i ældre versioner

Lærer nye styresystemer Installerer programmer som kun kan bruges i ældre versioner Virtuel PC Fordele/ulemper Fordele: Lærer nye styresystemer Installerer programmer som kun kan bruges i ældre versioner Ulemper: Reserverer RAM (Windows 7) Problemer med at ureglementeret lukke ned Mister

Læs mere

DATALOGI MASKINARKITEKTUR Blok 2 samt Reeksamination i DATALOGI MASKINARKITEKTUR Blok 1 og arkitekturdelen af DATALOGI 1E

DATALOGI MASKINARKITEKTUR Blok 2 samt Reeksamination i DATALOGI MASKINARKITEKTUR Blok 1 og arkitekturdelen af DATALOGI 1E Københavns Universitet Naturvidenskabelig Embedseksamen DATALOGI MASKINARKITEKTUR Blok 2 samt Reeksamination i DATALOGI MASKINARKITEKTUR Blok 1 og arkitekturdelen af DATALOGI 1E Vejledende løsninger til

Læs mere

LAVT BATTERI SIGNAL - Hvis ERROR blinker alene 7 gange, hurtigt efter hinanden, er batteriet ved at være brugt op.

LAVT BATTERI SIGNAL - Hvis ERROR blinker alene 7 gange, hurtigt efter hinanden, er batteriet ved at være brugt op. ELEKTRONISK DIGITAL KOMBINATIONSLÅS RUNNER GENERELLE NOTER (3. UDGAVE) TYPER DER FINDES 4 VERSIONER: NORMAL (V.01) MED KODE TIL BRUG OG TIL NØDSITUATIONER (V.02), MED TIDSFORSINKELSE (V.03), TIL INDGANGSDØRE

Læs mere

Sonofon Erhverv. Kom godt i gang. med SMS fra Outlook Brugervejledning. 1107V01-93.010.014 gældende fra 29. oktober

Sonofon Erhverv. Kom godt i gang. med SMS fra Outlook Brugervejledning. 1107V01-93.010.014 gældende fra 29. oktober Sonofon Erhverv Kom godt i gang med SMS fra Outlook Brugervejledning 1107V01-93.010.014 gældende fra 29. oktober Grundlæggende funktionalitet Med SMS fra Outlook kan du enkelt sende både SMS, MMS og fax

Læs mere

Lageradministration. dopsys

Lageradministration. dopsys Lageradministration 1 Lageret i maskinarkitekturen Beregningsenhed, lagre (registre, RAM, disk), ydre enheder 2 Abstraktion over typerne: et hierarki En maskine har flere forskellige lagre Operativsystemet

Læs mere

Kom godt i gang med SMS fra Outlook

Kom godt i gang med SMS fra Outlook Grundlæggende funktionalitet Med SMS fra Outlook kan du enkelt sende både SMS, MMS og fax fra Outlook. Programmet er integreret med din personlige Outlook-kontaktliste, og gør afsendelse af meddelelser

Læs mere

SIKRING. KC KeySafe. Sikker opbevaring af nøgler! - et sikkert valg...

SIKRING. KC KeySafe. Sikker opbevaring af nøgler! - et sikkert valg... SIKRING KC KeySafe Sikker opbevaring af nøgler! - et sikkert valg... ELEKTRONISK DIGITAL KOMBINATIONSLÅS RUNNER GENERELLE NOTER (3. UDGAVE) TYPER DER FINDES 4 VERSIONER: NORMAL (V.01) MED KODE TIL BRUG

Læs mere

Mircobit Kursus Lektion 5 (Du skal her vælge Lets Code og nederst Microsoft Block Editor.)

Mircobit Kursus Lektion 5   (Du skal her vælge Lets Code og nederst Microsoft Block Editor.) Mircobit Kursus Lektion 5 http://microbit.org/ (Du skal her vælge Lets Code og nederst Microsoft Block Editor.) Vi laver en variabel point til at holde styr på pointene. Af en mystisk grund kunne man ikke

Læs mere

Programmering. Det rent og skært nødvendige, det elementært nødvendige! Morten Dam Jørgensen

Programmering. Det rent og skært nødvendige, det elementært nødvendige! Morten Dam Jørgensen Programmering Det rent og skært nødvendige, det elementært nødvendige! Morten Dam Jørgensen Oversigt Undervisningen Hvad er programmering Hvordan er et program organiseret? Programmering og fysik Nobelprisen

Læs mere

Design af IT-medier. Skriftlig prøve 27. august 1999. Alle skriftlige hjælpemidler er tilladt.

Design af IT-medier. Skriftlig prøve 27. august 1999. Alle skriftlige hjælpemidler er tilladt. Design af IT-medier Skriftlig prøve 27. august 1999 Varighed: Hjælpemidler: Bedømmelse: Besvarelse: Opgaver: 4 timer. Alle skriftlige hjælpemidler er tilladt. Karakter efter 13-skalaen. Alle ark skal være

Læs mere

Kapitel 4 Løkker i C#

Kapitel 4 Løkker i C# Kapitel 4 Løkker i C# Løkker en vigtig del af alle programmeringssprog, og C# er ikke andeles. En løkke er en måde at udføre en del af koden gentagne gange. Ideen er at du fortsætter med at udføre en opgave

Læs mere

Brugermanual til CLINT Chiller/Varmepumpe enheder

Brugermanual til CLINT Chiller/Varmepumpe enheder 439,45 Brugermanual til CLINT Chiller/Varmepumpe enheder - 1 - BRUGERGRÆNSEFLADE Enhedens frontpanel fungerer som brugergrænseflade og bruges til at udføre alle handlinger, der har med enheden

Læs mere

Flowchart og Nassi ShneidermanN Version. Et flowchart bruges til grafisk at tegne et forløb. Det kan fx være et programforløb for en microcontroller.

Flowchart og Nassi ShneidermanN Version. Et flowchart bruges til grafisk at tegne et forløb. Det kan fx være et programforløb for en microcontroller. Flowchart Et flowchart bruges til grafisk at tegne et forløb. Det kan fx være et programforløb for en microcontroller. Et godt program til at tegne flowcharts med er, EDGE-Diagrammer, eller Smartdraw.

Læs mere

Ruko Security Master Central Database

Ruko Security Master Central Database Ruko Security Master Central Database RSM benytter en central database, til at udveksle låsesystemer mellem Ruko og låsesmeden. Udvekslingen sker via Internettet, så det er derfor nødvendigt at have en

Læs mere

Overvågningskamera. ~Af Svend, Valdemar og Frederik~

Overvågningskamera. ~Af Svend, Valdemar og Frederik~ Lavet af Svend, Valdemar og Frederik 2.3 HTX - Roskilde Overvågningskamera ~Af Svend, Valdemar og Frederik~ I dette forløb har vi arbejdet med overvågningskameraer. Det handlede om at lære, hvordan et

Læs mere

Datamaters arkitektur og programmering

Datamaters arkitektur og programmering Mikael Svenstrup Datamaters arkitektur og programmering 1/24 Datamaters arkitektur og programmering MM11: Seriel kommunikation 2 (SW) Indhold Mikael Svenstrup Datamaters arkitektur og programmering 2/24

Læs mere

Introduktion til CD ere og Arkivdeling Gammel Dok - September-oktober 2003. Jonas Christiansen Voss

Introduktion til CD ere og Arkivdeling Gammel Dok - September-oktober 2003. Jonas Christiansen Voss Introduktion til CD ere og Arkivdeling Gammel Dok - September-oktober 2003 Jonas Christiansen Voss 2. marts 2004 Indhold 1 CD ere 2 1.1 Brænde dokumenter til CD....................... 2 1.2 Disk Copy.................................

Læs mere

Konfigurationsværktøj for MJK Instrumenter

Konfigurationsværktøj for MJK Instrumenter Konfigurationsværktøj for MJK Instrumenter Quick Guide Version nr.: 840150-002 www.mjk.com DK: +45 45 56 06 56 NO: +47 69 20 60 70 SE: +46 53 31 77 50 NL: +31 251 672171 USA: +1 847 482 8655 AUS: +61 3

Læs mere

Vejledning. Indhold. 1. BitLocker. 2. Vigtig information

Vejledning. Indhold. 1. BitLocker. 2. Vigtig information Vejledning Afdeling UCL Erhvervsakademi og Professionshøjskole IT Oprettet 07.06.2018 Redigeret 12.09.2019 Udarbejdet af Lone Petersen Dokumentnavn (DK) Bitlocker kryptering af C-drev og USB-drev UCL Indhold

Læs mere

Brugermanual MP3 afspiller

Brugermanual MP3 afspiller Brugermanual MP3 afspiller Du kan downloade manualen via følgende link: http://www.accessionx.com/dow nload/manual_links/1331.pdf Importør: Accession ApS, Vandmanden 34, 9200 Aalborg SV 2 Indholdsfortegnelse

Læs mere

Sådan opretter du en backup

Sådan opretter du en backup Excovery Guide Varighed: ca. 15 min Denne guide gennemgår hvordan du opretter en backup med Excovery. Guiden vil trinvist lede dig igennem processen, og undervejs introducere dig for de grundlæggende indstillingsmulighed.

Læs mere

I løbet af 2017 vil C-drevet på alle UCL s bærbare computere automatisk blive krypteret med BitLocker.

I løbet af 2017 vil C-drevet på alle UCL s bærbare computere automatisk blive krypteret med BitLocker. BitLocker BitLocker kan bruges til kryptering af drev for at beskytte alle filer, der er gemt på drevet. Til kryptering af interne harddiske, f.eks. C-drevet, bruges BitLocker, mens man bruger BitLocker

Læs mere

MYLOQ 1101 Kodecylinder

MYLOQ 1101 Kodecylinder MYLOQ 1101 Kodecylinder Brugsanvisning DK Vigtig information før anvending Kodecylinderen skal aktiveres før brug (se side 3). En administrationskode skal tilføjes. Vær sikker på at få skrevet den nye

Læs mere

Formål: Indledning: Notationer

Formål: Indledning: Notationer Formål: Formålet med dette kompendium er at gennemgå de forskellige principper bag EDB printeren, således at læseren efter gennemgangen, har overblik over printeren som enhed. Indledning: I nudansk ordbog

Læs mere

Manual til Neopost IJ-40 og IJ-50

Manual til Neopost IJ-40 og IJ-50 Manual til Neopost IJ-40 og IJ-50 1. Skift af farvepatron Ved skift af farvepatron er det vigtigt, at man bruger følgende fremgangsmåde: HUSK! Fjern beskyttelsestapen fra printhovederne! 1.1. Log på som

Læs mere

//--------------------------------- Definition af porte og funktioner -------------------------

//--------------------------------- Definition af porte og funktioner ------------------------- Temeraturmåler (C-program).txt // Initialiserings-sekvens #include #pragma model=medium #pragma code=0x0000 #pragma xdata=0x4000 #pragma asm=on #pragma parameters=register //#define display P4

Læs mere

Softwaremanual. HP SimpleSave. Backup-software Brugsanvisning. SimpleSave

Softwaremanual. HP SimpleSave. Backup-software Brugsanvisning. SimpleSave HP SimpleSave Backup-software Brugsanvisning Softwaremanual SimpleSave Sådan får du hjælp For yderligere hjælp med dit drev, installation af det samt softwaren, kan du kontakte en af følgende: HP Kundeservice

Læs mere

Analoge indgange og A/D konvertering. Analoge udgange

Analoge indgange og A/D konvertering. Analoge udgange Programmering for begyndere Brug af Arduino Programmeringskursus Analoge indgange og A/D konvertering Analoge udgange Knud Krogsgaard Jensen OZ1QK Oversigt Oversigt over i aften: A/D konvertering iterations

Læs mere

DUNE HD 102 Indhold DUNE HD HDMI WIFI Modtageren Tændt Slukket USB port AV OUT

DUNE HD 102 Indhold DUNE HD HDMI WIFI Modtageren Tændt Slukket USB port AV OUT Indhold DUNE HD TV-102 modtagerboks Strømforsyning HDMI-kabel AV-kabel (anvendes, hvis dit TV ikke har HDMI men kun scart-indgang) IR-øje (anvendes, hvis fjernbetjeningen ikke kan se boksen) Fjernbetjening

Læs mere

Acronis et stærkt værktøj til backup. Af Hanne B. Stegemüller 6. juni 2015

Acronis et stærkt værktøj til backup. Af Hanne B. Stegemüller 6. juni 2015 Acronis et stærkt værktøj til backup Af Hanne B. Stegemüller 6. juni 2015 Acronis True Image 2015 Denne guide handler om det meget stærke værktøj til backup, der hedder Acronis. Jeg baserer guiden på flere

Læs mere

Brugermanual Netværkoptager (NVR)

Brugermanual Netværkoptager (NVR) Brugermanual Netværkoptager (NVR) Indholdsfortegnelse Login på videooptageren...2 Brugerkonti...2 Afspilning og Søgning i optagelser...3 Visnings vindue...3 Optagelses søgetype...4 Optagelses kalender...4

Læs mere

Sider og segmenter. dopsys 1

Sider og segmenter. dopsys 1 Sider og segmenter dopsys 1 Lokal vs global sideallokering (1) Med (a) som udgangspunkt giver (b) lokal hhv. (c) global allokering forskellige resultater dopsys 2 Lokal vs global sideallokering (2) Den

Læs mere

Brugermanual for Agromatic Digital Super I SW 1.08

Brugermanual for Agromatic Digital Super I SW 1.08 Brugermanual for Agromatic Digital Super I SW 1.08 Version : DK 2016-1.08 Nyskovvej 13 DK-6580 Vamdrup Tlf. +45 76 92 02 00 Fax +45 75 58 06 31 E-mail: scales@farmertronic.com www.farmertronic.com Indhold

Læs mere

Typisk PC arkitektur. Synkronisering ved aktiv venten

Typisk PC arkitektur. Synkronisering ved aktiv venten Oversigt I/O arkitektur Kommunikation mellem processor og ydre enhed Brugerprocessers adgang til I/O Strukturen af kernens I/O del Ydelse Typisk C arkitektur Kontrol af ydre enheder De ydre enheder styres

Læs mere

DM507 Algoritmer og datastrukturer

DM507 Algoritmer og datastrukturer DM507 Algoritmer og datastrukturer Forår 2019 Projekt, del III Institut for matematik og datalogi Syddansk Universitet 10. april, 2019 Dette projekt udleveres i tre dele. Hver del har sin deadline, således

Læs mere

Oprettelse af Titelblok i Capture og Capture CIS

Oprettelse af Titelblok i Capture og Capture CIS e-service Titelblok i OrCAD Capture og Capture CIS Side 1 af 11 Oprettelse af Titelblok i Capture og Capture CIS Note skrevet af : Nordcad Systems Technical Support Revision : April 2003, Release 14.2/9.2.3,

Læs mere

SIGIL Sådan opretter du en e- bog Step by Step

SIGIL Sådan opretter du en e- bog Step by Step SIGIL Sådan opretter du en e- bog Step by Step Af Gitte Winter Graugaard Nov. 2013, Sigil version 0.7.2 1 Her følger en intro skridt for skridt til at oprette en e- bog i SIGIL og publicere den på SAXO

Læs mere

Intro til AVR. Mads Pedersen, OZ6HR mads@oz6hr.dk

Intro til AVR. Mads Pedersen, OZ6HR mads@oz6hr.dk Intro til AVR Mads Pedersen, OZ6HR mads@oz6hr.dk Projektidé Brug en AVR-microcontroller Mål temperatur vha. temperatursensor Vis på display Send til computer og vis temperatur Slide 2 Plan 27/10-2005:

Læs mere

Ekstra hastighed med array's i Excel-VBA

Ekstra hastighed med array's i Excel-VBA Denne guide er oprindeligt udgivet på Eksperten.dk Ekstra hastighed med array's i Excel-VBA Brugen af arrays til indlæsning af og skrivning til celler i Excel kan give betragtelige hastighedsforøgelser

Læs mere

Lidt orientering om, hvad en computer består af

Lidt orientering om, hvad en computer består af Lidt orientering om, hvad en computer består af Lidt orientering om, hvad en computer består af...1 Introduktion...2 Skærm...2 Printer...2 Tastatur...2 Mus...3 CPU...3 Bundkort...4 Strømforsyning...4 RAM/

Læs mere

DM13-3. Obligatorisk opgave E.05 Håndoptimering af SPARC assembler-kode

DM13-3. Obligatorisk opgave E.05 Håndoptimering af SPARC assembler-kode - 3. Obligatorisk opgave E.05 Håndoptimering af SPARC assembler-kode Jacob Aae Mikkelsen - 191076 12. december 2005 1 Indhold 1 Opgave beskrivelse 2 2 Muligheder for optimering 2 2.1 efter branch.........................

Læs mere