Солонина А., Улахович Д. Алгоритмы и процессоры цифровой обработки сигналов (2002) (1095891), страница 40
Текст из файла (страница 40)
Префикс * означает, что вспомогательный регистр используется как регистр адреса (сравните примеры !2 и )2). Пример выполнении команды приведен на рис. 5.)5. По команде операнд, адресом которого является (АК2), склалывается с содержимым аккумулятора А; результат сохраняется в аккумуляторе А. 6.2.1. Модификация адреса ',$Ьдификация (изменение) адреса означает автоматическое вычисление нового адреса, выполняемое в УГА независимо от основной операции команды. Молификация адреса может производиться как до, так и после выполнения основной операции.
В зависимости от типа модификации, указываелюго в команде, может измениться содержимое регистра адреса и/или исполняемый адрес в данной команде, что, в отличие от рассмотренной выше косвенной адресации без модификации адреса. не одно и то же. гвзличают следующие основные типы модификации: (з постдекремент на ); ьз постинкремент на ); ьк предекремснт на ); ьк преинкремент на (; тз постдекрел1ент на )ь(; О постинкремент на )ь!; 0 индексация.
рассмотрим подробнее кажлую из модификаций. Постдекремент/постинкремент «предекремент/преинкремент адреса на 1 П остлекремент/постинкремент адреса на ! При косвенной алресации означает иа ет автоматическое уменьшение/увеличение содержимого регистра адреса ! после выполнения основной операции кома1шы, следовательно, исполНяемый адрес в даттнпй команде не изменяется. П релекремснт/преинкремент адреса на 1 при косвенной адресации означает а Втоматическое уменьшение/увеличснис содержимого регистра адреса на ! рддва б.
Адресация гуг Алгоритмы и процессоры цифровой обработки слгнелле Модификация Нет изменения Постдекремент На 1 Постмнкремент на 1 Предекремент на 1 Преянкремеят ие 1 Таблица 5.2. Постдекрементlпостинкременг и пред екре мент/преинкремент адреса нд 1 Синтаксис косвенного указания адреса в процессорах фирмы Апа)оо Ремсез АРЗР-216х Мо1ого!а РЗР5600х Техаз )пз(щпгеп(з ТМ8320С54хх АНл Агп*Айл+ ь-Агл Ф+Айл (йл) (йл]— (Нл]+ — (йл) Ол Мл) при Мл = О Ол, Мл! при Мп=-1 йл, Мл) при Мл = +1 Нет Нет Нет перед выполнением кол(аиды, следовательно, перед выполнением кол(анды вычисляется новый исполняемый алрос. Большинство алгоритмов ПОС связано с обработкой массивов данных (отчетов, коэффициентов и т.
л.). Косвеиная адресация с пост- и предекремеитами/преиикремеитами иа 1 обеспечивает просту(о организацию программного обращения к соседним алел!еитам массива в пал!яти данных. Синтаксис косвенного указаиия адреса при пост- и предекремеите/ преинкремснте иа 1 приведен в табл. 5.2. В процессорах (38Р5600х фирмы Мо(ого1а при постдекременте/постипкрсменте адреса иа 1 исполняемым адресом операнда в команде является содержимое регистра алреса Кл, которое после выполнения операции лекрел(ентпруется/иикремеитируется иа 1 и становится равным (йл) — 1 > Вл или (Кл) + 1- йл соответственно.
При предекремепте адреса на 1 содержимое регистра алреса Вл уменьшается иа 1 перед выполнениел( операции, Кл — (Кл) — 1 и становится исполняемым адресом. В процессорах А()ЯР-218Х фирмы Апа]ол (3еу]сез лля постдекремепта/ постинкременуа адреса используются регистры смещения Мл. Исполняемым алресом в команде является содержимое регистра адреса !и, которое после выполнения операции изменяется и становится равным (1л) + (Мл) 1л. Содержимое регистров модификации трактуется как целое со знаком. При постдекременте ца 1 содержимое реп(стра Мл равно — 1, (Мл) = — 1, а при постинкремеите на 1 оио равно +1, (Мп) = + 1.
В процессорах ТМ8320С54хх фирмы Техаз !пзг(т)п!еп($ при постдекрементс/иикремсите адреса иа 1 исполняемым адресол( является содержимое вспомогательного регистра АКл, которое после выполнения операции лекрсмеитируется/иикремеитируется иа 1 и стаиовится равным (АКл) — 1 - Айл или (Айл) + 1 - АКл соответственно. При предекремеите адреса на 1 солержимое регистра адреса АКп декремеитирусгся па ! перед выполнением операции, Агл (Айл) — 1, и становится исполняемым адресом.
!Триведел( примеры косвенной адресации с постлекремеитом/постицкре~итом адреса на 1. Во всех варишпах содержимое регистров смещения и ипа арифметики не влияет па содержимое регистра адреса. 18 После выполнения команды пересылки МОУЕ А1, Хг(ПО)— в процессоре ЕбР5600х фирмы Мо(ого!а содержимое КО декремснтируется; (КО) — 1 — КО (сравните с прил(ером 16). Пример выполнения команды привелен иа рис. 5.16 (сравните с рис. 5.13). Команла Л(ОУЕ А1. Х:(ПО)— Перес выполнением После выполнения Аххумулягор А Аккумулятор А 55 48 47 24 23 о 55 48 47 24 23 $01 234587 88АВСО А! АО А2 АО А! Х -память денных Х вЂ” память данных гз о $4734 $ХХХХХХ $4735 $ХХХХХХ гз о $4734 $ХХХХХХ $4735 5ХХХХХХ РЕгясгрЫ УГА 15 О Регистры УГА 15 О А), Х: (Яо)- Р цессоре А(3ЯР-218х фирмы Апа]ол Пеу1сез солержимос !2 иикрементирустся; (12) + 1 12 (сравните с прилшром 17] П Ри Р выдоя" (ил команды пРиведен ца Рис. 5.17 (сравните с Рис 5 14) ПО 15 О но ~ еххххД Гв О мо РМО- 5.16.
Пример выполнения команды моне 20. П . После выполнения команды пересылки АХО=ОИ(12,М2)г ПО ( $4734 ) 15 О но [ зхххк ~ 15 О по ( 3ееее а 5. Аересацип 275 Команда АХО"- ОМ)$2262) Перед вьиалнвнавм Пасла вьвюлнвнав Память двннык Память двнньм 15 0 15 О окхххх Ок1006 Окэ517 Ок1007 ОхХХХХ Ок)ООО ОМ 007 15 0 Е:Л Ок3517 рамс р утд 15 0 ~ охмв~Д 15 О [ Ок)~~~Д 15 0 [ Ок)ОООД 15 0 АХО ~ Ок2327Д Регнотры УГА 15 0 12 ~ си0063 Га О мг ~о. оо1 15 0 12 [ Сх~ООО~ АХО 12 Ьг Кома дв АОО дпг+,А Пасло вьвюлнвния Перед овладением 15 0 АИ2 ( 0102ЛД 15 О Апг [ О~~О~Н Память донник 15 0 Память данным 15 0 О1О1Л 2515ь 0102н ххххь 0101Ь 2515Н О1О2Л ХХХХл 15 О 15 0 ВК ~ ООООЛ1 вк Аккумулятор А ЗО о Аккумулятор А Алга тмы и процессоры цифровой обработки сигналов Рис. 5.17. Пример выполнения команды АХО=ОМ)12,нг) 1 Рис.
5.18. пример вылалнения команды Аоо *Авг+, А 41 После выполнения команлы сложения АОО *АК2+, в процессоре ТМ8320С54хх фирмы Техаз (пеышПЕП)6 СОДЕржИМоЕ АК2 инкрементируется; (АК2) + 1 - АК2 (сравните с примером 18). Пример выполнения команды приведен на рис. 5.18 (сравните с рис. 5.15), сстдекремент/п остин кремент 'предекремент/преинкремент адреса на 1)) остдекремент/постинкремент адреса на А7 при косвенной адресации ознаавтоматическое уменьшение/увеличение содержимого регистра адреса ма целое число У после выполнения команды, следовательно, исполняемый е)зрес в данной команде не изменяется.
Подобная модификация обеспечивает простую организацию программного обращения к произвольным элементам массива в памяти данных. з)вело Ат, называемое сие1ценнеи1, хранится в регистре смещения. СимволиЧеские имена и названия регистров смещения в процессорах различных 4ирм приведены в табл. 5.!. Синтаксис косвенного указания адреса нри постдекрементс/постипкремснте ва Ф приведен в табл. 5.3. $ процессорах РБР5000Х фирмы могого!а при постдекременте/постипкреиенте адреса на 7)7 (где Ат — беззнаковое целое) исполняемым адресом являОтсл содержимое регистра адреса Кп, которое после выполнения команды Изменяется и становится равным (Кп) + ()чп) Кп при постинкременте и равным (Кп) — ()Чп) Кп при постдскременте.
и и Мсти роцессорах АРЯР-218х фирмы Апа!08 Реьйсеэ при постдекременте/ Остинкременте адреса на 77'(где Ат — целое со знаком) исполняемым варевом является содержимое регистра 1п, которое после выполнения команды взменяется и становится равным (1п) + (Мп) - 1п. При постдекременте содержимое Мп равно -Ат, (Мп) = -А7, а при постинкременте оно равно +У. ()кп) =+ Ат роцессорах ТМ8320С54хх фирмы Техаз !ПЦГШПЕПа при постдекреМЕН- те/постник инкременте алреса на 77' (где У вЂ” беззнаковое целое) исполняемым ка))асом является содержимое регистра адреса АКп (п = 1, 2, ..., 7), которое +(АК0- во~ле вь)полнения команды изменяется и становится равным (АКп)+ ) - АКп при посп)нкременте и (АКп) — (АКО)» А при постдекрел1еите.
голгприпыы и процессоры Циф)зОеОЙ Обрдбопги сиГнплов Лдвм б. Адресация 2тт Таблица б.З. Т)остдекремент/постинкремент адреса на ))) Приведел) примеры косвенной адресации с постдекрел)ентол)/постинкрс ментом адреса на /Ч. Во всех примерах содержимое регистра типа арифметп ки не влияет на содержимое регистра адреса. 22. После выполнения команды пересылки МОУВ Д1, Хг <Во)-МО Кома дд дхе с ОМ!12,М2)) Ппслв выполнвния Память данных Перво выполнением Память двннык 15 0 Ох1006 ~Дх3517~ 15 0 Ох)ООО ~Кхзз)т ~ в процессоре ГЬР5600х фирмы Мо)ого)а содержимое яо декрементируется; (КО) — ()т)0) = (ВО) — 3 - КО (сравните с примером 16). Пример выполнения команды приведен на рис.
5.19 (сравните с рис. 5.13, 5.16). ОктООВ [ ОхХХХХ] Ох)ООВ ~ охХХХХ1 15 0 ДХО [Кх351Д7 Ксмвндв МОУед),Х:)яа)-МО Регистры УГА ))осло выполнялся Перед вьполнвнивм Аккумулятор А 24 23 15 О !2 [ ох1006 ~ 15 0 М2 [ 1)х0005Д Аккумулятор А о 55 45 4т 24 2З Дз Д1 ДО Д2 Дт До 75 О 15 0 ).2 [ Охоооо 1 Х вЂ” гммять донник Х вЂ” лвмлть данны» )2 ~ ох0000~ гз о $4732 $ХХХХХХ 2З О $4тзз зхххххх Д00 *ДЗ2-О„А Рмс. 5.19. Пример выполнения кОМВНДЫ МОУВ Д1, Х! )ЯО)-МО въх о! $4Г)5 $ХХХХХХ Рвгистры УГА 15 0 ПО ( $4335 15 О мо !завоз 1 15 О мо [ $):РРГ 1 $4735 $234557 Регистры УГД 15 О НО ( $4732 15 а МО ~ 3ОООЗД 15 О мо ~ вг:ГРГ1 23, После выполнения команды пересылки ДХО СИ[12,М2) Т в процессоре А(33Р-2!Зх фирмы Апа108 ()еу!сез содержимое 12 инкре- ментируется; (12) + (М2) = (!2) + 5 12 (сравните с примером 17). Пример выполнения команды приведен на рис.