Programmering i maskinkode på AMIGA
|
|
|
- Alfred Eriksen
- 10 år siden
- Visninger:
Transkript
1 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 DATASKOLEN Postboks 62 Nordengen Kokkedal Telefon Postgiro
2 MASKINKODE Følgende lille program ligger ikke på kursusdiskette # 1. Skriv det ind, assembler det og start det op ved at skrive "j". Bevæg derefter musen fra side til side, og se på POWERlampen imedens. 1 move.w #$4000,$dff09a 2 3 mainloop: 4 bset #l,$bfe001 5 bsr wait1 6 bclr #l,$bfe001 7 bsr wait2 8 9 btst #6,$bfe bne mainloop move.w #$c000,$dff09a 13 rts wait1: 16 move.w $dff00a,d0 17 and.l #$ff,d0 18 waitloop1: 19 dbra d0,waitloop1 20 rts wait2: 23 move.w $dff00a,d0 24 and.l #$ff,d0 25 not.b d0 26 waitloop2: 27 dbra d0,waitloop2 28 rts Her følger en forklaring til dette lille program: Linie 1: Linie 4: Linie 5: Linie 6: Linie 7: Slukker alle INTERRUPTS. Sætter BIT 1 i $BFE001 til "1". Dette slukker POWER-1ampen. Hopper til "wait1". Sætter BIT 1 i $BFE001 til "0". Dette tænder POWER-lampen. Hopper til "wait2". Linie 9-10: Checker om musknappen er trykket ned. Hvis ikke, hop tilbage til "menuloop". Er den trykket ned, så udføres linierne 12 og 13. Linie 12: Tænder alle INTERRUPTS igen. 2
3 Linie 13: Hopper tilbage til SEKA (afslut). Linie 16: Henter muspositionen og lægger den i D0. Linie 17: Udfører en logisk AND med D0 således at vi atter kun får BIT 0-7 (BIT 8-31 sættes til "0"). Nu har vi luget de overflødige" BITs væk, således at kun musens x-position er tilbage. Linie 18-19: Denne loop benyttes som en forsinkelse. Den går i loop så mange gange som det tal, som ligger i D0 repræsenterer (muspositionen). Linie 20: Hopper tilbage til programlinie 6. Linie 23: Lægger muspositionen ind i D0. Linie 24: Sætter alle BIT undtagen BIT 0-7 til "0" (Husk at BIT 0-7 forbliver uberørte). Linie 25: Inverterer (vender, dvs 0 bliver til 1 og omvendt) BIT 0-7 i D0. Det er kun BIT 0-7 som inverteres fordi vi bruger "b" i instruktionen (En BYTE er jo otte BIT). Linie 26-27: Går i loop det antal gange, som tallet i D0 angiver. Linie 28: Hopper tilbage til programlinie 9. Eksemplet ovenfor fungerer således, at når du flytter musen fra side til side, kan POWER-lampen tændes og slukkes "trinløst". Hele hemmeligheden er at tænde og slukke POWER-lampen meget hurtigt. Tænk efter før du læser videre om du kan finde ud af, hvorfor og hvordan det virker som det gør. Fandt du ud af det? Sandsynligvis ikke. Det er ikke så let at komme på af sig selv. Men når du har læst forklaringen nedenfor, så forstår du det - helt sikkert! Hvis vi lader lampen være tændt lige så længe som den er slukket, vil vi opleve det som om lampen lyser med halv styrke. Hvis vi så lader lampen være slukket i 90% af tiden, og tændt i 10% af tiden, oplever vi det som om lampen lyser meget svagt (10% af fuld styrke). Denne regulering udføres med rutinerne "wait1" og "wait2". 3
4 LOGISK MATEMATIK Nu skal vi se på et område indenfor programmering som mange synes er vanskeligt at forstå: Regneoperationer, som udføres ved hjælp af de logiske operatorer: AND, OR og NOT. Der er dog ingen grund til at blive forskrækket. Det hele er meget logisk. Men - som med alt andet her i livet - så må man øve sig før man bliver mester. Et udtryk kan f.eks. se således ud: D=(A AND B) OR ((NOT A) AND C) Akkurat som i almindelig matematik begynder man med at løse de inderste parenteser først. Det betyder at i udtrykket (NOT A), skal A inverteres. Hvis A altså var 1010, så bliver det efter at (NOT A) er udført Dette skriver man i logisk matematik med et A med en streg over for at markere invertering sådan: A Det nye reducerede udtryk vil se således ud: D=(A AND B) OR (A AND C) I logisk matematik skrives en AND som en multiplikation. Det betyder at parentesen (A AND B) kan skrives således: A*B I almindelig matematik udelader man ofte multiplikationstegnet. Det er der, men det skrives ikke. Matematikere er dovne folk.! Nuvel, det gør at udtrykket (A AND B) - som vi kunne skrive som A*B - kan forenkles yderligere til AB. Hele udtrykket kan nu skrives således: D=(AB) OR (A AND C) 4
5 Vi håber du er med så langt. Lad os gå igang med den sidste parentes. Som nævnt skrives end AND i logisk matematik som en multiplikation. Det resulterer i at udtrykket... (A AND C) kan skrives: (AC) udtrykket er nu blevet reduceret til: D=(AB) OR (AC) Så langt burde alt være klart som blæk. Men vi har en logisk operation tilbage, nemlig en OR. I logisk matematik skrives den som en addition, altså med et plustegn (+). Vi kan nu reducere udtrykket endnu en gang: D=(AB)+(AC) Parenteserne kan nu fjernes helt og udtrykket ser i sin enkleste form således ud (næsten ikke til at kende igen, vel): D=AB+AC Når man skal læse det færdige udtryk, så siger man: D er lig med A gange B plus A-invers gange C. Man bruger samme regnerækkefølge som i almindelig matematik: En multiplikation (og division) udføres før en eventuel addition (eller subtraktion), så udregningen udføres sådan: A og B skal ANDes med hinanden A skal inverteres for så at ANDes med C De to resultater skal ORes med hinanden Resultatet skal havne i D. OBS: I logisk matematik bruges ikke division og subtraktion. I dette kursus behøver du ikke vide mere om logisk matematik end det vi her har gennemgået. Men du kan senere have stor gavn af at læse speciallitteratur om logisk matematik. Det er uvurderlig og nødvendig viden, hvis man vil være en god programmør. 5
6 BLITTER 1 Ordet BLITTER er en forkortelse for BLOCK IMAGE TRANSFERRER (dansk: Blok-grafik-flytter). BLITTERen i AMIGA kan bruges til mange ting. Lad os begynde med at nævne at den bl.a. kan: kopiere store mængder data fra et sted i hukommelsen til et andet. flytte data BIT-vis i hukommelsen (bruges bl.a. i SCROLLing). bevæge figurer på en grafik-skærm. flytte figurer rundt på skærmem, uden at ødelægge eventuel bagved liggende grafik (baggrund). tegne linier (streger) på skærmen. Altså, BLITTERen kan hente data fra hukommelsen og f.eks. udføre en logisk operation for så at lægge dataene tilbage igen på samme sted (eller et andet sted) i hukommelsen. BLITTERen kan benytte sig af op til 4 DMA-kanaler på en gang. Disse DMA-kanaler kaldes A, B, C og D. Kanalerne A, B og C kan kun bruges til at hente data fra hukommelsen, mens kanal D kun bruges til at skrive data til hukommelsen. DMA-kanalerne A, B og C kaldes ofte for SOURCE-kanaler (oversat: kilde-kanaler) fordi de kun kan hente data. Kanal D kaldes for DESTINATION-kanal fordi den kun kan skrive data til hukommelsen. Forestil dig at vi skal kopiere data som ligger i hukommelsesområdet $ $100FF (tilsammen 256 BYTEs) ind på adresse $ $200FF. Vi kan da bruge operationen D=A (D-kanalen er lig A-kanalen) Derefter sætter vi A-kanalen til at pege på adresse $10000, og kanalen på $ Længden sættes til $100, og til sidst startes BLITTERen. Den vil så arbejde på egen hånd, således at hovedprocessoren kan fortsætte med sine opgaver. Vi kan også udføre logiske operationer med BLITTERen. De tre funktioner er: AND, OR, NOT. Disse kan kombineres på forskellige måder. For eksempel som i det foregående kapitel: D=AB+AC ( reduceret fra D=(A AND B)OR((NOT A)AND C) ) 6
7 Vi kommer tilbage til dette på et senere tidspunkt når vi får brug for det i praksis. Lad os se på de registre BLITTERen bruger. Tabel over adresse-pointers til A, B, C og D: Navn BITS Adresse BLTAPTH (A) $DFF050 BLTAPTL (A) 0-15 $DFF052 BLTBPTH (B) $DFF04C BLTBPTL (B) 0-15 $DFF04E BLTCPTH (C) $DFF048 BLTCPTL (C) 0-15 $DFF04A BLTDPTH (D) $DFF054 BLTDPTL (D) 0-15 $DFF056 Modulo-registrene for A, B, C og D: Navn BLTAMOD BLTBMOD BLTCMOD BLTDMOD Adresse $DFF064 $DFF062 $DFF060 $DFF066 7
8 BLITTER kontrol-register 0 og dets opsætning: BLTCONO - $DFF040 BIT Funktion 15 ASH3 14 ASH2 13 ASH1 12 ASH0 11 USE A 10 USE B 9 USE C 8 USE D 7 LF7 6 LF6 5 LF5 4 LF4 3 LF3 2 LF2 1 LF1 0 LF0 ASHO - ASH3 = Roteringsværdi for A-kanalen (A SHIFT). Kan indeholde en værdi fra 0 til 15. USE A - USE D = Her vælges hvilke DMA-Kanaler som skal bruges. LF0 - LF7 = Bruges til at sætte den logiske operation som BLITTERen skal benytte (LF = LOGIC FUNKCTION). BLITTER kontrol-register 1 og dets opsætning: BIT Funktion 15 BSH3 14 BSH2 13 BSH1 12 BSH EFE 3 IFE 2 FCI 1 DESC 0 LINE BSH0 - BSH3 = Roteringsværdi for B-Kanalen (B SHIFT). Kan indeholde en værdi fra 0 til 15. 8
9 EFE, IFE, FCI = Bruges i forbindelse med udfyldning af figurer. Vi går ikke nærmere ind på det nu - men vær bare rolig - vi kommer tilbage til det! DESC = Bruges til at sætte BLITTERen i "bakgear" (kaldes på datasprog: DESCENDING, udtales dis9e9nding og betyder nedstigende). Denne metode kommer vi tilbage til i BREV VII. BLITTER størrelse (BLITTER SIZE) register og dets opsætning: BLTSIZE - $DFF058 BIT Funktion 15 H9 14 H8 13 H7 12 H6 11 H5 10 H4 9 H3 8 H2 7 H1 6 H0 5 W5 4 W4 3 W3 2 W2 1 W1 0 W0 H0 - H9 = Højden (HEIGHT) på "BLITen". Kan indeholde en værdi fra 0 til W0 - W5 = Bredden (WIDTH) på "BLITen". Kan være en værdi fra 0 til 63. Læg mærke til at alle registrene, som vi har vist her, er registre, som du kun kan skrive til (WRITE ONLY). 9
10 BEGREBET MODULO Vi fortsætter nu med at forklare hvordan MODULO-registrene (BLTxMOD) fungerer. Studer FIGUR 1 bag i dette brev. Figuren viser et udsnit af en grafikskærm. En rude i figuren svarer til 16 PIXELs i bredden, og 1 linie i højden. Tallene i ruderne er skærmadresser. Som du ser, består en linie af 40 BYTEs, hvilket er en bredde på 320 PIXELs. På skærmudsnittet er der trukket en firkant op. Denne firkant skal fyldes med de data, som ligger i bufferen. Dette gøres med en "BLIT". Som du kan se er den første adresse (øverste venstre hjørne) i firkanten 126, mens den første adresse i bufferen er 0. Forestil dig at skærmhukommelsen ligger på adresse $10000, og at bufferen ligger på adresse $ Da bliver den første adresse inde i firkanten $ = $1007E ($7E=126), og den første adresse i bufferen bliver $ = $ Den logiske operation som BLITTERen skal udføre er D=A. Størrelsen af en "BLIT" specificeres i højde og bredde. Højden angives i antal linier, mens bredden angives i blokke på 16 PIXELs. Bredden på "BLITen" i dette tilfælde bliver 4 (4 * 16 = 64 PIXELs), og højden bliver 3 (3 linier). Adresserne inde i firkanten ligger ikke i rækkefølge sådan som i bufferen. Lad os se hvordan dataene skal flyttes således at det bliver rigtigt. BUFFER SKÆRM 0 -> > > > > > > > > > > > 212 Som du ser er der et "hop" i rækkefølgen på skærmadresse og Dette "hop" sættes i MODULO-registrene. Den værdi som skal bruges for at få korrekt "hoplængde", kaldes for en MODULO. MODULO bliver i vores tilfælde 0 for A-kanalen (som peger på bufferen), fordi alle data i bufferen ligger lige efter hinanden. 10
11 MODULO for D-kanalen (som peger på skærmhukommelsen) udregnes således: Bredden på "BLITen" er 4 WORDS (eller 4 ruder i figuren). Et WORD indeholder 16 BITs, altså 16 PIXELs. Vi ved også at skærmbredden (linielængden) er 40 BYTEs, Vi regner så MODULO ud således: 40 -(64/8) = 40-8 = 32. Vi har nu følgende: - Startadressen for begge DMA-kanaler (A = $20000 og D = $1007E). - MODULO for begge kanaler (A = 0 og D = 32). - Den logiske operation BLITTERen skal udføre (D=A), direkte kopiering fra A til D9. - Størrelsen på "BLITen" (højden = 3 og bredden = 4) Den komplette opsætning i maskinkode vil se således ud: 1 MOVE.L #$20000,$DFF050 2 MOVE.L #$1007E,$DFF054 3 MOVE.W #0,$DFF064 4 MOVE.W #32,$DFF066 5 MOVE.W #$09F0,$DFF040 6 MOVE.W #$000, $DFF042 7 MOVE.L #$FFFFFFFF,$DFF044 8 MOVE.W #$00C4,$DFF058 Linie 1: Lægger værdien af #$20000 (adressen på bufferen) ind i A-kanal-pointeren Linie 2: Lægger værdien #$1007E "(adressen på skærmhukommelsen) ind i D-kanal-pointeren. Linie 3: Sætter MODULO til 0 (nul) for A-kanalen. Linie 4: Sætter MODULO til 32 for D-kanalen. Linie 5: Den er sikkert lidt indviklet: Se i tabellen til registret (BLTON0). Der vil du se at dette register blandt andet sætter den logiske funktion som BLITTERen skal udføre. Derudover angives der hvilke DMA-kanaler, som skal bruges (i dette tilfælde A og D). Når det gælder den logiske operation, så har vi lavet en tabel over de mest benyttede operationer bagest i brevet. Værdien for operationen A=D, som bliver brugt i dette tilfælde, er $F0. 11
12 Linie 6: Dette register sættes som regel til 0. Vi vil komme tilbage til dette register senere når vi får brug for det. Se også i tabellen over registeret (BLTC0N1). Linie 7: Dette register sættes til $FFFFFFFF. Vi vil ikke forklare hvad dette register gør i denne omgang, men hvis du vil eksperimentere med BLITning selv, kan du trygt altid sætte dette register til $FFFFFFFF (for den nysgerrige hedder dette register BLITTER A MASK). Linie 8: Her kommer det register som bestemmer, hvor stor BLITen skal være (højde og bredde). Den udregnes ved hjælp af en enkel formel: (højde * 64) + bredde Altså: 3 (linier) * (WORDs, som svarer til 64 PIXELS) = 196 (DECIMALT) = $00C4 (HEXADECIMALT) Lad os nu se på eksempel MC0601. På grund af eksemplets længde har vi ikke trykt det i brevet, (du finder det på kursusdiskette #1). Først en enkel forklaring af programmet: Linie 1-28: Linie 30-42: Linie 44-53: Linie 55-67: Slukker INTERRUPTS og diskettestation. Sætter en skærm op med en BITPLANE på 320 * 256 PIXELs i LORES, og starter COPPERen. Dette er hovedprogrammet (hovedloopen). Henter den gamle skærm tilbage og afslutter programmet. Dette er en underrutine (SUBRUTINE), som ved hjælp af BLITTERen renser skærmen (lægger 0 i alle skærmadresserne). Linie : "Denne underrutine "BLITTER" figuren ind på skærmen. Dette foregår ved hjælp af BLITTERen. Linie Her er vores COPPER-liste. Linie : Den første "BLK"-kommando sætter BYTEs af til skærmhukommelsen. Den anden sætter 640 BYTEs af til figurdata (som også er på diskette #1). Her følger en grundigere forklaring på de nye og ukendte dele i programmet: Linie 1-28: Dette burde være kendt stof for alle nu. 12
13 Linie 31-35: Linie 37: Linie 39: Linie 41-41: Linie 44-53: Linie 55: Linie 56: Linie 58-60: Linie 62: Denne rutine venter til elektronstrålen har nået skærmlinie 300. Her hoppes der til rutinen "clear". Her hoppes der til rutinen "blitin". Checker om venstre mus-knap er trykket ned. Hvis ikke - så hop tilbage til "mainloop". Her afsluttes programmet. Denne rutine renser skærmen (lægger værdien 0 i alle skærmadresserne). Vi bruger kun D-kanalen i denne BLIT (altså, ingen SOURCE-kanaler). Dette resulterer i at der kun bliver lagt nuller i hukommelsen. Læg adressen på skærmhukommelsen (screen)ind i A1. Denne rutine venter med at gå videre til BLITTERen er færdig med sit forrige job (eller "BLIT"). Læg adressen på skærmhukommelsen ind i D-kanalpointeren. Linie 63: Sæt MODULO for D-kanalen til 0. Linie 64: Linie 65: Vælg kun D-kanalen og ingen logisk operation. Læg værdien 0 ind i BLTCONl. Linie 66: Angiv størrelse på BLITen. Højden sættes til 256, og bredden til 20 WORDs (20 * 16 = 320). Når du skriver til dette register, starter BLITTERen (DMA-kanalerne) af sig selv. Derfor skal du sætte størrelsen på BLITen ($DFF058) til sidst. Du skal altså ikke sætte nogen BITs i DMACON-registret ($DFF096) for at BLITTERen skal starte. Linie 67: Linie 69-70: Linie 72: Linie 73: Linie 74: Linie 75: Hop tilbage til hovedrutinen. Her har vi deklareret et LONGWORD der skal indeholde positionen til figuren på skærmen. Denne rutine BLITer figuren ind på skærmen. Hent adressen på "pos" ind i Al. Læg indholdet fra adressen, som Al peger på, ind i D1. Læg 1 til den værdi, som adressen i A1 peger på. Det vil sige at 1 lægges til i vores LONGWORD, og ikke i register D1. 13
14 Linie 77: Sammenlign D1 med 216. Linie 78: Hvis D1 er ulig 216, hop til "notbottom". Altså, check om figuren er nået til bunden af skærmen. Linie 80: Sæt alle BITs i D1 til 0. Linie 81: Sæt alle BITs i adressen, som A1 peger på, til 0. Linie 84: Læg adressen på "screen" ind i A1. Linie 85: Linie 86: Linie 87: Multiplicer D1 med 40. Det gøres fordi en skærmlinie indeholder 40 BYTEs. Denne instruktion er vi ikke stødt på før, men vi synes den er selvforklarende. Vi vil dog tage bl.a. denne instruktion op i forbindelse med såkaldte signerede værdier i et senere brev. For den nysgerrige har MC også en instruktion, som kan udføre en division. Den kan f.eks. se således ud: DIVU #5,D1 Adder værdien som ligger i D1 til værdien i A1. Adder 12 til værdien i A1. Dette gør at figuren centreres horisontalt på skærmen. Linie 89: Læg adressen på figuren ind i A2. Linie 91-93: Vent med at gå videre til et eventuel andet BLITTER-job er færdigt. Linie 95: Læg værdien (skærmadressen), som ligger i A1, ind i pointerne for D-kanalen. Linie 96: Læg værdien (figuradressen), som ligger i A2, ind i pointerne for A-kanalen. Linie 97: Sæt D-kanalens MODULO til 24. Linie 98: Sæt A-kanalens MODULO til 0. Linie 99: Linie 100: Linie 101: Linie 102: Sæt A MASK til SFFFFFFFF. Brugen af dette register vil vi ikke forklare lige nu (men vi kommer selvfølgelig tilbage til det senere). Vælg kanalerne A og D, og sæt den logiske operation til: D=A. Læg værdien 0 ind i BLTC0N1 ($DFF042). Sæt BLITens størrelse. Højde = 40 (linier) og bredde = 8 WORDs (8*16=128 PIXELs). 14
15 Linie 103: Hop tilbage til hovedrutinen. Linie : Her deklareres COPPER-listen Linie : Her deklareres skærmbuffer og figurbuffer. For at kunne køre dette program skal du først assemble det og derefter hente filen "OBJECT ind med kommandoen "ri". Filen ligger i samme katalog (DIRECTORY) som selve kildekoden (SOURCE CODE). Husk at BLITTER ligesom COPPER, SPRITE etc. kun kan arbejde i CHIP-RAM. 15
16 BLITTER II I dette kapitel forklares hvordan BLITTERen kan flytte en figur på skærmen uden at berøre (eller ødelægge) de grafikdata, som i forvejen findes på skærmen. Studer FIGUR 2 bag i brevet. Objektet er figuren, som skal BLITes ind på skærmen. MASKen er en figur som dækker over objektet. Altså: Den har samme form og størrelse som objektet, men har kun en BITPLANE. Det virker sådan: - Først læses musens position. - Derefter kopieres den del (bestemt af muspositionen) af skærmhukommelsen, som figuren skal lægges ind i, over i baggrundsbufferen. - Nu BLITes figuren ind. Hvis vi kopierede hukommelsen direkte fra objektbufferen ind i skærmhukommelsen (BITMAPen), ville vi få en sort ramme rundt om den runde figur. Dette undgås således: Den logiske operation for denne BLIT er D=AB+AC eller skrevet på en anden måde: D = (mask * objekt) + (mask * baggrund) Stregen over MASK (A) betyder at de BITs som indlæses i BLITTERen fra MASKbufferen vil blive inverteret. ( Husker du? : et nul (0) bliver en (1), og en (1) bliver nul (0).) Det resulterer i at: De steder MASKen indeholder nuller (udenfor cirklen), vil dataene som ligger i baggrundsbufferen blive kopieret (BLITet) ind på skærmen, og der hvor MASKen indeholder enere (inde i cirklen) vil dataene, som ligger i objektbufferen (figuren) blive kopieret ind på skærmen. - Til sidst kopieres baggrunden ind på skærmen således at den bliver som den var fra begyndelsen. Hele denne rutine gentages kontinuerligt således at det vil se "flydende" ud når figuren flyttes rundt på skærmen. Vi fortsætter nu med en enkel forklaring af programeksemplet MC0602: Linie 1-17: Sætter en skærm op med opløsningen 320 * 256 PIXELs og med 5 BITPLANEs (32 farver). 16
17 Linie 19-25: Linie 27-40: Linie 42-44: Linie 46: Linie 52-65: Linie 67-77: Her lægges farverne (som ligger i begyndelsen af skærmbufferen) ind i farveregistrene. Her lægges adresserne på de 5 BITPLANEs ind i COPPER-listen. Læg adressen på COPPER-listen ind i COPPERpointeren. Start BITPLANE- og COPPER-DMAerne. Som du ser har vi sat en ekstra bit i dette register. Dette er BIT 10 i DMACON-registret. Hvis man sætter denne BIT vil BLITTERen i enkelte tilfælde blive noget hurtigere. Hvorfor? Det forklarer vi i et senere brev. Dette er hovedrutinen, som skulle være til at forstå. Henter den oprindelige COPPER-liste tilbage og afslutter programmet. Linie : Denne rutine BLITer figuren ind. Linie : Denne rutine drejer figuren og MASKen (BITvis) således at figuren også kan flyttes PIXEL-vis i horisontalretningen. Linie : Her aflæses musens position. Linie : Denne rutine kopierer skærmens baggrund (skærmhukommelsen) ind i baggrundsbufferen ("BACKBUFFER"). Linie : Denne rutine tilbage-kopierer baggrunden fra baggrundsbufferen til skærmen. Linie : Her er vores COPPER-liste deklareret. Linie : Her er alle de nødvendige buffere deklareret. Linie : Her har vi deklareret to LONGWORDs til at holde orden på muspositionerne (x- og y- koordinaterne). 17
18 Her følger en kort forklaring på alle SUBRUTINER (underrutiner ): Linie 80: Læg adressen på "maskbuffer" i A1. Linie 81: Læg adressen på "backbuffer" i A3. Linie 82: Læg adressen på "figbuffer" i A2. Linie 83: Læg skærmhukommelsens ("screen") adresse i A4. Linie 84: Læg 64 til værdien i A4. Dette gøres for at springe over de farvedata, som ligger i begyndelsen af skærmbufferen. Linie 86: Hent adressen på "mousex" og læg den i A0. Linie 87: Linie 88-89: Linie 91: Linie 92: Linie 93: Læg værdien, som findes på den adresse A0 peger på, ind i D0. Udfør det samme for musens y-positionen. Skift indholdet i D0 fire BITs til højre. Denne instruktion udfører egentlig en division med 16 (2 4 eller 2*2*2*2). Skift indholdet i D0 en (1) BIT til venstre. Denne instruktion udfører egentlig en multiplikation med 2 (2 1 ). Multiplicer Dl med 40. Dette gør at y-positionen bliver rigtig i forhold til skærmen (1 linie på skærmen er jo 40 BYTEs). Linie 94: Adder indholdet i D0 til værdien i A4. Linie 95: Adder indholdet i D1 til værdien i A4. Linie 97: Læg værdien 4 ind i D7. Linie : Vent til BLITTERen er ledig. Linie 103: Linie 104: Linie 105: Linie 106: Læg værdien som ligger i A4 ind i D-pointeren. Læg værdien som ligger i A1 ind i A-pointeren. Læg værdien som ligger i A2 ind i B-pointeren. Læg værdien som ligger i A3 ind i C-pointeren. Linie 107: Sæt MODULO for D-kanalen til 32 (figuren er 64 PIXELs bred: 40-(64/8 )=32). Linie : Sæt MODULO for A, B, og C-kanalerne til 0. Linie 111: Læg værdien SFFFFFFFF ind i A MASK-registret. 18
19 Linie 112: Linie 114: Linie 116: Linie 117: Linie 118: Linie 120: Linie 121: Her sættes operationen D=AB+AC, og alle kanalerne vælges. Linie 113: Læg værdien 0 ind i BLTCON1. Her sættes BLITens størrelse. Højde: 45 (linier eller PIXELs) og bredde: 4 WORDs (64 PIXELs). Læg 360 til i A2, således at A2 peger på næste bitplane i figuren (45*(64/8)=360). Læg 360 til i A3 (baggrund). Læg til i A4 (skærm). MASK-bufferen bliver den samme fordi den kun indeholder en BITPLANE. Gentag denne BLIT 5 gange (en gang for hvert af de 5 BITPLANEs). Hop tilbage til hovedrutinen. Linie 124: Læg adressen på "fig" ind i A1. Linie 125: Læg adressen på "figbuffer" ind i A2. Linie : Hent musens x-position ind i D1. Linie 130: Sæt alle BITs (undtagen BIT 0-3) i D1 til 0. Linie : Indholdet i Dl skiftes ialt 12 BITs til venstre. Man skal skifte to gange fordi MC (med denne metode) kun tillader 8 skift ad gangen. Linie 133: Læg værdien $09F0 til i D1. D1 vil nu indeholde $x9f0, hvor "x" er det antal BIT data i BLITTERen skal skiftes. I brev VII kommer vi ind på, hvordan BLITTERen udfører sådanne skift. Denne BLIT henter alle data i "fig", skifter dem "x" gange til højre, og lægger resultatet i "figbuffer". Den logiske operation er D=A, og D og A- kanalerne er valgt. Linie 135: Læg værdien 4 ind i D7 (bruges som tæller). Linie : Vent til BLITTERen er ledig. Linie 141: Linie 142: Læg værdien som ligger i A2 ind i D-pointeren. Læg værdien som ligger i Al ind i A-pointeren. Linie : Sæt MODULO for A og D-kanalen til 0. 19
20 Linie 145: Linie 146: Linie 147: Sæt A MASK-registret til $FFFFFFFF. Læg værdien som ligger i D1 ind i BLTCON0. Læg værdien 0 ind i BLTCON1. Linie 148: Størrelsen på denne BLIT er også 45 linier * 4 WORDs (8 BYTEs eller 64 PIXELs). Linie : Læg 360 til i både A1 og A2 så der peges på næste BITPLANE. Linie 153: Dette repeteres for alle 5 BITPLANEs. Linie : Det foregår på samme måde for MASKen også. Den eneste forskel er at MASKen kun har en BITPLANE. Linie 171: Hop tilbage til hovedrutinen. Linie : Denne rutine aflæser musens position og lægger værdierne i "mousex" og "mousey". Vi forklarer ikke dette register ($DFF00A) nu. Vi kommer tilbage til musrutiner i BREV XI. Linie 188: Læg adressen på "screen" ind i A1. Linie 189: Læg 64 til værdien i A1. Det får A1 til at springe over de farvedata, som ligger i begyndelsen af skærmbufferen. Linie 190: Læg adressen på "backbuffer" ind i A2. Linie : Hent muspositionerne (x- og y-koordinaterne) og læg dem i henholdsvis D0 og D1. Linie : Find første BLIT-position på skærmen. Linie 203: Læg værdien 4 ind i D7. Linie : Vent til BLITTERen er ledig. Linie 209: Linie 210: Læg værdien i A2 ind i D-pointeren. Læg værdien i A1 ind i A-pointeren. Linie 211: Sæt MODULO for D-kanalen til 0. Linie 212: MODULO for A-kanalen sættes til 32. Linie 213: A MASK-registret sættes til SFFFFFFFF. Linie 214: Sæt den logiske operation D=A, og vælg A- og D- kanalen. Linie 215: Linie 216: Læg værdien 0 ind i BLTCON1. Sæt størrelsen til 45 linier * 4 WORDs. 20
21 Linie : Adder til værdien i A1, og adder 360 til værdien i A2. Linie 221: Denne BLIT repeteres 5 gange. Linie 222: Hop tilbage til hovedrutinen. Linie : Denne rutine er næsten magen til "storeback"- rutinen. Forskellen er kun, at dataene BLITes i modsat retning (fra baggrundsbufferen til skærmhukommelsen). For at kunne køre dette program skal du først assemble det, og derefter skal du indlæse filerne SCREEN, FIG og MASK (med kommandoen "ri"). De ligger i samme DIRECTORY som SOURCEfilen). Vi håber at du har forstået, hvordan BLITTER virker og opfører sig. Vi vil ikke lægge skjul på at BLITTER er noget af det mest komplicerede i AMIGAen, men den er mulig at lære ved at eksperimentere selv. Så selv om du måske synes dette kapitel er helt uforståeligt, så giv ikke op. Kast dig over det en gang til! 21
22 TABEL OVER BLITTERENS MEST BRUGTELOGISKE FUNKTIONER LF Værdi LF Værdi D=A $F0 D=AB $C0 D=A $0F D=AB $30 D=B $CC D=AB $0C D=B $33 D=AB $03 D=C $AA D=BC $88 D=C $55 D-BC $44 D=AC $A0 D=BC $22 D=AC $50 D=BC $11 D=AC $0A D=A+B $F3 D=AC $05 D=A+B $3F D=A+B $FC D=A+C $F5 D=A+B $CF D=A+C $F5 D=A+C $FA D=B+C $DD D=A+C $AF D=B+C $77 D=B+C $EE D=AB+AC $CA D=B+C $BB D=AB+AC $AC 22
23 LØSNINGER TIL OPGAVER I BREV V Opgave 0501: Position x bliver 363, position y bliver 238 og højden bliver 35, Alle tal er angivet DECIMALT. Opgave 0502: Opgave 0503: Opgave 0504: En SPRITE kan være 16 PIXELs bred. I AMIGA er der 8 SPRITEs. D0 vil se således ud: Opgave 0505: D0 vil få sin værdi fra adresse $ Opgave 0506: STACKen i AMIGA bliver bl.a. brugt til at: - Lagre data midlertidigt - Lagre returnerings-adresser (for BSR og RTS) til processoren. OPGAVER TIL BREV VI Opgave 0601: Opgave 0602: Opgave 0603: Opgave 0604: Prøv at oversæt MODULO til et godt dansk ord. Hvor høj og hvor bred bliver en BLIT med denne BLITSIZE: $1A69 Hvad sker der med A i dette tilfælde: A Hvor mange PIXELs horisontalt er det mindste som kan defineres i BLTSIZE (undtaget 0). 23
24 Figur 1. 24
25 25
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
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
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
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
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
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
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
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
DATASKOLEN Postboks 62 Nordengen 18 2980 Kokkedal. Programmering i maskinkode på AMIGA
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 18 2980
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
1. Opbygning af et regneark
1. Opbygning af et regneark Et regneark er et skema. Vandrette rækker og lodrette kolonner danner celler, hvori man kan indtaste tal, tekst, datoer og formler. De indtastede tal og data kan bearbejdes
matematik Demo excel trin 2 bernitt-matematik.dk 1 excel 2 2007 by bernitt-matematik.dk
matematik excel trin 2 bernitt-matematik.dk 1 excel 2 2007 by bernitt-matematik.dk matematik excel 2 1. udgave som E-bog 2007 by bernitt-matematik.dk Kopiering af denne bog er kun tilladt efter aftale
matematik Demo excel trin 1 preben bernitt bernitt-matematik.dk 1 excel 1 2007 by bernitt-matematik.dk
matematik excel trin 1 preben bernitt bernitt-matematik.dk 1 excel 1 2007 by bernitt-matematik.dk matematik excel 1 1. udgave som E-bog 2007 by bernitt-matematik.dk Kopiering af denne bog er kun tilladt
Computerarkitektur. - en introduktion til computerarkitektur med LINDA
Computerarkitektur - en introduktion til computerarkitektur med LINDA [email protected] Faraz Butt [email protected] Mads Danquah [email protected] Ulf Holm Nielsen Roskilde Universitetscenter Naturvidenskabelig
De rigtige reelle tal
De rigtige reelle tal Frank Villa 17. januar 2014 Dette dokument er en del af MatBog.dk 2008-2012. IT Teaching Tools. ISBN-13: 978-87-92775-00-9. Se yderligere betingelser for brug her. Indhold 1 Introduktion
Oprids over grundforløbet i matematik
Oprids over grundforløbet i matematik Dette oprids er tænkt som en meget kort gennemgang af de vigtigste hovedpointer vi har gennemgået i grundforløbet i matematik. Det er en kombination af at repetere
Boolesk Algebra og det binære talsystem - temahæfte informatik. Oprindelse.
Boolesk Algebra og det binære talsystem - temahæfte informatik. I dette hæfte arbejdes der med to-tals systemet og logiske udtryk. Vi oplever at de almindelige regneregler også gælder her, og vi prøver
Løsning af simple Ligninger
Løsning af simple Ligninger Frank Nasser 19. april 2011 c 2008-2011. Dette dokument må kun anvendes til undervisning i klasser som abonnerer på MatBog.dk. Se yderligere betingelser for brug her. Bemærk:
REDIGERING AF REGNEARK
REDIGERING AF REGNEARK De to første artikler af dette lille "grundkursus" i Excel, nemlig "How to do it" 8 og 9 har været forholdsvis versionsuafhængige, idet de har handlet om ting, som er helt ens i
Programmeringskursus Kursusaften 3. Programmering for begyndere Brug af Arduino. Display. Kursusaften 3 EDR Hillerød Knud Krogsgaard Jensen / OZ1QK
Programmering for begyndere Brug af Arduino Programmeringskursus Display EDR Hillerød Knud Krogsgaard Jensen / OZ1QK Programmering for begyndere Brug af Arduino Programmeringskursus Sidste gang havde vi
ALMINDELIGT ANVENDTE FUNKTIONER
ALMINDELIGT ANVENDTE FUNKTIONER I dette kapitel gennemgås de almindelige regnefunktioner, samt en række af de mest nødvendige redigerings- og formateringsfunktioner. De øvrige redigerings- og formateringsfunktioner
APPENDIX A INTRODUKTION TIL DERIVE
APPENDIX A INTRODUKTION TIL DERIVE z x y z=exp( x^2 0.5y^2) CAS er en fællesbetegnelse for matematikprogrammer, som foruden numeriske beregninger også kan regne med symboler og formler. Det betyder: Computer
Michael Jokil 11-05-2012
HTX, RTG Det skrå kast Informationsteknologi B Michael Jokil 11-05-2012 Indholdsfortegnelse Indledning... 3 Teori... 3 Kravspecifikationer... 4 Design... 4 Funktionalitet... 4 Brugerflade... 4 Implementering...
Introduktion til EXCEL med øvelser
Side 1 af 10 Introduktion til EXCEL med øvelser Du kender en almindelig regnemaskine, som kan være til stort hjælp, når man skal beregne resultater med store tal. Et regneark er en anden form for regnemaskine,
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
Andengradsligninger. Frank Nasser. 12. april 2011
Andengradsligninger Frank Nasser 12. april 2011 c 2008-2011. Dette dokument må kun anvendes til undervisning i klasser som abonnerer på MatBog.dk. Se yderligere betingelser for brug her. Bemærk: Dette
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
3. Om skalamønstrene og den indfoldede orden
Dette er den tredje af fem artikler under den fælles overskrift Studier på grundlag af programmet SKALAGENERATOREN (forfatter: Jørgen Erichsen) 3. Om skalamønstrene og den indfoldede orden Lad os begynde
Word-5: Tabeller og hængende indrykning
Word-5: Tabeller og hængende indrykning Tabel-funktionen i Word laver en slags skemaer. Word er jo et amerikansk program og på deres sprog hedder skema: table. Det er nok sådan udtrykket er opstået, da
Baggrundsnote om logiske operatorer
Baggrundsnote om logiske operatorer Man kan regne på udsagn ligesom man kan regne på tal. Regneoperationerne kaldes da logiske operatorer. De tre vigtigste logiske operatorer er NOT, AND og. Den første
Andengradsligninger. Frank Nasser. 11. juli 2011
Andengradsligninger Frank Nasser 11. juli 2011 2008-2011. Dette dokument må kun anvendes til undervisning i klasser som abonnerer på MatBog.dk. Se yderligere betingelser for brug her. Indhold 1 Introduktion
Boolsk algebra For IT studerende
Boolsk algebra For IT studerende Henrik Kressner Indholdsfortegnelse 1 Indledning...2 2 Logiske kredsløb...3 Eksempel:...3 Operatorer...4 NOT operatoren...4 AND operatoren...5 OR operatoren...6 XOR operatoren...7
Talregning. Aktivitet Emne Klassetrin Side. Indledning til VisiRegn ideer 1-7 2 Oversigt over VisiRegn ideer 1-7 3
VisiRegn ideer 1 Talregning Inge B. Larsen [email protected] INFA juli 2001 Indhold: Aktivitet Emne Klassetrin Side Indledning til VisiRegn ideer 1-7 2 Oversigt over VisiRegn ideer 1-7 3 Vejledning til Talregning
TREKANTER. Indledning. Typer af trekanter. Side 1 af 7. (Der har været tre kursister om at skrive denne projektrapport)
Side 1 af 7 (Der har været tre kursister om at skrive denne projektrapport) TREKANTER Indledning Vi har valgt at bruge denne projektrapport til at udarbejde en oversigt over det mest grundlæggende materiale
Introduktion til Calc Open Office med øvelser
Side 1 af 8 Introduktion til Calc Open Office med øvelser Introduktion til Calc Open Office... 2 Indtastning i celler... 2 Formler... 3 Decimaler... 4 Skrifttype... 5 Skrifteffekter... 6 Justering... 6
Mircobit Kursus Lektion 4 (Du skal her vælge Lets Code Og herefter Block Editor.)
Mircobit Kursus Lektion 4 http://microbit.org/ (Du skal her vælge Lets Code Og herefter Block Editor.) I sidste lektion var der en opgave man selv skulle prøve at løse. I skulle lave et stop ur man kunne
Excel-1: kom godt i gang!!
Excel-1: kom godt i gang!! Microsoft Excel er et såkaldt regneark, som selvfølgelig bliver brugt mest til noget med tal men man kan også arbejde med tekst i programmet. Excel minder på mange områder om
Lektion 3 Sammensætning af regnearterne
Lektion Sammensætning af regnearterne Indholdsfortegnelse Indholdsfortegnelse... Plus, minus, gange og division... Negative tal... Parenteser og brøkstreger... Potenser og rødder... Lektion Side 1 Plus,
PowerPoint Intro 2010 Segment - en del af dit netværk
PowerPoint Intro 2010 7 Arbejde med objekter Formål Udover at arbejde med almindelig tekst og punktopstillinger, kan du i PowerPoint indsætte diverse objekter. Med objekter menes der fx; billeder, figurer,
Her følger en række opmærksomhedsfelter i relation til undervisningens form og elevens læring:
BRØK 1 Vejledning Udvidelsen af talområdet til også at omfatte brøker er en kvalitativt anderledes udvidelse end at lære om stadigt større tal. Det handler ikke længere bare om nye tal af samme type, som
Mark Jeays simple solution to the Rubik s cube oversat og redigeret af Jess Bonde. -
Mark Jeays simple solution to the Rubik s cube oversat og redigeret af Jess Bonde. [email protected] - http://www.rubiks.dk Trin 0 Introduktion & notation Trin 1 De tre øverste sidestykker Trin 2 Hjørner
Forslag til løsning af Opgaver til afsnittet om de naturlige tal (side 80)
Forslag til løsning af Opgaver til afsnittet om de naturlige tal (side 80) Opgave 1 Vi skal tegne alle de linjestykker, der forbinder vilkårligt valgte punkter blandt de 4 punkter. Gennem forsøg finder
HinkeHop DE HURTIGE 5-6 ÅR. Sådan gør du: Prøv at justere aktiviteten sådan her...! Uge 40
HinkeHop Sådan gør du: 1. Print hoppepladerne. 2. Hvis du har kridt og et sted på jorden, der må tegnes, kan du sammen med barnet tegne hoppeplade 1 med kridt på jorden. Sørg for at tegne felterne, så
Edb-tekstbehandling, præsentation mm
Edb-tekstbehandling, præsentation mm I denne lektion skal du: - hente kopier et skærmbillede og sætte det ind i et dokument - beskære billedet, så det passer til dit dokument Der findes specielle programmer
En lille vejledning til lærere og elever i at bruge matematikprogrammet WordMat (begynderniveau)
Matematik i WordMat En lille vejledning til lærere og elever i at bruge matematikprogrammet WordMat (begynderniveau) Indholdsfortegnelse 1. Introduktion... 3 2. Beregning... 4 3. Beregning med brøker...
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
Formler & algebra - Fase 2 Omskriv & beregn med variable
Navn: Klasse: Formler algebra - Fase Omskriv beregn med variable Vurdering fra til 5 (hvor 5 er højst) Læringsmål Selv Lærer Beviser og forslag til forbedring. Jeg kan opstille en linjes ligning, når jeg
Bogstavregning. En indledning for stx og hf. 2008 Karsten Juul
Bogstavregning En indledning for stx og hf 2008 Karsten Juul Dette hæfte træner elever i den mest grundlæggende bogstavregning (som omtrent springes over i lærebøger for stx og hf). Når elever har lært
GrundlÄggende variabelsammenhänge
GrundlÄggende variabelsammenhänge for C-niveau i hf 2014 Karsten Juul LineÄr sammenhäng 1. OplÄg om lineäre sammenhänge... 1 2. Ligning for lineär sammenhäng... 1 3. Graf for lineär sammenhäng... 2 4.
Komplekse tal. Jan Scholtyßek 29.04.2009
Komplekse tal Jan Scholtyßek 29.04.2009 1 Grundlag Underlige begreber er det, der opstår i matematikken. Blandt andet komplekse tal. Hvad for fanden er det? Lyder...komplekst. Men bare roligt. Så komplekst
Fejlkorligerende køder Fejlkorrigerende koder
Fejlkorligerende køder Fejlkorrigerende koder Olav Geil Skal man sende en fødselsdagsgave til fætter Børge, så pakker man den godt ind i håb om, at kun indpakningen er beskadiget ved modtagelsen. Noget
Billeder og tegninger i Writer Indhold
Billeder og tegninger i Writer Indhold Indhold...1 Introduktion...2 Indsætte billeder...2 Formater billedet...3 Layout...3 Beskære billedet...4 Størrelse...5 Streger/ramme...6 Skygge...7 Justering af billedet...8
Fraktaler Mandelbrots Mængde
Fraktaler Mandelbrots Mængde Foredragsnoter Af Jonas Lindstrøm Jensen Institut For Matematiske Fag Århus Universitet Indhold Indhold 1 1 Indledning 3 2 Komplekse tal 5 2.1 Definition.......................................
Boolsk algebra For IT studerende
Boolsk algebra For IT studerende Henrik Kressner Indholdsfortegnelse Indledning...3 Logiske kredsløb...4 Eksempel:...4 Operatorer...4 NOT operatoren...5 AND operatoren...5 OR operatoren...6 XOR operatoren...7
Omskrivningsregler. Frank Nasser. 10. december 2011
Omskrivningsregler Frank Nasser 10. december 2011 2008-2011. Dette dokument må kun anvendes til undervisning i klasser som abonnerer på MatBog.dk. Se yderligere betingelser for brug her. Indhold 1 Introduktion
MODELSÆT 2; MATEMATIK TIL LÆREREKSAMEN
MODELSÆT ; MATEMATIK TIL LÆREREKSAMEN Forberedende materiale Den individuelle skriftlige røve i matematik vil tage udgangsunkt i følgende materiale:. En diskette med to regnearks-filer og en MathCad-fil..
Årsplan 2018/19 Matematik 3. årgang. Kapitel 1: Jubii
Årsplan 08/9 Matematik. årgang TriX A Kapitel : Jubii I bogens første kapitel får eleverne mulighed for at repetere det faglige stof, som de arbejdede med i. klasse. Kapitlet har især fokus på kerneområderne
Årsplan Matematrix 3. kl. Kapitel 1: Jubii
Årsplan Matematrix. kl. A Første halvår Kapitel : Jubii I bogens første kapitel får eleverne mulighed for at repetere det faglige stof, som de arbejdede med i. klasse. Dette er samtidig et redskab for
LCD Character display Intro
LCD Character display Intro Der findes flere typer af LCD karakter-displays, fra forskellige firmaer. Her er vist en type, der er blå. Pins: Nummer 1 fra venstre Her er vist en nærmere beskrivelse af de
matematik Demo excel basis+g preben bernitt bernitt-matematik.dk 1 excel 1 2007 by bernitt-matematik.dk
matematik excel basis+g preben bernitt bernitt-matematik.dk 1 excel 1 2007 by bernitt-matematik.dk matematik excel G 2. udgave som E-bog ISBN: 978-87-92488-21-3 2010 by bernitt-matematik.dk Kopiering af
koordinatsystemer og skemaer
brikkerne til regning & matematik koordinatsystemer og skemaer basis preben bernitt brikkerne til regning & matematik Koordinatsystemer og skemaer, basis 1. Udgave som E-bog 2003 by bernitt-matematik.dk
Opstilling af festsange med overskrift og vers.
Side 1 af 12 Opstilling af festsange med overskrift og vers. Spalter 1. Skriv overskrift og vers på normal måde. Lad os sige, at der er 7 vers, hvor de 6 skal stå i 2 spalter. Det sidste skal stå alene
En lille vejledning i at bruge Paint Win 98 og Win XP Indhold
1 En lille vejledning i at bruge Paint Win 98 og Win XP Indhold Indhold...2 1. Åbn Paint...3 2. Vælg en baggrundsfarve og en forgrundsfarve...3 3. Tegn et billede...4 4. Ny, fortryd og gentag...4 5. Andre
Grundlæggende Matematik
Grundlæggende Matematik Hayati Balo, AAMS August 2012 1. Matematiske symboler For at udtrykke de verbale udsagn matematisk korrekt, så det bliver lettere og hurtigere at skrive, indføres en række matematiske
Motto-Captura ApS, 2006. Ordblinde PDA. Lyt - lær - husk. Motto-Captura ApS, 2006 www.motto-catura.eu [email protected]
p1 Ordblinde PDA Lyt - lær - husk www.motto-catura.eu [email protected] p2 p3 Vi håber meget, at du vil få glæde af løsningen. Du må meget gerne sende os forslag eller ringe til os. p4 Start Når du
Fejlkorligerende køder Fejlkorrigerende koder
Fejlkorligerende køder Fejlkorrigerende koder Olav Geil Skal man sende en fødselsdagsgave til fætter Børge, så pakker man den godt ind i håb om, at kun indpakningen er beskadiget ved modtagelsen. Noget
Kompendium til Geogebra
Kompendium til Geogebra Hardsyssel Efterskole Matematik 8. Klasse Side 1 af 12 Kompendium til Geogebra 1. Generel præsentation af Geogebra 1.1 Download af programmet Geogebra kan gratis downloades fra
Gadwin PrintScreen Version 3,5
Side 1 af 6 Gadwin PrintScreen Version 3,5 Indhold: Introduktion...1 Properties (indstillinger)...2 Preferences...2 Source...3 Destination....3 Image...4 About...4 Brug af programmet...5 Introduktion Når
Lineære sammenhænge. Udgave 2. 2009 Karsten Juul
Lineære sammenhænge Udgave 2 y = 0,5x 2,5 2009 Karsten Juul Dette hæfte er en fortsættelse af hæftet "Variabelsammenhænge, 2. udgave 2009". Indhold 1. Lineære sammenhænge, ligning og graf... 1 2. Lineær
Ved brug af computer handler det derfor mest om, hvordan man får teksten til at stå på papiret og på skærmen.
Side 1 af 21 I dette materiale skal du prøve at arbejde med tekster og billeder. Tekster er bogstaver, der er sammensat til ord. Ord er igen sat sammen, så de danner sætninger. Sætninger kan udtrykke en
Tier-venner ærteposegemmeleg
Tæl til 10 Mål: Eleverne skal kunne tælle til 10 i stigende og faldende rækkefølge. Antal elever: mindst 10 elever. Du har brug for: Kegler med tallene 1 til 10. (Brug kegleovertræk på 0-keglen og skriv
En uægte brøk er en brøk der stadig kan forkortes ned til et blandet tal og som er større end 1. 17 Eksempel: Uægte brøk: 12
7.,. og 9. klasse Regler for brøker Ægte og uægte brøker En ægte brøk er en brøk mellem 0 og. Ægte brøk Ægte brøk til mindste forkortelse (reduktion) 9 En uægte brøk er en brøk der stadig kan forkortes
Microsoft Word 2003 - fremgangsmåde til Blomsterhuset Side 1 af 11
Microsoft Word 2003 - fremgangsmåde til Blomsterhuset Side 1 af 11 Åbn Word 2003 Skriv: Blomsterhuset A/S - tryk enter en gang Skriv: Blomster for alle - tryk enter 5 gange Skriv: I anledning af at - tryk
dynamisk geometriprogram regneark Fælles mål På MULTIs hjemmeside er der en oversigt over, hvilke Fælles Mål der er sat op for arbejdet med kapitlet.
Algebra og ligninger - Facitliste Om kapitlet I dette kapitel om algebra og ligninger skal eleverne lære at regne med variable, få erfaringer med at benytte variable Elevmål for kapitlet Målet er, at eleverne:
Repræsentation af tal
Repræsentation af tal DM534 Rolf Fagerberg Mål Målet for disse slides er at beskrive, hvordan tal repræsenteres som bitmønstre i computere. Dette emne er et uddrag af kurset DM548 Computerarkitektur og
Affine - et krypteringssystem
Affine - et krypteringssystem Matematik, når det er bedst Det Affine Krypteringssystem (Affine Cipher) Det Affine Krypteringssystem er en symmetrisk monoalfabetisk substitutionskode, der er baseret på
Manual til hjemmeside i Typo3
Manual til hjemmeside i Typo3 Gode tips og genvejstaster Ét linieskift Ctrl + A Ctrl + C Ctrl + X Ctrl + V shift + enter (tasten du normalt bruger til linieskift) Markér alt Kopier Klip Sæt ind Oprettelse
Mattip om. Arealer 1. Tilhørende kopier: Arealer 1, 2 og 3. Du skal lære om: De vigtigste begreber. Arealberegning af et kvadrat eller rektangel
Mattip om realer 1 Du skal lære om: De vigtigste begreber Kan ikke Kan næsten Kan realberegning af et kvadrat eller rektangel Tegning/konstruktion af kvadrater og rektangler realberegning af et parallelogram
Matricer og lineære ligningssystemer
Matricer og lineære ligningssystemer Grete Ridder Ebbesen Virum Gymnasium Indhold 1 Matricer 11 Grundlæggende begreber 1 Regning med matricer 3 13 Kvadratiske matricer og determinant 9 14 Invers matrix
Excel - begynderkursus
Excel - begynderkursus 1. Skriv dit navn som undertekst på et Excel-ark Det er vigtigt når man arbejder med PC er på skolen at man kan få skrevet sit navn på hver eneste side som undertekst.gå ind under
3 Algebra. Faglige mål. Variable og brøker. Den distributive lov. Potenser og rødder
3 Algebra Faglige mål Kapitlet Algebra tager udgangspunkt i følgende faglige mål: Variable og brøker: kende enkle algebraiske udtryk med brøker og kunne behandle disse ved at finde fællesnævner. Den distributive
fortsætte høj retning mellem mindre over større
cirka (ca) omtrent overslag fortsætte stoppe gentage gentage det samme igen mønster glat ru kantet høj lav bakke lav høj regel formel lov retning højre nedad finde rundt rod orden nøjagtig præcis cirka
Mattip om. Geometri former og figurer. Du skal lære: Kan ikke Kan næsten Kan. At finde og tegne former og figurer
Mattip om Geometri former og figurer Du skal lære: At finde og tegne former og figurer Kan ikke Kan næsten Kan At beregne omkreds og areal af figurer Om forskellige typer trekanter At finde højde og grundlinje
Vejledning til Photofiltre nr. 119 Side 1
Side 1 Hvis man kan li' at sidde og sammensætte grafik kan man bl. Lave sit eget lille logo med eget foto og tekst. Det kan bruges på f.eks. brevpapir når man skriver i Word. Find billedet frem du vil
I Excel kan du hurtigt lave din egen gangetabel eller tælletavle til at printe ud, hvis du laver den rigtige opsætning.
Mattip om Regneark 1 (Multiplikation) Du skal lære om: Tabeller i Excel Kan ikke Kan næsten Kan Hvordan et kasseapparat laves Hvordan en funktion laves Forskellige genveje Målsøgning til at finde et resultat
Repræsentation af tal
Repræsentation af tal DM534 Rolf Fagerberg Bitmønstre 01101011 0001100101011011... Bitmønstre skal fortolkes for at have en betydning: Tal (heltal, decimaltal (kommatal)) Bogstaver Computerinstruktion
Fang Prikkerne. Introduktion. Scratch
Scratch 2 Fang Prikkerne All Code Clubs must be registered. Registered clubs appear on the map at codeclubworld.org - if your club is not on the map then visit jumpto.cc/ccwreg to register your club. Introduktion
Kom godt i gang. Mellemtrin
Kom godt i gang Mellemtrin Kom godt i gang Mellemtrin Forfatter Karsten Enggaard Redaktion Gert B. Nielsen, Lars Høj, Jørgen Uhl og Karsten Enggaard Fagredaktion Carl Anker Damsgaard, Finn Egede Rasmussen,
Programmering C RTG - 3.3 09-02-2015
Indholdsfortegnelse Formål... 2 Opgave formulering... 2 Krav til dokumentation af programmer... 3 ASCII tabel... 4 Værktøjer... 5 Versioner af ASCII tabel... 6 v1.9... 6 Problemer og mangler... 6 v2.1...
Elev-manual til Køreklar e-læring
Version 2.0 September 2016 Elev-manual til Køreklar e-læring Nyt Juridisk Forlag Gothersgade 137 1123 København K 39 13 55 00 [email protected] 2 Indhold 1. Første gang du logger dig på Køreklar e-læring...
Fag matematik 1. klasse 17/18
Fag matematik 1. klasse 17/18 UGER TEMA MATERIALER Uge 33-38 Kontext 1 elevbog a: s. 2-27 Tal og tælling Vi arbejder vi arbejder med forskellige begreber, hvor mange er der, flest eller færrest, hvad koster
