[A83] Re: Vragen en andere dingen die ik niet snap!
[Prev][Next][Index][Thread]
[A83] Re: Vragen en andere dingen die ik niet snap!
Ja bedankt, ik snap het nu allemaal.
-------------------------------------
Thanx, it's all clear to me now.
-----------------------------------
"If I have seen farther than others, it is because I was standing on the
shoulders of GIANTS." - scientist Sir Isaac Newton, in a letter to his
colleague Robert Hooke, February 1676.
>From: Peter-Martijn Kuipers <hyper@hysoft-automation.com>
>Reply-To: assembly-83@lists.ticalc.org
>To: assembly-83@lists.ticalc.org
>Subject: [A83] Re: Vragen en andere dingen die ik niet snap!
>Date: Wed, 29 Aug 2001 20:24:03 +0200 (CEST)
>
>
>Just so the english ppl can join the chat, I'll translate it for ya.
>
>T: means "translation"
>A: Means answer, of antwoord. (Dutch)
>TA: Means anser translated to english.
>
> > Ok op het advies van Tijl stel ik nu in het Nederlands(ook om dat ik zo
>mijn
> > moeilijkheden in het Engels moeilijk onder woorden kan brengen) een
>aantal
> > vragen, antwoord graag in het Nederlands :).
> > Ok mijn eerste vraag is over het geheugen en HL.
>T: Following the advice Tijl gave me, I'm posting my questions in dutch...
>
>
> > Memorylocations
> > Hoe moet ik eigenlijk het geheugen zien?
> > Is het een lange rij met allemaal 1 en 0'tjes? Zoals dit:
> > 10010100010011100100101
>T: How should I view the memory?
>T: Is is one long row with 1's and 0's, like this:
>T: 10010100010011100100101
>
> > Ik dacht altijd ongeveer dat het zo moest zijn, en dat bijv. elk stukje
>een
> > memory loaction heeft zoals dit;
> > $822h $983h
> > 10010100010011100100101
>T: I always thought it'd be like that, and that i.e. every piece has his
>own
>T: memory location, like this:
>T: $822h $983h
>T: 10010100010011100100101
>
> > Je kan namelijk ook een bijvoorbeeld een hele lange rij bits in de
> > grpahbuffer opslaan, bijv. tilemaps.
>T: Since you can put a long array of bit's into the graphbuffer, like
>tilemaps.
>
>A: Je hebt gelijk, het geheugen zelf is een lange rij bit's, elke 8 bits is
>A: een Byte. Elke byte heeft een memory address, 0001h, 0002, 0003h.
>A: De processor vraagt aan de geheugenchip de 8 bit's van een memory
>location
>A: Aan om naar de lezen of schrijven. De processor gaat met deze acht bits
>om
>A: als een getal van 0 tot 255, of 00h tot FFh. Je kunt echter ook de
>afzonder-
>A: lijke bit's van die getallen aan/uit zetten en vervolgens wegschrijven
>of
>A: aanpassen.
>
>TA: You're right, the memory itself is one long array of bits.
>TA: Every 8 bits is cinsidered a Byte. Every byte has it's own memory
>address,
>TA: 0001h, 0002h, 0003h.
>TA: The processor requests to the memory chip the 8 bits at this address,
>to
>TA: read from, and to write to. It handles these 8 bit's like a byte, a
>number
>TA: between 0 and 255, or 00h and FFh. You can change different byts of
>these
>TA: numbers, and then write it back or modify it.
>
>
>Sorry guys, I'll just continue in dutch and without tenslating, since I've
>only got a few minutes left.
>
> > (HL) en HL.
> > Als je bijv(terugblikkend naar mijn memorylocations) doet;
> > ld (HL), $822h
> > en daarna _disphl, je een getal zou krijgen dat dezelfde waarde heeft
>als
> > 10010100(de eerste 8 bits in de rij). Ik zou trouwens niet weten
>waarvoor je
> > iets in (HL) zou willen laden.
> > Dat was (HL), nu HL. Als ik het goed heb kan je labels in HL opslaan(of
> > pushen?)
> > Bijvoorbeeld:
> > ld HL, Tilemap
> > tot er een nieuwe label begint komt. Als je nu bijvoorbeeld alle bits in
>die
> > tilemap een bit opzij zou willen schuiven hoe zou je dit dan willen
> > bereiken? Ik neem aan dat je na:
> > ld HL, Tilemap
> > bijv dit:
> > srl HL(ofzoiets)
> > zou kunnen doen. Maar dan heb je alleen maar de eerste2 bytes geshift,
>moet
> > je Hl gewoon elke keer opschuiven naar een nieuw stukje van the
>graphbuffer?
>
>hl is een variabele waar je een getal in kan opslaan, van 0 tot aan 65535,
>nu
>zin er 65536 geheugenplaatsen beschikbaar, dus kan hl het adres van zo'n
>geheugenplaats bevatten.
>(hl) verwijst naar de byte op de geheugenplaats waat hl naar verwijst. Als
>hl het startadres van Tilemap heeft toegewezen gekregen met een label,
>b.v.:
>
> ld hl,Tilemap
>Tilemap:
> .db 0,1,2,3
>
>ld a,(hl) laadt nu "0" in register a.
>inc hl telt 1 bij de waarde van hl op, en laat het dus naar de byte na
>de
> start van Tilemap wijzen
>ld a,(hl) laadt nu "1" in register a
>
>srl hl, als het bestond zou alleen maar hl veranderen, zodat het een andere
> waarde heeft, en (hl) wijst dus naar een andere geheugenplek
>
>om srl (hl) te doen, moet je het volgende doen:
>
>ld hl,Tilemap ; voor de lol
>inc hl ; ga naar de volgende byte, dus de tweede byte van de tilemap
>
>ld a,(hl) ; laad de waarde van de byte op adres hl (Tilemap+1) in a
>srl a ; doe een srl met a.
>ld (hl),a ; schrijf de waarde van a naar de geheugenplaats waar hl naar
>verwijst.
>
>Ik hoop dat het een beetje duidelijk is.
>
>--Peter-Martijn
>
>
> > Ook nog een vraagje over het "inc" - statement. Als je bijv.
> > inc HL doet, tel je dan 1 bij de waarde van HL op, of schuif je Hl een
> > plekje op in het memory?
>
>1 bij de waarde van hl optellen.
>
>
>
>
> > Dat waren mijn vragen voorlopig!
> > Maarten
> >
> >
> > _________________________________________________________________
> > Get your FREE download of MSN Explorer at
>http://explorer.msn.com/intl.asp
> >
> >
> >
>
>
>
_________________________________________________________________
Get your FREE download of MSN Explorer at http://explorer.msn.com/intl.asp