Kirjautuminen

Haku

Tehtävät

Keskustelu: Ohjelmointikysymykset: QB: selittäkääs (qb)

comi [10.01.2004 14:59:03]

#

Koittakaapas selittää tälläiselle typerykselle, että mitä toi Segment tarkoittaa ja kaikki noi Def seg jutut.

hunajavohveli [10.01.2004 15:18:37]

#

Ne on jotain Segmenttiosoitteita, joihin on tallennettu esim näytön pikselien värit.

Segmentti osoite valitaan esim.

Def Seg = &HA000

Ja niihin tallennettua tietoa voi muuttaa:

POKE muuttuja

Ja lukea:

PRINT PEEK muuttuja

Antti Laaksonen [10.01.2004 16:35:53]

#

Muistia ei voi DOSissa osoittaa suoraan, vaan osoittaminen täytyy tehdä erillisen segmenttiosoitteen ja siirrososoitteen (offset) avulla. Kun segmenttiosoite kerrotaan 16:lla ja siihen lisätään siirrososoite, saadaan todellinen muistiosoite. Tämä tarkoittaa myös sitä, että sama muistiosoite voidaan muodostaa useammalla tavalla.

QBasicissa segmenttiosoite määritetään DEF SEG -komennolla. Tämän jälkeen siirrososoitetta voidaan käyttää POKEn (muistiin) ja PEEKin (muistista) kanssa. hunajavohveli antoikin oivan esimerkin asiasta: näyttömuistin aloitussegmentti on &HA000, ja kun se on valittu, voidaan pikselien väriä muuttaa POKElla ja lukea PEEKillä. Pikselit on tallennettu muistiin järjestyksessä näytön vasemmasta ylänurkasta alkaen, vasemmalta oikealle ja ylhäältä alas.
(https://www.ohjelmointiputka.net/koodivinkit/23447-qb-pisteen-piirto-nopeammin)

hunajavohveli [10.01.2004 18:44:42]

#

Tuo koodivinkki selostaakin hyvin, miten pikselin kahdesta x ja y-koordinaateista saadan yksi segmenttiosoitteen numero.

Vastaus

Aihe on jo aika vanha, joten et voi enää vastata siihen.

Tietoa sivustosta