![]() |
|
Модераторы: Poseidon |
![]()
|
|
| Питерский |
|
|||
|
Новичок Профиль Группа: Участник Сообщений: 2 Регистрация: 27.1.2010 Репутация: нет Всего: нет |
Необходимо Смоделировать на Си, работу процессора 6809 фирмы Motorola
1.1 Задача, решаемая программой Организация процессора с одним аккумулятором. Создание программной модели процессора фирмы Motorola 6809. 1.2 Метод решения Содержимое входного файла копируется во внутренний массив, исполняющий роль памя-ти процессора. Организуется цикл выборки. В начале цикла в регистр IR заносится команда из памяти. Далее эта команда анализируется, затем выводится результат обработки команды и со-стояние PC, A, X,SP, Z. Переходим к следующей команде. Цикл продолжается до тех пор, пока не будет достигнут адрес возврата в операционную систему. 1.3 Требование к входным данным На входе программе передаётся двоичный файл. Файл имеет следующую структуру: Стартовый адрес (Start Address) Адрес загрузки блока 1 (Block 1 Load Address) Длина блока 1 (Block 1Length) Тело блока 1 (Block 1 body) . . . Адрес загрузки блока N (Block N Load Address) Длина блока N (Block N Length) Тело блока N (Block N body) Программа начинается со стартового адреса (2 байта). Следующие 2 байта –адрес загруз-ки (2 байта), за ним следует длина (2 байта). В случае отсутствия файла программа вы-даст соответствующее сообщение, и выполнение программы будет прервано. 1.4 Выходные данные Программа по записанным двоичным последовательностям восстанавливает команду и ис-полняет её. Результат исполнения выводится на экран в зависимости от заданного режи-ма, так же создается текстовой файл отчета. Вывод памяти может осуществляться много-кратно, притом адреса могут так же быть изменены пользователем. 2.1Подробное описание метода решения Программа запускается с параметрами командной строки. Первый параметр должен присутствовать всегда, это путь к входному файлу. Если входной параметр не задан или описан некорректно, выдается сведение об ошибке. В случае верной инициализации не-обходимого файла на экран выводится стартовый адрес и адрес загрузки, после чего пользователю предлагается меню, которое содержит следующие варианты дальнейших действий: 1 Regular run (полная прогонка программы) 2 Stepped run (пошаговая прогонка программы), 3 Exit (Выход) Режимы выполнения программы 1-2, в свою очередь содержать одинаковые подменю: 0 Breakpoint menu (меню только для полной прогонки, работает с точками остановки - запись, добавление, удаление) 1 Print RAM (печать памяти - от одного заданного пользователем адреса до другого) 2 Go (Полное/пошаговое исполнение) 3 Exit (Выход) и вывод на экран содержимого PC,A,X, IR, EAR, SP, Z и аккумулятора на каждом шаге/в начале и конце прокрутки (в зависимости от режима исполнения). В основе исполнения программы лежит функция Execute, в которой непосредственно идёт сравнение команд считанных из файла со стандартными командами процессора H6809. Идёт проверка на совпадение с командами, и дальнейшее их выполнение. Цикл исполняется до тех пор, пока не будет достигнут адрес возврата в операционную систему, который определён как кон-станта 1000h вот мой исходник, совсем чуть чуть:
------------- я не знаю как создать файл, и чтоб инфа из него читалась и забивалась в массив (память) не знаю, как будет происходить чтение данных из массива, с последующим выполнением поределённых команд. не знаю, как сделать менюшки. не знаю как сделать ЛОГ-файл, в который будет всё отправляться. Есть исходники с подробным описанием моделирования на Паскале, И есть готовые варианты моделей для процессора Н8000 фирмы Zilog, там используются Регистры Общего Назначения (РОНы). Буду рад всем идеям и предложениям! Спасибо, тем, кто дочитал до конца Это сообщение отредактировал(а) Питерский - 28.1.2010, 10:42 |
|||
|
||||
| cardinal |
|
|||
![]() Инженер ![]() ![]() ![]() ![]() Профиль Группа: Экс. модератор Сообщений: 6003 Регистрация: 26.3.2002 Где: Германия Репутация: 15 Всего: 99 |
Для начала: пользуйся на форуме тегом "код" (см. над боксом, в котором сообщение пишешь)...
-------------------- Немецкая оппозиция потребовала упростить натурализацию иммигрантов В моем блоге: Разные истории из жизни в Германии "Познание бесконечности требует бесконечного времени, а потому работай не работай - все едино". А. и Б. Стругацкие |
|||
|
||||
| Питерский |
|
|||
|
Новичок Профиль Группа: Участник Сообщений: 2 Регистрация: 27.1.2010 Репутация: нет Всего: нет |
Сделал, что дальше?
|
|||
|
||||
| Stalbker |
|
|||
|
Новичок Профиль Группа: Участник Сообщений: 18 Регистрация: 29.5.2009 Репутация: нет Всего: нет |
ап!
|
|||
|
||||
![]()
|
| Правила форума "Центр помощи" | |
|
|
ВНИМАНИЕ! Прежде чем создавать темы, или писать сообщения в данный раздел, ознакомьтесь, пожалуйста, с Правилами форума и конкретно этого раздела.
Более подробно с правилами данного раздела Вы можете ознакомится в этой теме. Если Вам помогли и атмосфера форума Вам понравилась, то заходите к нам чаще! С уважением, Poseidon, Rodman |
| 0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей) | |
| 0 Пользователей: | |
| « Предыдущая тема | Центр помощи | Следующая тема » |
|
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |