Stránka 6 z 6
Napsal: 30 bře 2018, 13:12
od MiloPS3
kdyby jsi si to odsimuloval tak na to prides
kdyz ti to nekdo naserviruje na zlatim podnose tak se muzes tak akorad " domnievať "
kdyz na to prides sam tak to i pochopis ,a o tom to je
Napsal: 30 bře 2018, 16:18
od pettter
Ano, to máš recht. To chápem a akceptujem.
Ale občas narazíš na limity, dané zlým výkladom, či neschopnosťou pochopiť daný výklad, alebo na limity dostupnosti info a p. Potom potrebuješ popostrčiť...
Mne osobne vyhovuje viac verbálny spôsob, keď mi to ktosi opíše a vysvetlí, ako čítanie a tápanie v pocitoch, či tomu dobre rozumiem...
Úprimné díky všetkým za snahu a trpezlivosť...
PS: netešte sa, nikam neodchádzam...
Napsal: 31 bře 2018, 19:39
od pettter
PIC16F88
MPLAB 8.92
Assembler
Prosím, v čom je rozdiel pri písaní kódu v MPLAB IDE ak je v:
- absolute code (MPASM assembler used only)
- relocatable code (MPASM assembler used with MPLINK
object linker)
Dostávam otázku pri zakladaní projektu a nemám šajnu vo co go... Skrátka neviem, čo mám zvoliť a v čom je rozdiel...
Odkazy s UG pre ASM:
MPASM Suite
MPASM Assembler, MPLINK Object Linker and MPLIB Object Librarian executables
and help files, support executables, assembler include (INC) files.
• Example – Example files.
• LKR – Linker scripts.
• Template – Template files to aid in code development.
- Code – Absolute code templates (MPASM assembler used only.)
- Object – Relocatable code templates (MPASM assembler used with MPLINK
object linker.)
There are two template files for each Microchip PIC MCU and dsPIC DSC device: one
for absolute code (no linker used) in the Code directory and one for relocatable code
(linker used) in the Object directory. Since we will be using the linker in this tutorial,
choose the file named 18F8722. in the Object directory.
Díky
Napsal: 01 dub 2018, 02:14
od MiloPS3
je to neco s pameti , uz si nepamatuju
pokud das relocatable tak se ti v okne WATCH nezobrazujou ty vlastni promeny jak se nam stalo pri zakladani toho projektu
Napsal: 01 dub 2018, 21:35
od pettter
Ako som pochopil s UG, tak pri "Relocatable" móde sa jedná o akúsi "prenositeľnosť" projektu, alebo o akési "spájanie" projektov.
Zle som položil otázku. Pýtam sa na rozdiely v čomsi o čo neviem nič, akoby som sa pýtal na farbu piesku na Sahare... Skrátka noob...
Lepšie sa spýtam:
Ktorý mód mám použiť? Predpokladám, že ten absolútny, but I´m not shure, brďo...
Napsal: 02 dub 2018, 14:53
od pettter
PIC16F88
MPLAB IDE 8.92
Assembler
Tak z tohoto som pekne na tvrdo...
ak mám:
a zadám:
tak sa mi do W načíta 0x20, ale ak zadám:
tak do w načítam obsah adresy 020h.
Raz je fero číslom, raz adresou... sa PICnem
Kua to je bordel! Kto sa v tom má vyznať...
Napsal: 02 dub 2018, 15:01
od MiloPS3
a ?
Napsal: 02 dub 2018, 15:33
od pettter
Vyžiaril som momentálnu emóciu. Len to, že mám z toho chaos. Teraz som zase riešil, čo odčíta SUBLW ak:
Kód: Vybrat vše
fero equ 0x20
movlw 0x0a
movwf fero
teda fero je odkaz na číslo 0x20, toto číslo som použil ako adresu pre uloženie hodnoty 0x0a do bunky 0x20. No a hybaj ho odčítať:
A teraz som bol v prdeli, či konštanta je odkaz na číslo 0x20, či obsah bunky 0x0a. Po simulatovi mi je jasné, že odčíta ten odkaz na číslo, teda 0x20....
Skrátka mám v tom guláš jak hovado. Musím si tieto črty nabiť do hlavy. Ale dík tým simuláciam som poposkočil o 7míľový krok. Oheň a síru na MPLAB X IDE... ten 🤐 sw ma zdržal zo 3-4 mesiace. Furt som čosi musel na ňom riešiť namiesto chápania kódu kua!!!
Díky...
Napsal: 02 dub 2018, 15:46
od MiloPS3
v pohode
pettter píše:fero je odkaz na číslo 0x20
spis bych rek ze fero je 0x20 ,proste budes misto 32 rikat fero...
to jak to pouzijes zalezi na prikazu
Napsal: 03 dub 2018, 00:28
od pettter
Môj prvý kód, čo som si sám vymyslel.
Zaplní postupne bunky cez nepriame adresovanie. Keď dosiahne určenú hornú hranicu, tak sa otočí a postupne bunky vymaže. Keď dosiahne dolnú hranicu, hybaj od začiatku...
A teraz do mňa!
Kód: Vybrat vše
LIST P=16F88
#include <p16f88.inc>
CBLOCK 0X20
c20
c21
c22
c23
c24
c25
c26
c27
c28
c29
ENDC
min_addr equ 0x20
max_addr equ 0x29
x equ 0x30
RESET ORG 0x0000
;nastavenie registra pre nepriame adresovanie
movlw 0x20
movwf FSR
;nastavenie prvej bunky pamete
start movlw 0x01
movwf x
goto start_0
;dopredná zmena hodnot
;zmena hodnoty registra pre nepriame adresovanie, vysledok do registra
start_1 incf FSR, 1
;zmena hodnoty x, vysledok do x
incf x, 1
;zápis do bunky pamete
movf x, 0
start_0 movwf INDF
;test dosiahnutia max. adresy
movlw max_addr
subwf FSR, 0
btfss STATUS, Z
goto start_1
;vymazanie pamete
mazanie clrf INDF
decf FSR, 1
;test dosiahnutia min. adresy
movlw min_addr
subwf FSR, 0
btfss STATUS, Z
goto mazanie
clrf INDF
goto start
END
Napsal: 03 dub 2018, 13:13
od Atlan
Definovanie c 20 az c29 nema nejaky zmysel. A je v tomto priklade zbytocne.
A bacha na banksel 0a 1 res. Pracu s bankami pamete. To by si sa potom mohol divit.
A zdielane ram premene v dolnej casti pamete (tusim 16 registrov?)
Zase zbytocne starosti asm, ktore nemas ak by si pouzil Cko.
Napsal: 03 dub 2018, 13:30
od AB1
či konštanta je odkaz na číslo 0x20, či obsah bunky 0x0a. Po simulatovi mi je jasné, že odčíta ten odkaz na číslo, teda 0x20....
Chce to pečlivě prostudovat instrukce. Z popisu instrukce je jasné jestli pracuje s adresou bunky, nebo s jejím obsahem.
Jednoduchá pomůcka je, že když je v instrukci písmeno L (a v popisu instrukce slovo Literal) tak pracuje s adresou, jinak s obsahem bunky.
Např:
promenna equ 0x20
MOVLW promenna ;
adresa promenne do W
SUBLW promenna ; odečte obsah registru W od
adresy promenne
MOVF promenna ; přesune
obsah promenne do W
INCF promenna ; zvětší
obsah promenne o 1
atd.
Napsal: 03 dub 2018, 13:38
od pettter
Atlan píše:Definovanie c 20 az c29 nema nejaky zmysel. A je v tomto priklade zbytocne...
Hej, došlo mi, že to bola vovlovina.
Atlan píše:A bacha na banksel 0a 1 res. Pracu s bankami pamete. To by si sa potom mohol divit.
Ano, súhlas, s bankami to je asi pakáreň, hlavne ak sú 4 ako v 16f88... nebodaj je aj viac... nó nazdar!
Atlan píše:A zdielane ram premene v dolnej casti pamete (tusim 16 registrov?)
Netuším o čom píšeš...
Atlan píše:Zase zbytocne starosti asm, ktore nemas ak by si pouzil Cko.
Nahaj tak, dospejem aj k C...
Napsal: 03 dub 2018, 13:41
od pettter
AB1 píše:...Jednoduchá pomůcka je, že když je v instrukci písmeno L (a v popisu instrukce slovo Literal) tak pracuje s adresou, jinak s obsahem bunky...
Ďakujem.