-
- Это всё-таки про RISC процессоры, а не контроллеры в первую очередь. Любая команда где операнд источник 0. Любая команда требующая операнда приёмника, но приёмник не требуется в дальнейшем. - загрузить константу(07.09.2015 20:08, )
- Нулевой регистр может и другие цели иметь, например эмуляцию какого-нибудь режима адресации. Типа нет у проца абсолютной адресации, но есть косвенно-регистровая со смещением. Используем R0 и получаем то что надо. У той же PDP-11 не было LightElf(127 знак., 07.09.2015 19:01)
- Тут вы ошибаетесь. У PDP-11 была и абсолютная адресация, и непосредственная. Например: Bill(106 знак., 07.09.2015 19:10 - 19:16, ссылка, ссылка)
- А вы машинный код посмотрите у этой ассемблерной инструкции и удивитесь. Там будет (по памяти) что-то типа add (R7)+, @(R7)+ LightElf(32 знак., 08.09.2015 11:48 - 11:56)
- Вы оба правы. vmp(257 знак., 07.09.2015 21:40)
- Все так, но тем не менее, Bill(671 знак., 08.09.2015 07:06)
- Тут вы ошибаетесь. У PDP-11 была и абсолютная адресация, и непосредственная. Например: Bill(106 знак., 07.09.2015 19:10 - 19:16, ссылка, ссылка)
- Иногда бывает надо сравнить с нулём ячейку, которая была вычислена давно. Вот у ДСПИКов это можно сделать одной командой. - Крок(07.09.2015 18:11)
- У AVR, к примеру, это тоже можно сделать одной командой, TST называется. То же самое имеется и у STM8, только там мнемоника - TNZ. Можно еще много других примеров привести. - Bill(07.09.2015 18:27)
- Эта операция у АВРов применима ко всей памяти или только к регистрам? - Крок(07.09.2015 18:42)
- У AVR только к регистрам. Вообще все арифметические и логические операции в AVR применимы только к регистрам. Для работы с памятью имеются инструкции загрузки/сохранения, не более того. - Bill(07.09.2015 18:47)
- Вооот! А у пиков есть кусок памяти - 8к которая может быть операндом в арифметических операциях (далеко не во всех). В том числе обращение к каждому биту. Ну 8к - это может быть пижонство, а вот 64 РОНа было бы уместно. - Крок(07.09.2015 19:55)
- У меня есть опыт работы как с AVR, так и с PIC. Если говорить об AVR, то обычно в программе не требуется частого обращения к памяти, обычно хватает регистров. Кроме того, в AVR имеются различные методы адресации, что повышает эффективность Bill(554 знак., 08.09.2015 07:29)
- Если бы пико24дезигнеры не пожидились сделать программное слово в 32, а не в 24 бита, то и было бы как минимум 4096 (2^4 + 2^8) полноценных РОНов - MBedder(07.09.2015 19:59)
- Я вот думаю, может там чисто технологическая проблема - коммутировать РОНы. Просто по нагрузочной способности ключей нельзя сделать больше? - Крок(07.09.2015 20:04)
- Любые другие операции (включая некоторые арифметические/логические - ADD/C f {,WREG}, AND f {,WREG}, ASR f {,WREG}, BCLR/BSET f,#bit4, BTG f,#bit4 и т.п) с операндами в Near Memory (до 8191) ведь делаются, значит, на всю арифметику тупо не хватило MBedder(14 знак., 07.09.2015 20:18)
- Сэкономили память программ, мать их... - Крок(07.09.2015 21:37)
- Любые другие операции (включая некоторые арифметические/логические - ADD/C f {,WREG}, AND f {,WREG}, ASR f {,WREG}, BCLR/BSET f,#bit4, BTG f,#bit4 и т.п) с операндами в Near Memory (до 8191) ведь делаются, значит, на всю арифметику тупо не хватило MBedder(14 знак., 07.09.2015 20:18)
- Я вот думаю, может там чисто технологическая проблема - коммутировать РОНы. Просто по нагрузочной способности ключей нельзя сделать больше? - Крок(07.09.2015 20:04)
- Вооот! А у пиков есть кусок памяти - 8к которая может быть операндом в арифметических операциях (далеко не во всех). В том числе обращение к каждому биту. Ну 8к - это может быть пижонство, а вот 64 РОНа было бы уместно. - Крок(07.09.2015 19:55)
- У AVR только к регистрам. Вообще все арифметические и логические операции в AVR применимы только к регистрам. Для работы с памятью имеются инструкции загрузки/сохранения, не более того. - Bill(07.09.2015 18:47)
- Эта операция у АВРов применима ко всей памяти или только к регистрам? - Крок(07.09.2015 18:42)
- У AVR, к примеру, это тоже можно сделать одной командой, TST называется. То же самое имеется и у STM8, только там мнемоника - TNZ. Можно еще много других примеров привести. - Bill(07.09.2015 18:27)
- Аффтор хочет сравнить с нулем произвольную ячейку памяти при этом считается что состояние флага z когда создавалось значение в ячейке давно потеряно. Boвa(34 знак., 07.09.2015 17:57)