Новые версии ПРОТОН
|
LeXaCH |
Дата: Пт, 08.02.2013, 12:40 | Сообщение # 31 |
Группа:
Проверенные
Ранг:
Начал соображать
Сообщений:
33
Замечания:
±
На сайте с 05.01.2010
Статус:
Offline
|
Спасибо,но мне хватило этих переустановок. Будем думать что невнимательный
|
|
|
|
|
ivan_fd |
Дата: Вс, 10.02.2013, 19:38 | Сообщение # 32 |
Группа:
Модераторы
Ранг:
Специалист
Сообщений:
1144
Замечания:
±
На сайте с 12.01.2009
Статус:
Offline
|
Потестировал немного новый Протон и удалил (глючный). Или взломан плохо, или такой он есть.
1. Файлы coff работают не корректно.
2. Работа с массивом по индексу неправильная, если индекс типа Word.
Например:
Код Dim i As Word Dim tst As Byte [size=8]Dim Cashe[2] as byte[/size]
begin: tst = $7F GoSub snt
GoTo begin
snt: For i = 0 To 1 Then tst = ~tst Cache [i]= tst Next
Return
Если переменная i типа Word то коипилятор генерирует неправильный код процедуры snt. А если поставить тип Byte, то все нормально.
Меня все время преследуют умные мысли...но я быстрее!!!
Сообщение отредактировал
ivan_fd - Вс, 10.02.2013, 19:40
|
|
|
|
|
anatol |
Дата: Пн, 11.02.2013, 00:35 | Сообщение # 33 |
Группа:
Проверенные
Ранг:
Разобрался
Сообщений:
624
Замечания:
±
На сайте с 10.02.2010
Статус:
Offline
|
ivan_fd, я что-то не понял.Код [size=8]Dim Cashe[2] as byte[/size] что и как определяешь? Dim Cashe[2] as byte если так то Cashe не равно Cache из выражения, это разные переменные. В исправленном Код Dim i As Word Dim tst As Byte Dim Cache[2] As Byte
begin: tst = $7F GoSub snt
GoTo begin
snt: For i = 0 To 1 Then tst = ~tst Cache [i]= tst Next
Return так работает
Сообщение отредактировал
anatol - Пн, 11.02.2013, 00:55
|
|
|
|
|
ivan_fd |
Дата: Пн, 11.02.2013, 13:34 | Сообщение # 34 |
Группа:
Модераторы
Ранг:
Специалист
Сообщений:
1144
Замечания:
±
На сайте с 12.01.2009
Статус:
Offline
|
Dim Cashe[2] as byte - это так движок форума подсовывает у меня.Цитата (anatol) что и как определяешь? Dim Cashe[2] as byte если так то Cashe не равно Cache из выражения, это разные переменные. В исправленном Опечатка!!!!
Цитата (anatol) так работает Вы написали так же как и я (просто опечатка), не работает!!!! Я описал в чем проблема. ASM код сгенерирован компилятором не правильный, в версии 3.5.2.7 генерит все нормально.
Меня все время преследуют умные мысли...но я быстрее!!!
Сообщение отредактировал
ivan_fd - Пн, 11.02.2013, 13:39
|
|
|
|
|
anatol |
Дата: Пн, 11.02.2013, 14:35 | Сообщение # 35 |
Группа:
Проверенные
Ранг:
Разобрался
Сообщений:
624
Замечания:
±
На сайте с 10.02.2010
Статус:
Offline
|
ivan_fd, я бросил этот кусок кода в проект по умолчанию на 628 пике. Зарезервировано две ячейки памяти под переменную Посмотри сам. При установке тонкость с удалением полностью предыдущих версий, особенно папок PDS в программных файлах и документах
|
|
|
|
|
ivan_fd |
Дата: Пн, 11.02.2013, 15:12 | Сообщение # 36 |
Группа:
Модераторы
Ранг:
Специалист
Сообщений:
1144
Замечания:
±
На сайте с 12.01.2009
Статус:
Offline
|
Ячейки и у меня 2 зарезервировано. Проблема не в этом.Цитата (ivan_fd) коипилятор генерирует неправильный код процедуры snt. Если работать с доступом по индексу к элементам массива и переменная i типа word, то не работает.
Вот кусок АСМа не рабочего: этоВаш файл, он тоже не работает.
Код F1_000024 equ $ ; IN [UN.BAS] CACHE [I]= TST movwf PP0H movf _I,W addlw 16 movwf FSR movf PP0H,W movwf INDF А если переменная i типа Byte, то работает.
Код F1_000024 equ $ ; IN [UN.BAS] CACHE [I]= TST movf _I,W addlw 16 movwf FSR movf tst,W movwf INDF Видите разницу??? То есть он в массив записывает не те значения.
Меня все время преследуют умные мысли...но я быстрее!!!
Сообщение отредактировал
ivan_fd - Пн, 11.02.2013, 15:25
|
|
|
|
|
anatol |
Дата: Вт, 12.02.2013, 14:59 | Сообщение # 37 |
Группа:
Проверенные
Ранг:
Разобрался
Сообщений:
624
Замечания:
±
На сайте с 10.02.2010
Статус:
Offline
|
ivan_fd, Вчера "изучал" ассемблер. Может ошибаюсь, но на бумаге цикл проходит и записи правильные. В протеусе пошагово не пробовал - позже может быть. Надо пирог рыбный попытаться сделать. Новое увлечение.
|
|
|
|
|
ivan_fd |
Дата: Вт, 12.02.2013, 18:28 | Сообщение # 38 |
Группа:
Модераторы
Ранг:
Специалист
Сообщений:
1144
Замечания:
±
На сайте с 12.01.2009
Статус:
Offline
|
Нет, на бумаге тоже не правильно.
Он пишет с регистра PP0H в регистр INDF (косвенная адресация). А должен писать с регистра tst.
Меня все время преследуют умные мысли...но я быстрее!!!
|
|
|
|
|
anatol |
Дата: Вт, 12.02.2013, 19:02 | Сообщение # 39 |
Группа:
Проверенные
Ранг:
Разобрался
Сообщений:
624
Замечания:
±
На сайте с 10.02.2010
Статус:
Offline
|
ivan_fd, Тупо взял другой пример и перемонтировал.
|
|
|
|
|
ivan_fd |
Дата: Вт, 12.02.2013, 21:08 | Сообщение # 40 |
Группа:
Модераторы
Ранг:
Специалист
Сообщений:
1144
Замечания:
±
На сайте с 12.01.2009
Статус:
Offline
|
А вот здесь все нормально. И по АСМу видно, что ОК.
Но это 18F, а у меня были 16F. Причем разные брал.
Меня все время преследуют умные мысли...но я быстрее!!!
|
|
|
|
|
anatol |
Дата: Вт, 12.02.2013, 21:45 | Сообщение # 41 |
Группа:
Проверенные
Ранг:
Разобрался
Сообщений:
624
Замечания:
±
На сайте с 10.02.2010
Статус:
Offline
|
ivan_fd, это я взял готовый пример и переделал. Просто самому все рисовать в протеусе влом. Но и напороться с обновлениями на капкан не хочется. Кстати обновления довольно серьезные. То что раньше проскакивало - теперь вигвам. При переделке программы указал процессор (был указан) так тормознула и сказала нафига два одинаковых проца. Может завтра поэкспериментирую еще. И лом-алки в 1 и 18 сообщениях разные по длине и по отображению в справке.
|
|
|
|
|
ivan_fd |
Дата: Вт, 12.02.2013, 23:35 | Сообщение # 42 |
Группа:
Модераторы
Ранг:
Специалист
Сообщений:
1144
Замечания:
±
На сайте с 12.01.2009
Статус:
Offline
|
Ломалки я пробовал две, результат один. Похоже что они что то намудрили в компиляторе. Переделки действительно серьезные, но к сожалению с глюками.
Хотя, если разобратся, для индекса в 16F и не нужен тип word. Может потому ?????
Даже COFF работает не корректно. Но это тоже на 16F, на других не проверял.
Меня все время преследуют умные мысли...но я быстрее!!!
Сообщение отредактировал
ivan_fd - Вт, 12.02.2013, 23:38
|
|
|
|
|
mikhail09p |
Дата: Ср, 13.02.2013, 14:54 | Сообщение # 43 |
Группа:
Проверенные
Ранг:
Разобрался
Сообщений:
530
Замечания:
±
На сайте с 04.05.2010
Статус:
Offline
|
Я пока глюков не заметил, всё работает. С COFF.
|
|
|
|
|
ivan_fd |
Дата: Ср, 13.02.2013, 18:00 | Сообщение # 44 |
Группа:
Модераторы
Ранг:
Специалист
Сообщений:
1144
Замечания:
±
На сайте с 12.01.2009
Статус:
Offline
|
Что бы не быть голословным, посмотрите этот тестовый пример.
Увидите, что творится при использовании coff, а потом поставьте bas и сравните.
Меня все время преследуют умные мысли...но я быстрее!!!
|
|
|
|
|
mikhail09p |
Дата: Ср, 13.02.2013, 18:53 | Сообщение # 45 |
Группа:
Проверенные
Ранг:
Разобрался
Сообщений:
530
Замечания:
±
На сайте с 04.05.2010
Статус:
Offline
|
Добавьте, пожалуйста, модельку 3310 для Протеуса, у меня нету...
|
|
|
|