Як рахувати дані з пам’яті програм

Ви переглядаєте архів форуму.

Автор: akmal () Дата: 12/02/2005 10:32

Почав вивчати PIC 16f84, дещо виходить. Але постала проблема, як витягнути дані з пам'яті програм (не ОЗУ). У програмі пишу

lb1 data 1, 2, 3, 4

Дивлюся лістинг там все чудово відкладається, а ось як витягти ці дані з пам'яті не можу зрозуміти.

Автор: abivan () Дата: 12/02/2005 10:49

Автор: Bill () Дата: 12/02/2005 10:57

Для організації таблиць у пам'яті програм рекомендую користуватися директивою асемблераdt. Це дозволить позбутися виписування численних retlw.

Автор: akmal () Дата: 12/02/2005 11:33

Ось маленький код із програми

#define bank0 bcf STATUS,RP0 ;Вибір банку 0

#define bank1 bsf STATUS,RP0 ;Вибір банку 1

ЩО У МЕНЕ НЕ ТАК ПІДКАЖИТЬ.

Автор: abivan () Дата: 12/02/2005 11:48

фітонівський макроасемблер. прога писана мною 5 років тому.

Або чекай, поки асмісти на роботу вийдуть.

Автор: Zirus () Дата: 12/02/2005 12:52

Треба робити, як сказав abivan.

йдучи, гасіть усіх

Автор: Bill () Дата: 12/02/2005 13:17

пам'ять програм та EEPROM ДАНИХ. Як працювати з пам'яттю програм описано у будь-якому DS. Див. обчислювальний оператор GOTO .

Автор: amyp () Дата: 25/02/2005 12:09

я ось чого не зрозумів: Ви все пишете про запис даних у програмну пам'ять, тоді як треба вважати ці дані з пам'яті в який-небудь регістр даних.

Автор: amyp () Дата: 25/02/2005 12:12

людина взагалі мала на увазі не програмну пам'ять, а eeprom пам'ять даних

Автор: amyp () Дата: 25/02/2005 14:27

хм. я правильно зрозумів логіку роботи програми:

movwf Tmp movlw ($+7) SHR 8 movwf PCLATH

-Це задається усунення в стеку?

movwf PCLATH movlw ($ + 5) AND 00FFh addwf Tmp,W btfsc C incf PCLATH movwf PCL

а далі сама таблиця?

Автор: AL () Дата: 25/02/2005 15:43

Автор: amyp () Дата: 25/02/2005 17:00

Дякую:-) Так набагато зрозуміліше! Просто я іноді у своїх програмах за місяць не можу розібратися за місяць, якщо коментарів не наставлю:-))) А вже в чужих.