DB - konstanta v paměti
Moderátor: Moderátoři
- pavoucisit
- Příspěvky: 176
- Registrován: 02 lis 2008, 00:00
- Bydliště: Havířov
DB - konstanta v paměti
TAB: DB 128,178,1,2
DISPLEY: DB 55h
DB 58h
DB 47h
Jak se teda prosím v tabulkách pohybuje.
pavoucisit píše:Dobrý den, začínám se učit na 2051, mám knížky od Matouška a trochu začínám chápat. Ale nechápu DPTR a pohyb v tabulce.Jak je možné, že tabulka TAB má za DB 4 hodnoty a tabulka DISPLEY má DB 3X, ale jen s jednou hodnotou.
TAB: DB 128,178,1,2
DISPLEY: DB 55h
DB 58h
DB 47h
Jak se teda prosím v tabulkách pohybuje.
Kód: Vybrat vše
TAB: db 128, 178, 1, 2je z hlediska umístění v paměti totéž jako
Kód: Vybrat vše
TAB: db 128
db 178
db 1
db 2Do tabulky v programové paměti se leze instrukcí MOVC A,@A+DPTR,
kde do DPTR se dá adresa začátku tabulky (prvního bytu) a v akumulátoru je index do tabulky. Přečtená hodnota je v akumulátoru.
Pro přístup do tabulky v externí datové paměti slouží instrukce MOVX A,@DPTR. Posun v tabulce se musí dělat změnou hodnoty v DPTR.
- pavoucisit
- Příspěvky: 176
- Registrován: 02 lis 2008, 00:00
- Bydliště: Havířov
pavoucisit píše:Děkuji za odpovědi, takže rozmístění v tabulce je spíše o přehledu programátora, kde co má + popis,který si k tomu napíše. Tzn že DB je omezeno jen 256 konstanty?
Jinak zajdem na pivo pane, jsem ze Šumbarku, Vás madam bych také pozval. ale Plzeň je z ruky (pivo máte výborný).
Pomocí DB se dá definovat libovolně velký blok dat (kolik je paměti), jen instrukce movc je omezená v indexaci pomocí akumulátoru na rozsah 256 bytů. Nic ale nebrání měnit kromě akumulátoru i DPTR.
A pivo stejně nepiju.