Цитата(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. Из-за этой неполной поддержки приходится тучу костылей подставлять

. Смотрел в сторону IAR но там тож не фонтан.
Вот жду версию когда "кеил" всетаки прикрутит поддержку 400 нормально.