-
- Одной командой PUSH x/POP x. весь банк регистров. Где х - номер банка. - Sl_(24.05.2005 00:51, )
- Проще банку начальный адрес в памяти задавать через регистр периферийный. - SM(24.05.2005 07:54, )
- xrl c,bit - ssergy(18.05.2005 13:19, )
- Читали ветку-то? В текущем R100 уже есть. - SM(18.05.2005 13:54, )
- DEC DPTR - Crow(17.05.2005 20:02, )
- Уже давно имеется на месте одного из MOVX - SM(17.05.2005 23:59, )
- Всем спасибо. Несколько полезных идей записаны в todo :) Если у кого еще мысли будут - выслушаю с удовольствием. - SM(17.05.2005 19:26, )
- Я бы еще добавил индексную адресацию относительно SP vmp(154 знак., 18.05.2005 09:40, )
- Это сделано в виде MOV A,@SP+#data и MOV @SP+#data,A (в текущем ядре нет, только в новом) - SM(18.05.2005 11:54, )
- Только MOV? Прям как в RISC. :) ИМХО, с префиксом для изменения direct в indexed было бы лучше vmp(74 знак., 18.05.2005 12:03, )
- Префиксов нема столько, а вот насчет замены операции MOV на префикс подмены директа на @SP+#data подумаем - один префикс как раз есть, спасибо за идею. - SM(18.05.2005 12:26, )
- Даже так и сделаю. - SM(18.05.2005 12:26, )
- Префиксов нема столько, а вот насчет замены операции MOV на префикс подмены директа на @SP+#data подумаем - один префикс как раз есть, спасибо за идею. - SM(18.05.2005 12:26, )
- Только MOV? Прям как в RISC. :) ИМХО, с префиксом для изменения direct в indexed было бы лучше vmp(74 знак., 18.05.2005 12:03, )
- Не плохо бы о многозадачности подумать :-) misyachniy(928 знак., 18.05.2005 11:53, )
- Ответ SM(461 знак., 18.05.2005 11:59, )
- Это сделано в виде MOV A,@SP+#data и MOV @SP+#data,A (в текущем ядре нет, только в новом) - SM(18.05.2005 11:54, )
- Я бы еще добавил индексную адресацию относительно SP vmp(154 знак., 18.05.2005 09:40, )
- В общем на тот незанятый код ставлю MOVC A,@A+#TABLE - SM(17.05.2005 18:48, )
- Процессор будет называться 80351 :) - vmp(17.05.2005 18:40, )
- Супер :-)) - Shura(17.05.2005 18:44, )
- Нет, он будет называться не так.... - SM(17.05.2005 18:42, )
- Короче, ты к вопросу подошёл не с той стороны. Сначала надо было всенародно выбрать название, а уж как лодку назовёшь.. ;-)) - Shura(17.05.2005 18:56, )
- Если предыдущий был R100-XP, то этот будет с похожим названием - SM(17.05.2005 18:57, )
- R100 X-MP, R100 Y-MP :) - vmp(17.05.2005 19:22, )
- R100-Longhorn ?? - General(17.05.2005 18:59, )
- LongHren - Shura(17.05.2005 18:59, )
- Если предыдущий был R100-XP, то этот будет с похожим названием - SM(17.05.2005 18:57, )
- 808051 - General(17.05.2005 18:53, )
- 80SM51 :-) - µ (bialix)(17.05.2005 23:33, )
- Off: мы тут про кейл не договорили - vmp(18.05.2005 09:45, , ссылка)
- ответил - µ (bialix)(24.05.2005 01:07, )
- Off: мы тут про кейл не договорили - vmp(18.05.2005 09:45, , ссылка)
- 80SM51 :-) - µ (bialix)(17.05.2005 23:33, )
- Короче, ты к вопросу подошёл не с той стороны. Сначала надо было всенародно выбрать название, а уж как лодку назовёшь.. ;-)) - Shura(17.05.2005 18:56, )
- 3-е. Предварительно принят SM(167 знак., 17.05.2005 17:30, )
- Да ну, нафиг нада. Эту бы площядь, да в мирных целях... ХРАМ какое, что-ли - mse(17.05.2005 17:49, )
- ХРАМов нет - и MOVXы под топор давно попали SM(551 знак., 17.05.2005 17:54, )
- А так ли уж нужна скорость деления? Можно ведь не за один такт, а за несколько и с меньшей площадью. - vmp(17.05.2005 18:00, )
- Видно будет ближе к испеканию. - SM(17.05.2005 18:02, )
- А так ли уж нужна скорость деления? Можно ведь не за один такт, а за несколько и с меньшей площадью. - vmp(17.05.2005 18:00, )
- ХРАМов нет - и MOVXы под топор давно попали SM(551 знак., 17.05.2005 17:54, )
- Да ну, нафиг нада. Эту бы площядь, да в мирных целях... ХРАМ какое, что-ли - mse(17.05.2005 17:49, )
- Интересно, а блок обработки ответа АОН там уже аппаратный? - vmp(17.05.2005 17:30, )
- нет. нафига? Если там MUL/MAC/MSU однотактные? А вот MIDI будет полу-аппаратный (сопроцессор) - SM(17.05.2005 17:31, )
- Сделай, чтобы в конфу переходил автоматом. - General(17.05.2005 17:24, )
- CAXAPA @general+# :) - AVR(17.05.2005 18:10, )
- 2-е. Однозначно CJE A,#data,rel8. Но тот код пока еще свободен :) Точнее нашелся еще один. - SM(17.05.2005 17:09, )
- 1-е принятое: Добавлю префиксом возможность к любой команде с адресацией @Rx делать +#data - SM(17.05.2005 17:06, )
- Класс! - AVR(17.05.2005 17:11, )
- Ага, только ценой в +2 байта и +2 такта - SM(17.05.2005 17:13, )
- За удовольствия надо платить - AVR(17.05.2005 18:08, )
- Да тут главное не перемудрить SM(81 знак., 17.05.2005 18:17, )
- )) - AVR(17.05.2005 18:18, )
- Да тут главное не перемудрить SM(81 знак., 17.05.2005 18:17, )
- За удовольствия надо платить - AVR(17.05.2005 18:08, )
- Ага, только ценой в +2 байта и +2 такта - SM(17.05.2005 17:13, )
- Класс! - AVR(17.05.2005 17:11, )
- Кстати о птичках - у меня не один код операции остался. А целая куча. Штук эдак 900. Но +1 такт. - SM(17.05.2005 16:41, )
- Ну тогда забить все MMX и SIMD :) - AVR(17.05.2005 16:48, )
- Механизм шедулера бы внутрь вправить. Да вытесняющий. И к нему команды специальные. - Маниту(17.05.2005 17:02, )
- Ну вот еще. Я противник OSов :) в МК такого уровня. А то давайте еще защищенный режим делать :) - SM(17.05.2005 17:05, )
- К сожалению кристалл не резиновый, а вафля не дешовая. - SM(17.05.2005 16:52, )
- Это да. Лучшее - враг хорошего - AVR(17.05.2005 16:54, )
- Механизм шедулера бы внутрь вправить. Да вытесняющий. И к нему команды специальные. - Маниту(17.05.2005 17:02, )
- Ну тогда забить все MMX и SIMD :) - AVR(17.05.2005 16:48, )
- Ну, это мигом AVR(326 знак., 17.05.2005 16:10, )
- Еще: MOVC a,@dptr+ | MOVC a,@dptr+# | MOV a,@r0+# | MOV @r0,@r1+# (# - знаковая константа, пусть даже 4-битная) - AVR(17.05.2005 16:25, )
- dptr+ есть через бит статусный, на счет +#data можно подумать.... - SM(17.05.2005 16:27, )
- Ответ: SM(725 знак., 17.05.2005 16:22, )
- MIRR имелось в виду переставить биты зеркально. Число бит - хорошо, но редко надо. Лучше уж тогда ADD dptr,# или MOV[C] a,@dptr+# - AVR(17.05.2005 16:31, )
- а на кой зеркально? бит-реверс это чисто DSP-шная шняга для БПФ.... - SM(17.05.2005 17:59, )
- А я о чем? :) - AVR(17.05.2005 18:07, )
- Ну.... На этот случай в разработке вот что => - SM(17.05.2005 18:12, , ссылка)
- Не удивлюсь, если на выходе получится клон Blackfin :) - AVR(17.05.2005 18:17, )
- Скорее TMS'а 55-го. Основные идеи взяты с него. А BF мне ну совсем не понравился по архитектуре. - SM(17.05.2005 18:19, )
- А мне - набор команд 55-го не понравился, Blackfin как-то естественнее воспринимается. Но это на вкус - AVR(17.05.2005 18:21, )
- На мой взгляд TMS куда более гибок, особенно в части того, что почти у любой команды может быть операнд из памяти. У BF этого нет. Да и спец-дсп-команд гораздо больше. - SM(17.05.2005 18:24, )
- А я вот решил сделать так, чтобы не только источник(и) из памяти могли браться, но и приемник тоже. Кстати и у TMS'а есть немного таких команд. - SM(17.05.2005 18:25, )
- Эх, мечта давняя - сваять полностью ортогональный набор команд посредством VLIW. На пенсии займусь :) - AVR(17.05.2005 18:30, )
- Возьми TMS320C6xxx и не парься :) :) - SM(17.05.2005 18:34, )
- )) - AVR(17.05.2005 18:41, )
- Возьми TMS320C6xxx и не парься :) :) - SM(17.05.2005 18:34, )
- Эх, мечта давняя - сваять полностью ортогональный набор команд посредством VLIW. На пенсии займусь :) - AVR(17.05.2005 18:30, )
- А я вот решил сделать так, чтобы не только источник(и) из памяти могли браться, но и приемник тоже. Кстати и у TMS'а есть немного таких команд. - SM(17.05.2005 18:25, )
- На мой взгляд TMS куда более гибок, особенно в части того, что почти у любой команды может быть операнд из памяти. У BF этого нет. Да и спец-дсп-команд гораздо больше. - SM(17.05.2005 18:24, )
- А мне - набор команд 55-го не понравился, Blackfin как-то естественнее воспринимается. Но это на вкус - AVR(17.05.2005 18:21, )
- Скорее TMS'а 55-го. Основные идеи взяты с него. А BF мне ну совсем не понравился по архитектуре. - SM(17.05.2005 18:19, )
- Не удивлюсь, если на выходе получится клон Blackfin :) - AVR(17.05.2005 18:17, )
- Ну.... На этот случай в разработке вот что => - SM(17.05.2005 18:12, , ссылка)
- А я о чем? :) - AVR(17.05.2005 18:07, )
- зато вот число 0..7 в маску 0...1, 0...10 актуально - Romario(17.05.2005 16:42, )
- Типа этого уже есть - команда сдвига на N где N берется из директа. - SM(17.05.2005 16:44, )
- опять мимо:)...Ж(( - Romario(17.05.2005 16:45, )
- Типа этого уже есть - команда сдвига на N где N берется из директа. - SM(17.05.2005 16:44, )
- а на кой зеркально? бит-реверс это чисто DSP-шная шняга для БПФ.... - SM(17.05.2005 17:59, )
- MIRR имелось в виду переставить биты зеркально. Число бит - хорошо, но редко надо. Лучше уж тогда ADD dptr,# или MOV[C] a,@dptr+# - AVR(17.05.2005 16:31, )
- Еще: MOVC a,@dptr+ | MOVC a,@dptr+# | MOV a,@r0+# | MOV @r0,@r1+# (# - знаковая константа, пусть даже 4-битная) - AVR(17.05.2005 16:25, )
- ADD DPTR,#IMM8 - vmp(17.05.2005 15:45, )
- Прибавить константу к ДПТР. - Маниту(17.05.2005 15:44, )
- Есть в текущем R100 "ADD DPTR,A" - но учтем на заметку. Константу 8-битную? 16-битную? Если 8, то signed? unsigned? - SM(17.05.2005 15:46, )
- Константу unsigned. Ввчитать с помощью ADD думаю все умеют - Маниту(17.05.2005 15:56, )
- Я про signed/unsigned если 8-битная. Расширять ее до 16-ци нулями или знаком... - SM(17.05.2005 15:59, )
- Знаком, конечно - тогда автоматически и декремент образуется - AVR(17.05.2005 16:11, )
- Еще не хватает CJNE A,Ri, offset - Маниту(17.05.2005 16:22, )
- Еще есть вариант CJE A,#data,offset (с учетом префиксов автоматом и CJE Rx,#data и CJE dir,#data получатся) - SM(17.05.2005 16:28, )
- Еще тут у нас идея возникла - MOVC A, @A+PC+#data - SM(17.05.2005 16:50, )
- Тогда уж не PC, а DPTR - получится отличный XLAT с офсетом - AVR(17.05.2005 16:52, )
- Именно PC, чтобы таблицы можно было не трогая DPTR адресовать. А то вечный гемор при 256-байтной таблице. - SM(17.05.2005 16:54, )
- А зачем тогда еще PC плюсовать? Так ли уж нужен позиционно-независимый код? Достаточно будет MOVC A, @A+#TABLE - vmp(17.05.2005 17:32, )
- Обычно из Code Memory не один байт доставать надо, а строку/массив. Индексный указатель не помешал бы - хоть Rx - AVR(17.05.2005 18:06, )
- Дык. DPTR! - SM(17.05.2005 18:09, )
- Дык без константы! - AVR(17.05.2005 18:11, )
- Так база в DPTR, а смещение в ACC. С учетом 16-битного режима получается довольно много. - SM(17.05.2005 18:14, )
- Тогда, конечно, гуд. Чисса канкретна XLAT от х86 в натуре! :) - AVR(17.05.2005 18:19, )
- Докучи через префиксы никто не мешает написать MOVC Rx, @(ACC+DPTR) или MOVC direct,@(ACC+DPTR). ACC который к DPTR прибавляется префиксами не переназначается. - SM(17.05.2005 18:23, )
- Это уже прямо немецкий язык получается - Massenkommunikationsdienstleistungsunternehmen :) - AVR(17.05.2005 18:34, , ссылка)
- Не понял сравнения... А префиксы подмены аккумулятора фунциклируют и сейчас в R100 - SM(17.05.2005 18:36, )
- Ну, там слово иногда легче с конца читать, а те, что перед ключевым - как бы префиксы :) - AVR(17.05.2005 18:40, )
- Не понял сравнения... А префиксы подмены аккумулятора фунциклируют и сейчас в R100 - SM(17.05.2005 18:36, )
- Это уже прямо немецкий язык получается - Massenkommunikationsdienstleistungsunternehmen :) - AVR(17.05.2005 18:34, , ссылка)
- Докучи через префиксы никто не мешает написать MOVC Rx, @(ACC+DPTR) или MOVC direct,@(ACC+DPTR). ACC который к DPTR прибавляется префиксами не переназначается. - SM(17.05.2005 18:23, )
- Тогда, конечно, гуд. Чисса канкретна XLAT от х86 в натуре! :) - AVR(17.05.2005 18:19, )
- Так база в DPTR, а смещение в ACC. С учетом 16-битного режима получается довольно много. - SM(17.05.2005 18:14, )
- Дык без константы! - AVR(17.05.2005 18:11, )
- Дык. DPTR! - SM(17.05.2005 18:09, )
- Хотя... Если с PC, то #data 8-битная возможно будет.. А это всего один байт - один такт. - SM(17.05.2005 17:45, )
- О! Идея! - SM(17.05.2005 17:41, )
- Обычно из Code Memory не один байт доставать надо, а строку/массив. Индексный указатель не помешал бы - хоть Rx - AVR(17.05.2005 18:06, )
- А разве в R100 этих DPTR-ов не как грязи? - AVR(17.05.2005 16:55, )
- на данный момент всего один. - SM(17.05.2005 17:00, )
- ((( - AVR(17.05.2005 17:12, )
- В виду отсутствия внешней RAM это и не особо актуально, - SM(17.05.2005 17:14, )
- ((( - AVR(17.05.2005 17:12, )
- на данный момент всего один. - SM(17.05.2005 17:00, )
- А зачем тогда еще PC плюсовать? Так ли уж нужен позиционно-независимый код? Достаточно будет MOVC A, @A+#TABLE - vmp(17.05.2005 17:32, )
- Именно PC, чтобы таблицы можно было не трогая DPTR адресовать. А то вечный гемор при 256-байтной таблице. - SM(17.05.2005 16:54, )
- Тогда уж не PC, а DPTR - получится отличный XLAT с офсетом - AVR(17.05.2005 16:52, )
- Еще тут у нас идея возникла - MOVC A, @A+PC+#data - SM(17.05.2005 16:50, )
- Еще есть вариант CJE A,#data,offset (с учетом префиксов автоматом и CJE Rx,#data и CJE dir,#data получатся) - SM(17.05.2005 16:28, )
- Еще не хватает CJNE A,Ri, offset - Маниту(17.05.2005 16:22, )
- Знаком, конечно - тогда автоматически и декремент образуется - AVR(17.05.2005 16:11, )
- Я про signed/unsigned если 8-битная. Расширять ее до 16-ци нулями или знаком... - SM(17.05.2005 15:59, )
- Луччи конечно 16 битную если по тактам одинаково. Тем более 8 уже как бы у Вас есть. Код команды конечно удлиннится... Но зато с DPTR арихметикой проблем не будет. Маниту(150 знак., 17.05.2005 15:53, )
- Ответ: SM(403 знак., 17.05.2005 15:58, )
- Ну соотв. есть и ADD DPTR, Rx и ADD DPTR,dir - так как есть префиксы подмены аккумулятора на dir или Rx - SM(17.05.2005 15:48, )
- Константу unsigned. Ввчитать с помощью ADD думаю все умеют - Маниту(17.05.2005 15:56, )
- Есть в текущем R100 "ADD DPTR,A" - но учтем на заметку. Константу 8-битную? 16-битную? Если 8, то signed? unsigned? - SM(17.05.2005 15:46, )
- RESET:) - Romario(17.05.2005 15:41, )
- :) Такая команда уже есть.... NOP с префиксом... - SM(17.05.2005 15:43, )
- Одной командой PUSH x/POP x. весь банк регистров. Где х - номер банка. - Sl_(24.05.2005 00:51, )