|
PC +/- … |
|
|
|
Apr 11 2011, 17:44
|

Пользователь забанен
    
Группа: Свой
Сообщений: 1 138
Регистрация: 9-08-05
Пользователь №: 7 492

|
..Борюсь с атмегами.. о, как они мне не нравятся.. ну всё, буквально, претит.. ..Вопрос такой. У PIC-ов есть возможность написать: гоу ту доллар +/-, скажем, 7. И программа перейдет по указанному адресу. У атмег, аналогичный вариант выглядит, как, PC +/- 7. Как бы, это работает. Но, недавно, что-то не пошло, пришлось по фрагментам в студии рассматривать. И обнаружил, что не прыгает оно на семь указанных строчек, а прыгает на шесть. А в других случаях прыгало.. Если указать восемь, будет прыгать на семь. ..Это глюк такой или есть нюансы, которых не знаю? ..С PIC-ами таких проблем не было. P.S. Настоятельная просьба ко всем, решившим сюда ответить: ни слова о Си. О его достоинствах, преимуществах и т. д. Ни слова! Или сразу закрою тему.
--------------------
It's me
|
|
|
|
|
 |
Ответов
(120 - 134)
|
Apr 14 2011, 10:58
|

Профессионал
    
Группа: Свой
Сообщений: 1 940
Регистрация: 16-12-07
Из: Москва
Пользователь №: 33 339

|
Цитата(ARV @ Apr 14 2011, 14:40)  с введением в Windows системы индивидуальной настройки раскладки для каждой запущенной программы, автоматический переключатель часто выручает. но при написании программ - сущий ад!  А я свой , даже не помню как называется, сразу отключаю , как только за программу сажусь, единственно полезное , чтооставляю переключение раскладки по CTRL Так , есть метки в Pic или нет - ЛЮДИ!!! Кто нибудь!!!
--------------------
Закон Мерфи:
Чем тщательнее составлен проект, тем больше неразбериха, если что-то пошло не так
|
|
|
|
Guest_@Ark_*
|
Apr 14 2011, 11:33
|
Guests

|
Цитата Позволите еще один вброс? Я вот считаю, что от программирования на ассемблере для PIC12/16 получаешь куда большее эстетическое удовольствие, нежели чем в случае AVR. Красота, ничего лишнего. А уж таблички через retlw... Эстетика и удобство, конечно, не последнее дело в программированиии. Но удобство можно понимать по-разному. Важно, чтобы ассемблер предоставлял выбор всех имеющихся в наличии возможностей - поддерживал как локальные и глобальные метки, так и адресацию по программному счетчику. Но не менее важно, на мой взгляд, чтобы ассемблер ничего за программиста не "додумывал" (особенно, когда его об этом не просят), а точно исполнял указания. Если я написал адрес перехода PC+12, значит так и должно быть. Какая длина последующих команд, и на какую из них я попаду после такого перехода - его не должно интересовать. Возможно попаду в середину какой-нибудь команды, ну и что? Может так и было задумано, и это единственный способ выполнить такой переход. Кому-то сложно посчитать адреса с учетом длин команд, тогда не пользуйтесь подобными приемами. Ставьте метки, какие проблемы? Ну, а если хотите чтобы компилятор "думал за вас", автоматически исправлял все неоднозначности и возможные ошибки - тогда пишите на ЯВУ, ассемблер не для вас. Программа на ассемблере - это всего лишь мнемоническое изображение машинного кода. Программой, в данном случае, является исполняемый код, а не текст. И этот код должен быть предельно ясно и понятно "виден" за мнемоническим текстом программы. Без всяких неоднозначностей и вариаций, которые ассемблеру самостоятельно вносить просто непозволительно. В этом и есть принципиальное отличие от ЯВУ, где программой принято считать собственно текст, выполненный строго по правилам языка. А исполняемый код, в этом случае, только побочный продукт работы компилятора.  И каков он будет - программист на ЯВУ чаще всего даже не знает, да и не положено ему это знать.
|
|
|
|
|
Apr 14 2011, 11:35
|

Гуру
     
Группа: Модераторы
Сообщений: 8 455
Регистрация: 15-05-06
Из: Рига, Латвия
Пользователь №: 17 095

|
QUOTE (aaarrr @ Apr 14 2011, 13:31)  О, есть еще одна тема для холивара: как кошерно переключать раскладку - при помощи Alt+Shift, или же Ctrl+Shift? Последний вариант, на мой взгляд, является еретическим, хотя многие почему-то выбирают его. Выбрал именно его и объясню почему: Бывает такое: начал что-то писать, надо переключить раскладку. Большой палец на Alt, нажал... и в этот момент переключать раскладку передумал. Отпускаю Alt, продолжаю писать и... фигушки - нажатие Alt активировало меню. Перешел на Ctrl-Shift и забыл об этой проблеме навсегда.
--------------------
На любой вопрос даю любой ответ"Write code that is guaranteed to work, not code that doesn’t seem to break" ( C++ FAQ)
|
|
|
|
|
Apr 14 2011, 12:24
|
Участник

Группа: Участник
Сообщений: 43
Регистрация: 4-04-07
Пользователь №: 26 760

|
Цитата(Сергей Борщ @ Apr 14 2011, 16:35)  Выбрал именно его и объясню почему: Бывает такое: начал что-то писать, надо переключить раскладку. Большой палец на Alt, нажал... и в этот момент переключать раскладку передумал. Отпускаю Alt, продолжаю писать и... фигушки - нажатие Alt активировало меню. Перешел на Ctrl-Shift и забыл об этой проблеме навсегда. А под линуксом хот-кеи Eclipse перенастраивали???
|
|
|
|
Guest_@Ark_*
|
Apr 14 2011, 13:09
|
Guests

|
Цитата Угу. Особо хорошо этому следует "оптимизирующий ассемблер. Пусть оптимизирует, на здоровье, но только с моего явного разрешения. И под контролем. Если же какой-либо ассемблер будет мне навязывать свою оптимизацию, или заниматься ей "подпольно", без моего ведома - то немедленно отправится на помойку. Вот так.
|
|
|
|
|
Apr 14 2011, 14:45
|

Гуру
     
Группа: Свой
Сообщений: 2 076
Регистрация: 10-09-08
Пользователь №: 40 106

|
Пока все здесь, осмелюсь спросить: какая принципиальная разница в этих двух строчках программы Код .db 06,07,08,09,10,11 .db 6,7,8,9,10,11
|
|
|
|
|
  |
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0
|
|
|