Регистрация | Вход

[ Новые сообщения · Участники · Правила форума · Поиск · RSS ]
  • Страница 1 из 1
  • 1
Модератор форума: ivan_fd  
по поводу GOTO
sever Дата: Чт, 24.04.2008, 19:19  |                                                                                                                Сообщение # 1
Группа: Пользователи
Ранг:  Начал соображать
Сообщений: 35
Репутация: 0   ±
Замечания:   ±
На сайте с 15.04.2008

Статус: Offline

Добрый всем.
Есть вопрос- в мануале рекомендуют использовать в программах в которых код более 2к, команду GOSUB
или BRANCHL
так вот, можно ли обманывать программу примерно таким кодом
10 gosub 500
20 if then if then ( любой код)
30 goto 20

перевалили за 2к
500 gosub 20

т.е. команда return отсутствует как таковая. GOSUB- беру только потому что она может ссылаться на другие странцы.

второй вопрос по BRANCHL - напишите пример с этим кодом.
сам пробую- компилятор выдает на нем ошибку и все тут.
спасибо.

ЯНДЕКС Дата: 24.04.2008
ADMIN Дата: Пт, 25.04.2008, 02:25  |                                                                                                                Сообщение # 2
Администратор
Группа: Администраторы
Ранг:  Специалист
Сообщений: 1086
Репутация: 32   ±
Замечания:   ±
На сайте с 20.08.2007

Статус: Offline

При таком раскладе стек переполнится очень быстро и программа будет вести себя.

По поводу второго, приведите то, что есть и описание ошибки, а то так долго выяснять будем. Нужно же разобраться в проблеме, а не просто скопировать и вставить код, я думаю.

sever Дата: Вт, 06.05.2008, 00:09  |                                                                                                                Сообщение # 3
Группа: Пользователи
Ранг:  Начал соображать
Сообщений: 35
Репутация: 0   ±
Замечания:   ±
На сайте с 15.04.2008

Статус: Offline

да уже понял, запустил на IDE эмуляторе и он ругнулся. В общем что пока я для себя решил- написать скелет программы основной- после каждой проверки в эмуляторе дописывать код. Но ето только после 5 мая. А то щас написал одних ходом 12кило в бейсике- а он кучу ошибок при компилировании, да кстати тоже моментик, нужно поподробней мануал к пику прочитать, 16ф873а пишу ADCON1 или TRISB или TRISA так сразу компилятор с сума сходит.- вот по етой причине хоч заново и постепенно переписать код.т.к. если написал малеький код для LCD с этиму становками- все ок!
Так что кто прочитает! С праздником вас! ХРИСТОС ВОСКРЕС

Добавлено (06.05.2008, 6:09:10)
---------------------------------------------
вроде все переписал всю прогу, вышло немного подругому, и главное делал ее последовательно, тестировав на емуляторе чтобы исправлять все неточности и погрешности. Есть идеи уже как уменьшить ее в обьеме с помощью масивов, но лееенька.
Спасибо Админу BASICPIC - вычитал со старых сообщений полезнейшую штуку разделения word на 2 части для записи в память eeprom.

вместился в 11 кб хекса. + может добавлю примочек визуальных для LCD
СЛАВА ZX-SPECTRUM как учитель и PICBASICу.

demanik Дата: Пн, 19.05.2008, 20:35  |                                                                                                                Сообщение # 4
Группа: Проверенные
Ранг:  Помогаю всем
Сообщений: 448
Репутация: 10   ±
Замечания:   ±
На сайте с 11.12.2007

Статус: Offline

Quote (sever)
второй вопрос по BRANCHL - напишите пример с этим кодом.
сам пробую- компилятор выдает на нем ошибку и все тут.

Вот кусок кода с примером branchl

'******************************************************
@ device pic16F876A, XT_osc, wdt_on, wrt_off, lvp_off, pwrt_on, protect_off
'------------------------------------------------------------
br var byte
b var byte
key var byte
init'---------------------------------
br = 0
main:'--------------------------------
branchl br, [main1]' переход на main1

main1:
key = 3
branchl key, [main,main1,main2,main3,main4]' переход на main3
main2:
b = 0
branchl b, [main,main1,main2,main3,main4]' переход на main
main3:
main4:

END


Попробуй всё и вся... может быть пол...

  • Страница 1 из 1
  • 1
Поиск: