Jos kirjoitan
asm("mov r0, #1000");
niin kääntäjä toimii. Jos kirjoitan
asm("mov r0, #1001");
niin tulee ilmoitus:
Error: invalid constant (3e9) after fixup
Onko tuo ominaisuus, bugi, jäynä tai onko minulta jäänyt jotain huomaamatta?
Rekisteriin voi kyllä ladata muistista ihan minkä luvun tahansa.
Arduino gcc ongelma
2
193
Vastaukset
- Tuskin_on_bugi
Kannattaa kaivaa prosessorin manuaali esiin ja katsoa miten tuo vakio on koodattu mov r0, ... käskyyn. Siinä todennäköisesti on jokin bitti raja. Tuo 1000 voidaan ilmaista <= 10 bitillä:
1000 = 250 << 2 (eli 8 -bit vakio 2 bittinen siirto vakio, esim. mov r0, 250, rol 2)
1000 = 125 << 3 (eli 7 -bit vakio 2 bittinen siirto vakio, esim. mov r0, 125, rol 3)
Tuota 1001 ilmaisemiseen siirtobittejä ei voi käyttää, joten vakio osan pitäisi olla 12 -bittiä. Joten todennäköisesti joku tuollainen rajoitus tulee vastaan. Eli luku 1016 on seuraava minkä voi ilmaista, (jos vakio osa 8-bittinen niin silloin 1004). - Atmel_AVR
eikös arduino ole Atmel AVR -pohjainen?
Niissä rekisteri on 8 bittiä.
Jos kääntäjä on tehty niin, että samaa rekisteriä voi kohdella joko etumerkittömänä tai etumerkillisenä, silloin hyväksyttävä arvoalue on:
-128 .. 255
Mikä tahansa tuon alueen ulkopuolinen luku pitäisi aiheuttaa virheilmoitus.
Jos kerran 1000 ei tuota virheilmoitusta, se on kääntäjän bugi.
Ketjusta on poistettu 0 sääntöjenvastaista viestiä.
Luetuimmat keskustelut
Tänään pyörit ajatuksissa enemmän, kun erehdyin lukemaan palstaa
En saisi, silti toivon että sinä vielä palaat ja otetaan oikeasti selvää, hioituuko särmät ja sulaudummeko yhteen. Vuod225124- 254278
- 272441
- 342234
- 371988
- 151908
En ole koskaan kokenut
Ennen mitään tällaista rakastumista. Tiedän että kaipaan sinua varmaan loppu elämän. Toivottavasti ei tarvitsisi vain ka191587- 121521
Voi ei! Jari Sillanpää heitti keikan Helsingissä - Hämmästyttävä hetki lavalla...
Ex-tangokuningas on parhaillaan konserttikiertueella. Hän esiintyi Savoy teatterissa äitienpäivänä. Sillanpää jakoi kons211237Kerranki asiat oikein
Ilkka ja muut pienpuolueeet...teitte hyvän työn kun valitsitte pätevän henkilön virkaan eikä kepulle passelia!! Jatkakaa101164