|
Прибавить константу к регистру! |
|
|
|
 |
Ответов
|
Mar 11 2008, 06:36
|

Йа моск ;)
     
Группа: Модераторы
Сообщений: 4 345
Регистрация: 7-07-05
Из: Kharkiv-city
Пользователь №: 6 610

|
Цитата Вот, например, команда JMP @20(R1) может быть легко применена в операторе switch, что на си, что на ассемблере. Да не спорит никто. Просто идеология RISC подразумевает, что 20 процентов комманд выполняется 80 процентов времени. Посему остальные 20% лучше не реализовывать в аппаратуре, а заменить несколькими коммандами Код lds zl,label lds zh,label+1 add zl,r16 adc zh,r17 ijmp результирующий выигрыш - больше, как в быстродействии, так и в потреблении, площади кристалла и т.д. И писать для RISC поэтому лучше на ЯВУ, дабы компилятор сам выполнил за вас работу по изготовлению аналогов CISC-комманд.
--------------------
"Практика выше (теоретического) познания, ибо она имеет не только достоинство всеобщности, но и непосредственной действительности." - В.И. Ленин
|
|
|
|
|
Mar 11 2008, 13:26
|

Ambidexter
    
Группа: Свой
Сообщений: 1 589
Регистрация: 22-06-06
Из: Oxford, UK
Пользователь №: 18 282

|
Цитата(Rst7 @ Mar 11 2008, 06:36)  Просто идеология RISC подразумевает, что 20 процентов команд выполняется 80 процентов времени. Посему остальные 20% лучше не реализовывать в аппаратуре, а заменить несколькими командами Не хочу спорить, но при чём здесь риск или циск? Всегда так было и наверное так будет, что для большинства обозримых задач какое-то количество команд занимает львиную долю процессорного времени. Не знаю точного определения риск или сиск и вообще трудно, а может и невозможно, найти чистый риск-МК, но по-моему задача перед проектировщиком риск-машины должна стоять такая: определить минимальное количество элементарных команд, выполняющихся за единый квант времени, чтобы любые операции можно бы было выполнить, используя комбинации из этого минимального набора. Ну а если у проектировщика остались неиспользованные площади кристалла, то грех не добавить дополнительных команд или функций, памяти, периферии, ещё какой-нибудь фичи... Что мы и наблюдаем в реальном мире. По аналогии с логическими схемами - любую сколь угодно сложную комбинаторную схему можно построить на комбинации схем 2И-НЕ, а можно на комбинации 2ИЛИ-НЕ. А проектировщики вроде бы реально используют базис 4И-НЕ... Цитата(Rst7 @ Mar 11 2008, 06:36)  Код lds zl,label lds zh,label+1 add zl,r16 adc zh,r17 ijmp Немного вы недопоняли, и не так сделали. Здесь вы реализовали команду JMP label(R1), которая прыгает на адрес (label+R1), а надо было реализовать команду JMP @label(R1), которая прыгает по адресу, который лежит по адресу (label+R1). Рассматривайте команду JMP просто как специфическую команду MOV, которая заносит операнд в программный счетчик РС. Хотя можно было бы использовать и MOV @label(R1),РС. Вот это гибкость! Отвлекусь. Даже простой вопрос о расположении операндов в pdp-11 решён идеально. Портится второй операнд. Почему в аврках и интелах портится первый операнд? Откуда спрашивается арабское письмо возникло? Или вот, опять о пространстве ввода-вывода. Атмелу этого пространства уже не хватает, поневоле приходится использовать in/out в комбинации с lds/sts. Как ни крути, а для программиста это лишняя головная боль и возможный источник ошибок. Будь пространство ввода-вывода сразу отмаплено на память как в pdp-11, было бы гораздо проще.
--------------------
Делай сразу хорошо, плохо само получится
|
|
|
|
Сообщений в этой теме
777777 Прибавить константу к регистру! Mar 6 2008, 08:11 starter48 Цитата(777777 @ Mar 6 2008, 14:11) Есль к... Mar 6 2008, 08:26 777777 Цитата(starter48 @ Mar 6 2008, 11:26) Отн... Mar 6 2008, 08:38  SasaVitebsk Цитата(777777 @ Mar 6 2008, 12:38) Мда, м... Mar 6 2008, 08:50   vet Цитата(SasaVitebsk @ Mar 6 2008, 11:50) П... Mar 6 2008, 09:08   777777 Цитата(SasaVitebsk @ Mar 6 2008, 11:50) А... Mar 6 2008, 10:19    defunct Цитата(777777 @ Mar 6 2008, 12:19) Ага, н... Mar 6 2008, 11:11     rx3apf Цитата(defunct @ Mar 6 2008, 14:11) А зач... Mar 6 2008, 11:46      ae_ Цитата(rx3apf @ Mar 6 2008, 20:46) IMHO, ... Mar 6 2008, 15:37      Andrew O. Shadoura Цитата(rx3apf @ Mar 6 2008, 13:46) Если б... Mar 10 2008, 04:07    SasaVitebsk Цитата(777777 @ Mar 6 2008, 14:19) Условн... Mar 6 2008, 22:03     aesok Цитата(SasaVitebsk @ Mar 7 2008, 01:03) 1... Mar 6 2008, 22:56      SasaVitebsk Цитата(aesok @ Mar 7 2008, 02:56) В идеал... Mar 6 2008, 23:55       777777 Цитата(SasaVitebsk @ Mar 7 2008, 02:55) К... Mar 8 2008, 18:12        SasaVitebsk Цитата(777777 @ Mar 8 2008, 22:12) Думаю ... Mar 9 2008, 15:22         =GM= Цитата(SasaVitebsk @ Mar 9 2008, 15:22) О... Mar 9 2008, 16:47          SasaVitebsk Цитата(=GM= @ Mar 9 2008, 20:47) Это был ... Mar 9 2008, 17:23           =GM= Цитата(SasaVitebsk @ Mar 9 2008, 17:23) К... Mar 10 2008, 11:50  KRS Цитата(777777 @ Mar 6 2008, 11:38) Мда, м... Mar 6 2008, 09:05  starter48 Цитата(777777 @ Mar 6 2008, 14:38) Мда, м... Mar 6 2008, 09:07 Rst7 Цитатаtst r0
skip if pl
neg r0
А какая разница с ... Mar 6 2008, 10:26 Brutaller Цитата(ae_ @ Mar 6 2008, 18:37) tavrasm у... Mar 6 2008, 18:41 Nanobyte Цитата(Brutaller @ Mar 6 2008, 21:41) Да ... Mar 6 2008, 19:50 Lepeksiy GNU assembler (в том числе "as.exe" из к... Mar 6 2008, 19:31 Brutaller Цитата(Lepeksiy @ Mar 6 2008, 22:31) GNU ... Mar 6 2008, 19:43 Lepeksiy Цитата(Brutaller @ Mar 6 2008, 21:43) А ч... Mar 6 2008, 20:21 Brutaller Цитата(Nanobyte @ Mar 6 2008, 22:50) Прил... Mar 6 2008, 19:59 zhevak Цитата(starter48 @ Mar 6 2008, 14:07) Это... Mar 6 2008, 20:52 aesok Цитата(zhevak @ Mar 6 2008, 23:30) ...
Ра... Mar 6 2008, 21:00  zhevak Цитата(aesok @ Mar 7 2008, 02:00) Это Вы ... Mar 6 2008, 22:08   singlskv Цитата(zhevak @ Mar 7 2008, 01:08) 1. ... Mar 6 2008, 22:44    zhevak ЦитатаЯ думаю, что приведенный Вами список будет п... Mar 6 2008, 23:17     aesok Цитата(zhevak @ Mar 7 2008, 02:17) Считаю... Mar 7 2008, 00:27 SasaVitebsk PS: Ещё одно дополнение.
Вот выдержка из последнег... Mar 7 2008, 00:29 aesok ЦитатаОтветьте просто. Какой МК, по-вашему идеальн... Mar 7 2008, 00:55  vet Цитата(aesok @ Mar 7 2008, 03:55) Разрабо... Mar 7 2008, 08:22 Дон Амброзио Цитата(777777 @ Mar 6 2008, 11:11) Есль к... Mar 7 2008, 07:30 Rst7 ЦитатаА по-моему, у всего своя причина должна быть... Mar 9 2008, 19:45 SasaVitebsk Да. Вот ведь прикол. Неоднократно удивлялся.
Хоро... Mar 9 2008, 23:56 rezident Цитата(SasaVitebsk @ Mar 10 2008, 04:56) ... Mar 10 2008, 00:11 Rst7 ЦитатаВ pdp-11 для любого обмена использовалась ОД... Mar 10 2008, 12:05 Дон Амброзио Цитата(Rst7 @ Mar 10 2008, 15:05) никто н... Mar 10 2008, 12:20 =GM= Цитата(Rst7 @ Mar 10 2008, 12:05) А в чем... Mar 10 2008, 13:28  Дон Амброзио Цитата(=GM= @ Mar 10 2008, 16:28) Положим... Mar 10 2008, 13:38   =GM= Цитата(Дон Амброзио @ Mar 10 2008, 13:38)... Mar 10 2008, 14:01    Дон Амброзио Цитата(=GM= @ Mar 10 2008, 17:01) Не на ч... Mar 10 2008, 19:18     KRS Цитата(Дон Амброзио @ Mar 10 2008, 22:18)... Mar 10 2008, 20:43 Rst7 ЦитатаНикакого сравнения с ассемблером ибм370
Вы,... Mar 10 2008, 18:46 =GM= Цитата(Rst7 @ Mar 10 2008, 18:46) Вы, вид... Mar 10 2008, 23:29  Baser Цитата(=GM= @ Mar 11 2008, 01:29) И, пожа... Mar 11 2008, 15:24   =GM= Цитата(Baser @ Mar 11 2008, 15:24) забав... Mar 11 2008, 17:46 SasaVitebsk 2 =GM=
Вот я и говорю, что при использовании комп... Mar 10 2008, 20:41 Rst7 ЦитатаНемного вы недопоняли, и не так сделали. Зде... Mar 11 2008, 14:19 =GM= Цитата(Rst7 @ Mar 11 2008, 14:19) Да, пар... Mar 11 2008, 17:22  singlskv Цитата(=GM= @ Mar 11 2008, 20:22) Не отве... Mar 11 2008, 18:18   =GM= Цитата(singlskv @ Mar 11 2008, 18:18) Неп... Mar 11 2008, 21:35 Rst7 ЦитатаЯ читаю правильно слева-направо "игрек ... Mar 11 2008, 17:30 IgorKossak Складывается впечатление, господа, что =GM= и Rst7... Mar 12 2008, 08:06 Rst7 Да сам вопрос то был
Цитатагде же addi, adci?
Во... Mar 12 2008, 08:37 777777 А где же "исключающее ИЛИ" с константой?... Mar 19 2008, 06:34  IgorKossak Цитата(777777 @ Mar 19 2008, 08:34) А где... Mar 19 2008, 08:45   777777 Цитата(IgorKossak @ Mar 19 2008, 11:45) И... Mar 19 2008, 09:57 Rst7 ЦитатаНу, в общем, да. Я надеялся, что в атмеле та... Mar 19 2008, 10:13 777777 Цитата(Rst7 @ Mar 19 2008, 13:13) Именно ... Mar 19 2008, 10:19  Дон Амброзио Цитата(777777 @ Mar 19 2008, 13:19) Не по... Mar 19 2008, 10:26 Rst7 ЦитатаА вот то, что таким образом можно инвертнуть... Mar 19 2008, 10:30 Дон Амброзио Цитата(Rst7 @ Mar 19 2008, 13:30) Так учи... Mar 19 2008, 10:39 KRS Цитата(Rst7 @ Mar 19 2008, 13:30) Так учи... Mar 19 2008, 10:47 IgorKossak Цитата(Дон Амброзио @ Mar 19 2008, 12:39)... Mar 19 2008, 12:38 Nanobyte Эта фича ещё есть у Tiny2313. Найти модели, в кото... Mar 20 2008, 18:13 =GM= Цитата(Nanobyte @ Mar 20 2008, 18:13) В р... Mar 20 2008, 21:59 IgorKossak Цитата(Nanobyte @ Mar 20 2008, 20:13) Эта... Mar 21 2008, 06:46
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0
|
|
|