Помощь - Поиск - Пользователи - Календарь
Полная версия этой страницы: Watch в Keil как просмотреть переменную типа WORD
Форум разработчиков электроники ELECTRONIX.ru > Микроконтроллеры (MCs) > Все остальные микроконтроллеры
derun
При отладке программы на ASM.
Как в uVision просмотреть переменную в окне Watch размер которой больше чем 1 байт?
Например слово или двойное слово.

Еще вопрос:Можно ли видеть память SFR ввиде памяти?
bialix
Цитата(derun @ Oct 3 2005, 08:51)
При отладке программы на ASM.
Как в uVision просмотреть переменную в окне Watch размер которой больше чем 1 байт?
Например слово или двойное слово.

Еще вопрос:Можно ли видеть память SFR ввиде памяти?
*


По первому вопросу: имеет смысл поиграться с объявлениями переменных как DSW и DSD, а не DS/DSB. Хотя если честно, мне кажется, что тут дело в самом ассемблере: я не нашел способа через директивы ассемблера указывать точный тип переменной, как например в Си: signed short, unsigned long, float.

Отвлекаясь от сути вопроса: какой смысл писать на ассемблере программы целиком для такого мощного камня как DS80C400? Имхо, тут уместнее Си, учитывая то, какие задачи он заточен решать.

По второму вопросу: Memory Window, диапазон данных, начиная с D:0x80. Область idata (0x80-0xFF) видна по адресам I:0x80-I:0xFF.

Хотя для большинства случаев удобнее смотреть SFR регистры, связанные с конкретным периферийным узлом, в меню отладчика Peripherals.
bialix
Цитата(derun @ Oct 3 2005, 08:51)
При отладке программы на ASM.
Как в uVision просмотреть переменную в окне Watch размер которой больше чем 1 байт?
Например слово или двойное слово.
*


См. здесь: http://www.keil.com/support/docs/1763.htm

Также см. огромный FAQ по 8051: http://www.keil.com/c51/faq.asp
derun
Цитата(bialix @ Oct 3 2005, 23:34)
Цитата(derun @ Oct 3 2005, 08:51)
При отладке программы на ASM.
Как в uVision просмотреть переменную в окне Watch размер которой больше чем 1 байт?
Например слово или двойное слово.

Еще вопрос:Можно ли видеть память SFR ввиде памяти?
*


По первому вопросу: имеет смысл поиграться с объявлениями переменных как DSW и DSD, а не DS/DSB. Хотя если честно, мне кажется, что тут дело в самом ассемблере: я не нашел способа через директивы ассемблера указывать точный тип переменной, как например в Си: signed short, unsigned long, float.

Отвлекаясь от сути вопроса: какой смысл писать на ассемблере программы целиком для такого мощного камня как DS80C400? Имхо, тут уместнее Си, учитывая то, какие задачи он заточен решать.

По второму вопросу: Memory Window, диапазон данных, начиная с D:0x80. Область idata (0x80-0xFF) видна по адресам I:0x80-I:0xFF.

Хотя для большинства случаев удобнее смотреть SFR регистры, связанные с конкретным периферийным узлом, в меню отладчика Peripherals.
*



Пишу на ASM-е потому что так исторически сложилось, продолжаю проект который не я начинал. Раньше писал в "франклине" вот разбераюсь с "кеилом". Конечно если бы делать с нуля то безусловно лучше на Си.

А SFR как память приходится смотреть из-за неполной поддержки 400 проца.
Например в DPS,DPL3... нельзя занести некоторые значения там какая-то маска настроенная на 390. Из-за этой неполной поддержки приходится тучу костылей подставлять sad.gif . Смотрел в сторону IAR но там тож не фонтан.
Вот жду версию когда "кеил" всетаки прикрутит поддержку 400 нормально.
Для просмотра полной версии этой страницы, пожалуйста, пройдите по ссылке.
Invision Power Board © 2001-2025 Invision Power Services, Inc.