- •Программирование на языке ассемблера сигнального процессора tms320c6x
- •Введение
- •Рекомендуемая литература
- •Содержание отчета
- •Сохранение результатов лабораторной работы
- •1. Симулятор команд tms320c6201
- •Подготовка к работе
- •Задания и методические указания к их выполнению
- •2. Операции пересылки данных
- •Подготовка к работе
- •Задания и методические указания к их выполнению
- •3. Арифметические операции
- •Подготовка к работе
- •Задания и методические указания к их выполнению
- •4. Ветвление с простым условием
- •Подготовка к работе
- •Задания и методические указания к их выполнению
- •Раздел 1. Ввод исходных данных для выполнения операций 1-3.
- •5. Ветвление со сложным условием
- •Подготовка к работе
- •Задания и методические указания к их выполнению
- •6. Ветвление с вложеными условиями
- •Подготовка к работе
- •Задания и методические указания к их выполнению
- •7. Регулярные циклы
- •Подготовка к работе
- •Задания и методические указания к их выполнению
- •8. Итеративные циклы
- •Подготовка к работе
- •Задания и методические указания к их выполнению
1. Симулятор команд tms320c6201
Является одним из средств отладки программного обеспечения процессора TMS320C6x. Симулятор предназначен для тестирования и улучшения программного кода.
Подготовка к работе
По указанной выше литературе изучить:
структуру процессора TMS320C6x;
этапы разработки программы;
процесс подготовки исполняемой программы;
средства отладки прикладных программ: аппаратные эмуляторы, проверочные модули, симуляторы команд, отладчики.
Задания и методические указания к их выполнению
1. Запустить симулятор (файл SIM62x.exe) и изучить окна его интерфейса.
В режиме отладки автоматически создаются четыре окна с отображением чисел в 16-ричной системе счисления:
окно Disassemblyотображает команды дизассемблера – ассемблера, восстановленного по объектному коду, содержащемуся в программной памяти симулятора. В первой слева колонке этого окна отображаются адреса ячеек программной памяти симулятора, во второй – их содержимое (объектный код), в третьей – мнемоники команд и именаисполняющих их модулей, в четвертой – операнды команд;
окно CPUпоказывает содержимое регистров процессора. При необходимости его можно задавать принудительно. Для этого двойным щелчком компьютерной мыши по имени регистра выделяется его содержимое, вводится требуемое16-ричное число инажимается клавиша <Enter>;
окно Memoryотображает адреса (первая колонка) и содержимое ячеек программной памяти симулятора. При необходимости его также можно задавать принудительно посредством двойного щелчка компьютерной мыши, но уже непосредственно по разрядам нужной ячейки памяти;
окно Commandвключает область ввода команд управления симулятором и область отображения сообщений об ошибке загрузки программы, результате выполнения введенной команды управления симулятором и служебной информации.
2. Создание исполняемого модуля.
Исполняемый модуль является исходным файлом для симулятора. Для получения этого файла необходимо:
а) в текстовом редакторе «Блокнот» сформировать текст исходной программы на языке линейного ассемблера. В данной работе ввести текст:
k.set2 ; присвоение символу k значения2
mvkk,a2 ; ввод значенияk в регистр а2 РОН
mv a2,b2 ;копирование содержимого а2 в регистр b2
add а2,b2,a2;сложение содержимого а2 и b2 с размещени-
*ем результата в а2.
В программе символ «;» открывает текст комментария (на машинный язык не переводится);
б) сохранить текст исходной программы в соответствующей папке (здесь LB1_Х) под именем как указано выше с расширениемasm(здесьlb1_Х.asm). С этой целью в пункте «Файл» оконного меню редактора «Блокнот» выбрать командуСохранить как …Откроется одноименное окно диалога, в котором выполнить следующие действия:
указать место хранения (активизировать, т.е. открыть папку текущей лабораторной работы – здесь LB1_Х);
в списке Тип файлавыбратьВсе файлы;
в поле Имя файлаввести полное имя файла (здесьlb1_Х.asm);
компьютерной мышью «щелкнуть» кнопку Сохранить;
в) получить объектный файл lb<№ текущей лабораторной работы>_<№ рабочего места>.obj(здесьlb1_Х.obj), для чего из папки текущей лабораторной работы (здесьLB1_Х) запустить программу ассемблера (файлASM6x.exe) и в ее окне ввести имя ассемблируемого файла (в данном случаеlb1_Х), причем расширение имени указывать не обязательно. После этого нажать клавишу <Enter>.
В папке LB1_Х должен образоваться файл lb1_Х.obj. Еслиэтого не произошло, в исходном файле (lb1_Х.asm)имеютсяошибки. Определить их удобно с помощью файла листинга программы,который получается следующим образом:
из командной строки (Пуск\Программы\Стандартные\Выполнить) запустить программу Ассемблера: <путь к рабочей папке>\<имя рабочей папки>\<имя папки данной лабораторной работы (здесь LB1)>\ASM6x.exe-l(опция -lотделяется от имени файла пробелом);
в окне программы ассемблера, как и ранее, ввести имя ассемблируемого файла (здесь lb1_Х);
нажать клавишу <Enter>.
В результате в соответствующей папке (здесь LB1_Х) образуется файл листинга (здесьlb1_Х.lst), содержащий сведения об ошибках.
После исправления ошибок в тексте исходного файла сохранить его (команда Сохранить) и повторить ассемблирование;
г) из папки текущей лабораторной работы (здесь LB1_ Х) запустить программу компоновщика (файлLNK6x.exe) и в ее окне в режиме диалога последовательно и построчно ввести сведения о компонуемых файлах. При этом в предлагаемых лабораторных работахдостаточно ограничитьсялишь именем объектного файла (без расширения), согласившись тем самым с именем исполняемого файла (lb1_Х.out), предлагаемым компоновщиком:
Рис. 2. Окно программы компоновщика
3. Загрузка исполняемого модуля в симулятор:
– в пункте Fileоконного меню симулятора выбрать командуLoad Program…;
– в открывшемся окне диалога открыть список поля Папкаи на дереве папок найти и открыть папку текущей лабораторной работы (здесьLB1_Х);
– в поле Имятого же окна диалога выделить имя исполняемого модуля (здесьlb1_Х.out), после чего с помощью компьютерной мыши нажать кнопкуОткрыть.
В окне Commandсимулятора появиться сообщение о факте загрузки отлаживаемого файла.
4. Прогон программы.
В режиме отладки программ симулятор обеспечивает два основных способа их прогона –по контрольным точкам (точкам останова выполнения программы) и пошаговый.
В первом случае выполнение каждого участка программы (между двумя соседними контрольными точками) инициируется командой Run(одноименная кнопка панели инструментов окна симулятора):
Рис. 3. Способы прогона программ
Устанавливаются контрольные точки в окне Disassemblyщелчком компьютерной мыши слева от требуемой строки (рис. 3). Снимается контрольная точка щелчком мыши по ее изображению.
Установить контрольную точку на строке с адресом 00000004 и инициировать команду Run. Снять контрольную точку и инициировать командуRestart(найти и компьютерной мышью «щелкнуть» соответствующую кнопку панели инструментов окна симулятора).
Во втором случаевыполнениекаждой командной строки инициируется командой кнопкойStep(одноименная кнопка панели инструментов окна симулятора (см. рис. 3) или клавишей <F8> клавиатуры).
В процессе отладки контролируются следующие окна:
Disassembly, где исполняемая на следующем шаге командная строка автоматически отмечается слева стрелкой;
CPU, содержимое регистров которого сравниваетсяс прогнозом выполнения текущей командной строки.
Выполнить в пошаговом режиме модуль lb1_Х.out, отмечая изменения в окнеCPUсимулятора.
5. Завершение работы с симулятором.
Закрыть симулятор можно любым из трех способов:
с помощью кнопки «», расположенной в правом верхнем углу строки заголовка окна симулятора;
ввести в командную строку окна Commandкомандуquit;
в пункте оконного меню Fileвыбрать командуExit.
Опробовать все способы и выбрать для себя наиболее удобный способ.