pettter´s noob faq...
Moderátor: Moderátoři
Když mi nezbývá, než program hodit do RAMky a nemůžu zakázat zápis, tak můžu definici label DB # použít kdekoli v programu, ba můžu použít třeba ld label,A a přepsat obsahem akumulátoru tu původně nadefinovanou konstantu. Ostatně na Spectru takto se za chodu modifikujících programů existovaly spousty, většinou proto, aby se program vešel do paměti a ještě zbylo na grafiku a další data. Pochopitelně se nemodifikovaly jen konstanty, dokonce se měnily i instrukce v procedurách, takže celá procedura dělala něco jiného (i když se to používalo především kvůli grafice, která měla v RAMce pevné adresy a jednoznačnou organizaci danou hardware ULA).
Takže se omlouvám za nepřesnou terminologii někdejšího samouka, kterému to sice docela šlo, ale pak zjistil, že docházejí lidi na analog a hardware, tak by sice ještě leccos naprogramovat zvládl, ale nevidí důvod, proč by měl.
Takže se omlouvám za nepřesnou terminologii někdejšího samouka, kterému to sice docela šlo, ale pak zjistil, že docházejí lidi na analog a hardware, tak by sice ještě leccos naprogramovat zvládl, ale nevidí důvod, proč by měl.
Těm, kdo si nevybírají odpovědi na soukromé zprávy, už příště neodpovím. Tak.
- ZdenekHQ
- Administrátor
- Příspěvky: 25593
- Registrován: 21 črc 2006, 02:00
- Bydliště: skoro Brno
- Kontaktovat uživatele:
Ano. Má být jasně napsáno, co je to za procesor. Něco jinýho je FLASH/ROM a něco jinýho RAM a ZX Spectrum.
P.S. Používám procesor, kde SW je nahraný v externí EEPROM a při zapnutí napájení se nabootuje do interní pseudo-ROM. Tam se taky dají dělat docela kouzla, protože jinak se ta EEPROM skutečně chová jako EEPROM.
P.S. Používám procesor, kde SW je nahraný v externí EEPROM a při zapnutí napájení se nabootuje do interní pseudo-ROM. Tam se taky dají dělat docela kouzla, protože jinak se ta EEPROM skutečně chová jako EEPROM.
Pro moje oslovení klidně použijte jméno Zdeněk
Správně navržené zapojení je jako recept na dobré jídlo.
Můžete vynechat půlku ingrediencí, nebo přidat jiné,
ale jste si jistí, že vám to bude chutnat[?]
Správně navržené zapojení je jako recept na dobré jídlo.
Můžete vynechat půlku ingrediencí, nebo přidat jiné,
ale jste si jistí, že vám to bude chutnat[?]
- ZdenekHQ
- Administrátor
- Příspěvky: 25593
- Registrován: 21 črc 2006, 02:00
- Bydliště: skoro Brno
- Kontaktovat uživatele:
No protože většina vláken se rozvine trošku více do šířky. Až nás poctíš aktivní návštěvou častěji, než jednou za měsíc, tak si zvykneš.
Pro moje oslovení klidně použijte jméno Zdeněk
Správně navržené zapojení je jako recept na dobré jídlo.
Můžete vynechat půlku ingrediencí, nebo přidat jiné,
ale jste si jistí, že vám to bude chutnat[?]
Správně navržené zapojení je jako recept na dobré jídlo.
Můžete vynechat půlku ingrediencí, nebo přidat jiné,
ale jste si jistí, že vám to bude chutnat[?]
Uff.. týýý jo!!!
Za prvé, všetkým Vám ďakujem!!!
Za druhé, čakal som tak dve tri odpovede, z toho jednu ktorá ma privedie k svetlu na konci tunela...
Nečakal som, že ten tunel ja taký ku_va dlhý, temný a kľukatý... a to som len pri EQU, no nazdar!!!
Asi ste si nevšimli v predmete témy slovo NOOB! Takže pre spresnenie, trávim mrazivé večery na PICkom 16f88 a cez MPLAB X IDE a jeho assembler sa ho snažím ovládnuť. Zatiaľ nehrozí... Väčšinou narazím na SW problém MPLAB X IDE, bo mi neIDE a neIDE, len sem tam.
Držím sa kurzu z PE ešte z rokov 2008-2013. Asi jediný česko/slovenský zrozumiteľný kurz o PICkách (my english so poor). Teda ja neviem o lepšom. On ten kurz vlastne beží dodnes, ale teraz je to o perifériách...
Je v tom kurze (31 lekcia PE 07/2010) o.i. kód kde je o.i. aj direktíva:
LEDMEM EQU 0x20
DEF_STEPS EQU 0x70
CBLOK 0x28
steps
ENDC
Ďalej ide direktíva:
MOVLW DEF_STEPS
MOVWF steps
vo watch okne vidím že sa do W a steps dostala hodnota rovná 0x70, takže je mi jasné, že DEF_STEPS = 70 hex = 0111 000 bin = 112 dec, čiže je to skrátka číselná hodnota, nie adresa...
Avšak ďalej v kóde je o.i. táto direktíva:
MOVLW LEDMEM
MOVWF FSR
Čiže prečítal som číslo 20 hex = 0010 0000 bin = 32 dec skryté za odkazom LEDMEM a strčil som ho do File Selct Registra, čím som mu povedal na akú adresu má ísť.
Aha ja som si práve odpovedal! EQU je číslo. Len číslo. Čo s ním urobím je moja vec. Ide len o to, že to číslo pomenujem napr. Jožo...
...sa tu plácam smiechom, že sa najprv musím spýtať sám saba aby som si sám sebe odpovedal a popri tom zapojím pol republiky do debaty... sorry dáma a páni..
Najlepšie mi pomohla poznámka od lesana87, ale aj ostatný... ešte raz Ď.
To mi pripomína vtip... "Cigán, koľko? A cigáň pohotovo odpovedá "20 pánko". "A čoho 20?" pýta sa pánko. "A čoho koľko?" pýta sa cigáň...
Za prvé, všetkým Vám ďakujem!!!
Za druhé, čakal som tak dve tri odpovede, z toho jednu ktorá ma privedie k svetlu na konci tunela...
Nečakal som, že ten tunel ja taký ku_va dlhý, temný a kľukatý... a to som len pri EQU, no nazdar!!!
Asi ste si nevšimli v predmete témy slovo NOOB! Takže pre spresnenie, trávim mrazivé večery na PICkom 16f88 a cez MPLAB X IDE a jeho assembler sa ho snažím ovládnuť. Zatiaľ nehrozí... Väčšinou narazím na SW problém MPLAB X IDE, bo mi neIDE a neIDE, len sem tam.
Držím sa kurzu z PE ešte z rokov 2008-2013. Asi jediný česko/slovenský zrozumiteľný kurz o PICkách (my english so poor). Teda ja neviem o lepšom. On ten kurz vlastne beží dodnes, ale teraz je to o perifériách...
Je v tom kurze (31 lekcia PE 07/2010) o.i. kód kde je o.i. aj direktíva:
LEDMEM EQU 0x20
DEF_STEPS EQU 0x70
CBLOK 0x28
steps
ENDC
Ďalej ide direktíva:
MOVLW DEF_STEPS
MOVWF steps
vo watch okne vidím že sa do W a steps dostala hodnota rovná 0x70, takže je mi jasné, že DEF_STEPS = 70 hex = 0111 000 bin = 112 dec, čiže je to skrátka číselná hodnota, nie adresa...
Avšak ďalej v kóde je o.i. táto direktíva:
MOVLW LEDMEM
MOVWF FSR
Čiže prečítal som číslo 20 hex = 0010 0000 bin = 32 dec skryté za odkazom LEDMEM a strčil som ho do File Selct Registra, čím som mu povedal na akú adresu má ísť.
Aha ja som si práve odpovedal! EQU je číslo. Len číslo. Čo s ním urobím je moja vec. Ide len o to, že to číslo pomenujem napr. Jožo...
...sa tu plácam smiechom, že sa najprv musím spýtať sám saba aby som si sám sebe odpovedal a popri tom zapojím pol republiky do debaty... sorry dáma a páni..
Najlepšie mi pomohla poznámka od lesana87, ale aj ostatný... ešte raz Ď.
To mi pripomína vtip... "Cigán, koľko? A cigáň pohotovo odpovedá "20 pánko". "A čoho 20?" pýta sa pánko. "A čoho koľko?" pýta sa cigáň...
Jo tak nějak. Tady je třeba vzor jak se používalo obojí u Z80, program začínal od adresy 100h:lesana87 píše:Klást DB na rovinu s EQU, jak to tu prezentuje Hill, není rozvinutí debaty do šířky, řekla bych spíše do hloubky, dosti temné.
Kód: Vybrat vše
BDOS EQU 5
REIPL EQU 0
FCB EQU 5CH ; SYSTEM FCB
DMA EQU 80H ;DMA BUFFER 128 BYTE
;****************************************
.Z80
ASEG
ORG 100H
jp START ;GO, PRINT ID
MSG_ID::
DB '*** PRIJEM SOUBORU Z PC ***',CR,LF
DB ' pres DSM-1 nebo DSP-1',CR,LF,LF,'$'
START::
ld de,MSG_ID ;VEM ID MESSAGE
call PRINT_MESSAGE
Jirka
Proč mi nemůže všechno chodit hned ?!!
Proč mi nemůže všechno chodit hned ?!!
- ZdenekHQ
- Administrátor
- Příspěvky: 25593
- Registrován: 21 črc 2006, 02:00
- Bydliště: skoro Brno
- Kontaktovat uživatele:
Ale všimli. Jen to přejmenování vlákna muselo chvíli počkat, kam se to posune...pettter píše:Asi ste si nevšimli v predmete témy slovo NOOB!
Pro moje oslovení klidně použijte jméno Zdeněk
Správně navržené zapojení je jako recept na dobré jídlo.
Můžete vynechat půlku ingrediencí, nebo přidat jiné,
ale jste si jistí, že vám to bude chutnat[?]
Správně navržené zapojení je jako recept na dobré jídlo.
Můžete vynechat půlku ingrediencí, nebo přidat jiné,
ale jste si jistí, že vám to bude chutnat[?]
Myslím, že Hill měl na mysli to, jak se kdysi umisťovaly proměnné na pevnou adresu. Také jsem to používal před dvaceti lety.Klást DB na rovinu s EQU, jak to tu prezentuje Hill, není rozvinutí debaty do šířky, řekla bych spíše do hloubky, dosti temné.
.equ prom1 = 0x100 // proměnná prom1 bude na adrese 0x100
.equ prom2 = 0x101
ldi r16, 30
sts prom1, r16 // ulož hodnotu 30 do prom1
- ZdenekHQ
- Administrátor
- Příspěvky: 25593
- Registrován: 21 črc 2006, 02:00
- Bydliště: skoro Brno
- Kontaktovat uživatele:
Aha, já hlásím třetí případ podobného uvažování-programování (nikoliv mého), a od chlapa v podobném věku. Já na něj taky "koukal jak Lesana"...
Pro moje oslovení klidně použijte jméno Zdeněk
Správně navržené zapojení je jako recept na dobré jídlo.
Můžete vynechat půlku ingrediencí, nebo přidat jiné,
ale jste si jistí, že vám to bude chutnat[?]
Správně navržené zapojení je jako recept na dobré jídlo.
Můžete vynechat půlku ingrediencí, nebo přidat jiné,
ale jste si jistí, že vám to bude chutnat[?]
Zdeňku, je to uvažování z doby, kdy jen u nás existovalo nějakých 70 mikropočítačů, které se mezi sebou navzájem nedomluvily, a programy mezi nimi byly přenositelné jen omezeně a za cenu přepsání od zdrojového kódu, přestože běhaly jen na nějakých čtyřech různých procesorech. Vyžadovalo to znalost architektury a u některých bezprostředně i hardware, jinak ani to přepsání od zdrojáku k ničemu nebylo.
Literatura sice nějaká existovala, ale když se spectrista zeptal sharpisty nebo sorďáka, moc si nepomohl, ačkoli všechny běhaly na Zilogu Z80, a už vůbec ne, jestli se ptal péemdéčkáře, íqéčkáře (Intel 8080), o ataristech a commodorákách (Motorola 6502/6510/68000) nemluvě. Přesto u toho někteří vydrželi hodně dlouho a povedlo se jim napsat hodně dost dobrých programů.
Ve škole nám ukazovali jen sálový počítač EC1025 skrz skleněnou stěnu, ale dovnitř nás nepustili, abychom na něco nesáhli... Jenže od té doby se i programátorské názvosloví poněkud změnilo.
Literatura sice nějaká existovala, ale když se spectrista zeptal sharpisty nebo sorďáka, moc si nepomohl, ačkoli všechny běhaly na Zilogu Z80, a už vůbec ne, jestli se ptal péemdéčkáře, íqéčkáře (Intel 8080), o ataristech a commodorákách (Motorola 6502/6510/68000) nemluvě. Přesto u toho někteří vydrželi hodně dlouho a povedlo se jim napsat hodně dost dobrých programů.
Ve škole nám ukazovali jen sálový počítač EC1025 skrz skleněnou stěnu, ale dovnitř nás nepustili, abychom na něco nesáhli... Jenže od té doby se i programátorské názvosloví poněkud změnilo.
Těm, kdo si nevybírají odpovědi na soukromé zprávy, už příště neodpovím. Tak.
Tak ďalšia otázka!
MCU PIC16F88, SW MPLAB X IDE, Assembler
Trochu sa strácam vo vzťahu registrov INDF a FSR. Rozumiem tomu dobre ak predpokladám, že keď zapíšem číslo do INDF, tak zmením obsah bunky pamete, na ktorú je nastavený FSR register?
Napr:
nastavil som FSR na adresu 20h
zmenil som obsah bunky 20h na hodnotu 30dec? Či?
MCU PIC16F88, SW MPLAB X IDE, Assembler
Trochu sa strácam vo vzťahu registrov INDF a FSR. Rozumiem tomu dobre ak predpokladám, že keď zapíšem číslo do INDF, tak zmením obsah bunky pamete, na ktorú je nastavený FSR register?
Napr:
Kód: Vybrat vše
petter EQU 0x20
jozo EQU .30
movlw petter
movwf FSR
Kód: Vybrat vše
movlw jozo
movwf INDF
pettter : viz priloha (jedna se o neprime adresovani)
co te nuti pouzivat MPLAB X ? prejdi na starsi verzi ,je jednodussi a simulator funguje paradne
co te nuti pouzivat MPLAB X ? prejdi na starsi verzi ,je jednodussi a simulator funguje paradne
- Přílohy
-
- fsr_indf.JPG
- (22.44 KiB) Staženo 87 x
Ďakujem Vám.
MPLAB X IDE som stiahol z Microchip webu ako doporučený. Tak som myslel, že keď je doporučený, tak je OK. Ale nebyť toho SW, tak som isto oveľa ďalej. Lebo ak ma čosi nasiera tak je to mohutnosť a z toho plynúca komplikovanosť tohoto nástroja, pre mňa a moje začiatočnícke serepetičky tak zbytočná.
Už len úvedné nastavenia je niekedy vec na týždenné bádanie, kým vydolujem zo všemožných fór info, prečo mi čosi neIDE...
No na druhej strane už o ňom aspoň čosi máličko viem. Zase sa učiť nanovo... a MPLAB 8.x už nemá podporu, či?
Preto sa babrem s X
A aj s tým INDF a FSR som už v obraze, som si robil pár pokusov...
ešte raz ďakujem.
MPLAB X IDE som stiahol z Microchip webu ako doporučený. Tak som myslel, že keď je doporučený, tak je OK. Ale nebyť toho SW, tak som isto oveľa ďalej. Lebo ak ma čosi nasiera tak je to mohutnosť a z toho plynúca komplikovanosť tohoto nástroja, pre mňa a moje začiatočnícke serepetičky tak zbytočná.
Už len úvedné nastavenia je niekedy vec na týždenné bádanie, kým vydolujem zo všemožných fór info, prečo mi čosi neIDE...
No na druhej strane už o ňom aspoň čosi máličko viem. Zase sa učiť nanovo... a MPLAB 8.x už nemá podporu, či?
Preto sa babrem s X
Takže je to jasné, EQU je blbé číslo, nič viac. Ak hodnotu toho čísla použijem ako adresu, bude adresou. Ak ho použijem ako obsah peňaženky, bude tým...MiloPS3 píše:pettter : viz priloha (jedna se o neprime adresovani)...
A aj s tým INDF a FSR som už v obraze, som si robil pár pokusov...
ešte raz ďakujem.