|
|
 |
Ответов
|
Jun 19 2011, 19:06
|
Участник

Группа: Участник
Сообщений: 29
Регистрация: 2-06-11
Пользователь №: 65 445

|
Ну вот так все выглядит. Код ldi r16,high(RAMEND) out SPH,r16 ldi r16,low(RAMEND) out SPL,r16
ldi ZH,high(b) ldi ZL,low(b) s: brtc en b:icall rjmp s
en:sbr r18,252 set ldi ZH,high(e00) ldi ZL,low(e00) cpi r18,252 breq s ldi ZH,high(e01) ldi ZL,low(e01) cpi r18,253 breq s ldi ZH,high(e11) ldi ZL,low(e11) cpi r18,255 breq s ldi ZH,high(e10) ldi ZL,low(e10) cpi r18,254 breq s
e00:clt sbrc r18,0 inc r10 sbrc r18,1 dec r10 ret
e01:clt sbrc r18,0 inc r10 sbrs r18,1 dec r10 ret
e11:clt sbrs r18,0 inc r10 sbrs r18,1 dec r10 ret
e10:clt sbrs r18,0 inc r10 sbrc r18,1 dec r10 ret Результат, все работает но сообщение все равно присутствует!! AVR Simulator: Stack Underflow at 0x0020 Может хрен сним?
|
|
|
|
|
Jun 20 2011, 14:07
|
Участник
  
Группа: Свой
Сообщений: 462
Регистрация: 2-04-07
Из: Иркутск
Пользователь №: 26 695

|
Цитата(Shadovv13 @ Jun 20 2011, 04:06)  ... ldi ZH,high(b) ldi ZL,low(b) s: brtc en b:icall rjmp s en: ... Результат, все работает но сообщение все равно присутствует!! AVR Simulator: Stack Underflow at 0x0020 Может хрен сним? Ваш фрагмент работает точно так же, как и этот: Код s: brtc en БЕСКОНЕЧНЫЙ_ЦИКЛ: call БЕСКОНЕЧНЫЙ_ЦИКЛ rjmp s en: ... Т.е. если при переходе на метку "s" флаг "T" сброшен, всё будет нормально, но если флаг "T" установлен до перехода на метку "s", то программа входит в бесконечный цикл, непрерывно заполняя стек одним и тем же адресом возврата, о чём и кричит AVRstudio.
|
|
|
|
|
Jun 20 2011, 15:09
|
Участник

Группа: Участник
Сообщений: 29
Регистрация: 2-06-11
Пользователь №: 65 445

|
Цитата(ae_ @ Jun 20 2011, 17:07)  Ваш фрагмент работает точно так же, как и этот: Код s: brtc en БЕСКОНЕЧНЫЙ_ЦИКЛ: call БЕСКОНЕЧНЫЙ_ЦИКЛ rjmp s en: ... Т.е. если при переходе на метку "s" флаг "T" сброшен, всё будет нормально, но если флаг "T" установлен до перехода на метку "s", то программа входит в бесконечный цикл, непрерывно заполняя стек одним и тем же адресом возврата, о чём и кричит AVRstudio. Спасибо уважаемый ae_. Кто же мог подумать что AVRstudio будет так глубоко анализировать!!! Думаю убрать метку b, она там в прицепе ненужна а регистр Z задам нулевой адрес(оставлю пустим). Так как Т флаг сто пудов буде сброшен, все будет норм. Ну а если нет РЕСТАРТ с 0
|
|
|
|
|
Jun 20 2011, 15:54
|
Участник

Группа: Участник
Сообщений: 29
Регистрация: 2-06-11
Пользователь №: 65 445

|
Цитата(Палыч @ Jun 20 2011, 18:39)  В том то и дело, что сообщение - не результат анализа, а результат выполнения (симуляции выполнения) Вашей программы. Я с вами несогласен!!! В пошаговой отладке видно, что программа работает нормально и в бесконечный цикл не входит! Но при первом RET уведомляет, о возможном опустошении стека(я так думаю).
Сообщение отредактировал Shadovv13 - Jun 20 2011, 15:55
|
|
|
|
|
Jun 20 2011, 17:09
|
Участник

Группа: Участник
Сообщений: 29
Регистрация: 2-06-11
Пользователь №: 65 445

|
Цитата(Палыч @ Jun 20 2011, 19:41)  Огласите значение указателя стека после его инициализации в начале программы и перед выполнением команды RET. Вначале: SP = 0x45F Перед RET: SP = 0x45D После RET: SP = 0x45F
|
|
|
|
|
Jun 20 2011, 19:08
|
Участник

Группа: Участник
Сообщений: 29
Регистрация: 2-06-11
Пользователь №: 65 445

|
Цитата(Палыч @ Jun 20 2011, 21:59)  И - что? При выполнении RET выдаёт сообщение?
Стало как-то интересно... Поставил Studio, скопировал Вашу программу, оттранслировал, зашёл в режим отладки, дошагал до RET, получил те же значения указателя стека, но сообщение - нет!
Стесняюсь спросить: у Вас в отладчике какой Device выбран? Странно!!! Все перепроверил(может всякое быть) результат тодже  Может Студия глючная?? У меня. AVR Studio 4.12.498 Service Pack 4 GUI Version 4, 12, 0, 491 AVR Simulator 1, 0, 1, 8
|
|
|
|
|
Jun 20 2011, 19:41
|
Участник

Группа: Участник
Сообщений: 29
Регистрация: 2-06-11
Пользователь №: 65 445

|
Цитата(Палыч @ Jun 20 2011, 22:34)  Ну, не самая последняя... Я вообще для эксперимента какую-то древность поставил. А, Вы точно указали симулятору в качестве Device значение ATmega8? Случайно что-то там типа mega8535 не указали? Не!!! Точна 8-мая!!!! Спецом проект пересоздал!
|
|
|
|
Сообщений в этой теме
Shadovv13 ATmega8 адресс метки Jun 2 2011, 17:45 rx3apf Цитата(Shadovv13 @ Jun 2 2011, 21:45) Ест... Jun 2 2011, 18:03 Shadovv13 rx3apf Вы не так поняли!
КодLabel1:
nop
... Jun 2 2011, 18:14 rx3apf Цитата(Shadovv13 @ Jun 2 2011, 22:14) Как... Jun 2 2011, 18:30 bbill ldi ZH,high(Label1)
ldi ZL,low(Label1)
icall Jun 2 2011, 18:31 Shadovv13 Спасибо большое щас опробуем!! Jun 2 2011, 18:42 alexeyv А не так ли надо корректно? :
Код ldi ZH, high... Jun 3 2011, 05:43 haker_fox QUOTE (alexeyv @ Jun 3 2011, 14:43) А не ... Jun 3 2011, 06:14 rx3apf Цитата(alexeyv @ Jun 3 2011, 09:43) А не ... Jun 3 2011, 07:39 нечитатель Код ldi ZH, high(JT * 2) ; *2 !... Jun 3 2011, 15:27 Shadovv13 Всем привет!!!
Нуждаюсь вашей помощи... Jun 19 2011, 15:15 Палыч Цитата(Shadovv13 @ Jun 19 2011, 19:15) Пр... Jun 19 2011, 16:12  Shadovv13 Цитата(Палыч @ Jun 19 2011, 19:12) Ответ ... Jun 19 2011, 16:22   Палыч Цитата(Shadovv13 @ Jun 19 2011, 20:22) 1)... Jun 19 2011, 16:36    Shadovv13 Цитата(Палыч @ Jun 19 2011, 19:36) Этот к... Jun 19 2011, 17:31     Палыч Цитата(Shadovv13 @ Jun 19 2011, 21:31) Ча... Jun 19 2011, 17:38 Палыч Цитата(Shadovv13 @ Jun 19 2011, 23:06) Мо... Jun 19 2011, 19:27            Палыч Цитата(ae_ @ Jun 21 2011, 02:41) подпрогр... Jun 21 2011, 04:26 Shadovv13 Обратите внимание что вначале стоит
Кодen:sbr ... Jun 19 2011, 19:54 Палыч Цитата(Shadovv13 @ Jun 19 2011, 23:54) зн... Jun 19 2011, 20:15 Shadovv13 Кодrjmp s разве что в последнем сравнении!
Ре... Jun 19 2011, 21:14 Палыч Цитата(Shadovv13 @ Jun 20 2011, 01:14) ра... Jun 19 2011, 21:32 Shadovv13 Если помните, как называлась тема с енкодером, дай... Jun 19 2011, 22:03 Палыч Цитата(Shadovv13 @ Jun 20 2011, 02:03) да... Jun 20 2011, 04:33  Shadovv13 Цитата(Палыч @ Jun 20 2011, 07:33) Вот, н... Jun 20 2011, 13:33 Shadovv13 Внес изменения. Полностью не исключает зависание ... Jun 21 2011, 09:13 Палыч Цитата(Shadovv13 @ Jun 21 2011, 13:13) Вн... Jun 21 2011, 09:59 Shadovv13 Поставил студию....
AVR Studio 4.18.684
GUI Ver... Jun 21 2011, 11:55 ae_ Цитата(Shadovv13 @ Jun 21 2011, 20:55) ВС... Jun 22 2011, 11:56
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0
|
|
|