Пятница, 21.09.2018
Сайт Абрашова С.Ю.
[ Новые сообщения · Участники · Правила форума · Поиск · RSS ]
  • Страница 1 из 2
  • 1
  • 2
  • »
Форум » Вопросы по курсу СЦВМ » 2012-2013 уч.г. » Группы 50х
Группы 50х
abrashovДата: Суббота, 09.03.2013, 21:42 | Сообщение # 1
Лейтенант
Группа: Администраторы
Сообщений: 40
Репутация: 0
Статус: Offline
Перечень заданий группам:
1) 16.02.13 Написать программу, читающую входной файл на языке ASM и разбивающую каждую строку на команды и ее операнды.
2) 02.03.13 Разработать систему команд для составляемого процессора, доработать программу-компилятор для генерации бинарного кода.
3) 09.03.13 Доработать программу-компилятор для генерации файла ROM с целью последующего использование в разрабатываемом МК.
4) 16.03.13 Провести исследование работы на симуляторе компонента для работы с rs-232
5) 23.03.13 Доработать проект rs232 для однократной отправки символа при нажатии на кнопку
6)
7)
 
abrashovДата: Суббота, 09.03.2013, 22:10 | Сообщение # 2
Лейтенант
Группа: Администраторы
Сообщений: 40
Репутация: 0
Статус: Offline
Примеры к занятию №3
0 - вывод на светодиоды инвертированных переключателей
1 - вывод на светодиоды значений переключателей с привязкой к внешней тактовой частоте, использованием логических выражений и вырезки заданных битов шины
2 - использование условного оператора для реализации регистра-защелки (вариант с неициализированным значением)
3 - 2 + внутренний сигнал с инициализацией (имеется warning о неверном использовании защелки)
4 - 3 + асинхронный сброс - полностью правильно работающий вариант без ошибок
5 - реализация счетчика с выводом на светодиоды (с частотой 50 MHz)
6 - 5 + счет от вторичной сети синхронизации после делителя опорной частоты 24-х разрядным счетчиком
7 - 6 + демонстрация оператора case
ram - реализация регистровой памяти со случайным доступом
rom - реализация памяти только для чтения со случайным доступом
Прикрепления: my_proc_step_0.zip(57.1 Kb) · my_proc_step_1.zip(55.4 Kb) · my_proc_step_2.zip(59.7 Kb) · my_proc_step_3.zip(59.7 Kb) · my_proc_step_4.zip(60.3 Kb) · my_proc_step_5.zip(58.7 Kb) · my_proc_step_6.zip(65.8 Kb) · my_proc_step_7.zip(66.4 Kb) · ram.vhd(1.5 Kb) · rom_mem.vhd(1.2 Kb)
 
abrashovДата: Четверг, 14.03.2013, 23:38 | Сообщение # 3
Лейтенант
Группа: Администраторы
Сообщений: 40
Репутация: 0
Статус: Offline
Итак, задание на курсовую работу
Прикрепления: 7054151.doc(31.0 Kb)
 
abrashovДата: Четверг, 14.03.2013, 23:51 | Сообщение # 4
Лейтенант
Группа: Администраторы
Сообщений: 40
Репутация: 0
Статус: Offline
Уточним задание на курсовую - разрабатываемый контроллер - стековый, 16-ти разрядный, фон-Неймановской архитектуры.
 
abrashovДата: Понедельник, 25.03.2013, 21:46 | Сообщение # 5
Лейтенант
Группа: Администраторы
Сообщений: 40
Репутация: 0
Статус: Offline
Пример работы с rs-232
Прикрепления: rs232.zip(78.5 Kb)
 
abrashovДата: Суббота, 04.05.2013, 18:52 | Сообщение # 6
Лейтенант
Группа: Администраторы
Сообщений: 40
Репутация: 0
Статус: Offline
Пример компилятора для процессора, тестовый проект VHDL, тестовая программа.
Возможные вопросы прошу задавать здесь, с тем чтобы ответы все видели.
Прикрепления: 8277887.zip(71.6 Kb) · sasm.cpp(30.4 Kb) · program.asm(1.1 Kb) · sasm.exe(34.9 Kb)
 
РусланДата: Суббота, 11.05.2013, 22:02 | Сообщение # 7
Группа: Удаленные





Вопрос: 
обязательно ли делать процессор с шинами (адрес, данные) как это сделано у вас?
 
abrashovДата: Суббота, 11.05.2013, 23:03 | Сообщение # 8
Лейтенант
Группа: Администраторы
Сообщений: 40
Репутация: 0
Статус: Offline
Процесор в общем подразумевает наличие шины (особенно фон-Нейнмановский). Но в данном случае пусть это будет необязательным.
 
abrashovДата: Суббота, 11.05.2013, 23:08 | Сообщение # 9
Лейтенант
Группа: Администраторы
Сообщений: 40
Репутация: 0
Статус: Offline
Помещаем текущий вариант микроконтроллера и тестовую программу к нему.
Из известных ошибок: не работает команда call.
Будет еще добавлено: рекурсивный тест вычисления факториала числа, тест генерации случайных чисел.
Прикрепления: 0130415.zip(280.5 Kb) · 2065807.asm(3.7 Kb) · 0065501.cpp(30.4 Kb) · 0691454.exe(34.9 Kb) · program.vhd(248.7 Kb) · map.lst(26.3 Kb) · map.map(0.4 Kb)
 
abrashovДата: Воскресенье, 12.05.2013, 00:55 | Сообщение # 10
Лейтенант
Группа: Администраторы
Сообщений: 40
Репутация: 0
Статус: Offline
Итоговый вариант примера для курсовой работы. Жду вопросов. Завтра добавлю видео работы теста.
0811789.zip(282Kb) - файл проекта Xilinx
6215149.asm(4Kb) - исходный код теста
0800325.vhd(249Kb) - VHDL модуль ROM со скомпилированным тестом
6088058.map(0Kb) - карта меток теста
2698285.lst(28Kb) - листинг теста
random.cpp(0Kb) - тест когруэнтного генератора случайных чисел для теста с A=5 C=3 M=65536
random.exe(16Kb) - исполняемый файл теста случайных чисел
3658790.exe(35Kb) - исполняемый файл компилятора2896558.cpp (35Kb) - исходный код компилятора
Прикрепления: 0811789.zip(281.6 Kb) · 6215149.asm(4.3 Kb) · 0800325.vhd(248.7 Kb) · 6088058.map(0.5 Kb) · 2698285.lst(27.7 Kb) · random.cpp(0.3 Kb) · random.exe(15.7 Kb) · 3658790.exe(34.9 Kb) · 2896558.cpp(30.5 Kb)
 
abrashovДата: Четверг, 16.05.2013, 22:52 | Сообщение # 11
Лейтенант
Группа: Администраторы
Сообщений: 40
Репутация: 0
Статус: Offline
Здравствуйте. Объясните пожалуйста в какой части программы обрабатываются регистры REG_BX, REG_CX, REG_DX, REG_DX, REG_BP. Видно что объявлены, но не ясно где используются.

Эти макроопределения нигде по тексту программы не используются, однако они объявлены для общей ясности
(так, чтобы если придется их где-то применить определение уже было под рукой, да и просто для памяти)
Частично это дублируется определением типа enum registers {ax = 0, bx, cx, dx, flags, bp, sp, number};
и массивом имен char reg_names[][6] = {"ax", "bx", "cx", "dx", "flags", "bp", "sp"};
где номер в массиве соответствует коду регистра, однако макроопределения нагляднее.
 
РусланДата: Пятница, 24.05.2013, 22:46 | Сообщение # 12
Группа: Удаленные





что такое ja и jb в проекте xilinx?
Все я понял - это пины ввода вывода.

Добавлено (24.05.2013, 22:46)
---------------------------------------------
А вы не могли бы расписать свою систему команд, для ясности?

Сообщение отредактировал Руслан - Пятница, 24.05.2013, 17:47
 
abrashovДата: Пятница, 24.05.2013, 23:20 | Сообщение # 13
Лейтенант
Группа: Администраторы
Сообщений: 40
Репутация: 0
Статус: Offline
Мог бы.
Сейчас сделаем.
 
РусланДата: Пятница, 24.05.2013, 23:54 | Сообщение # 14
Группа: Удаленные





И вопрос более важный... 
Те кто завтра не сдают в полном объеме, когда смогут сдать?
 
abrashovДата: Пятница, 24.05.2013, 23:57 | Сообщение # 15
Лейтенант
Группа: Администраторы
Сообщений: 40
Репутация: 0
Статус: Offline
Система команд:
nop - нет операции
mov приемник, источник - пересылка слова данных из источника (регистр, число или адрес памяти) в приемник (ригистр или адрес памяти)
push источник - помещение слова данных из источника (регистр, число или адрес памяти) в стек
pop приемник -  помещение слова данных из стека в приемник  (регистр или адрес памяти) 
add приемник, источник - беззнаковое целочисленное сложение значения приемника (регистр или адрес памяти) со значением источника (регистр, число или адрес памяти), результат помещается в приемник
sub приемник, источник - беззнаковое целочисленное вычитание из значения приемника (регистр или адрес памяти) значения источника (регистр, число или адрес памяти), результат помещается в приемник
mul приемник, источник - беззнаковое целочисленное умножение значения приемника (регистр или адрес памяти) на значение источника (регистр, число или адрес памяти), результат помещается в приемник
div  приемник, источник - беззнаковое целочисленное деление значения приемника (регистр или адрес памяти) на значение источника (регистр, число или адрес памяти), результат помещается в приемник
inc приемник - беззнаковое целочисленное увеличение значения приемника (регистр или адрес памяти) на 1
dec приемник - беззнаковое целочисленное уменьшение значения приемника (регистр или адрес памяти) на 1
cmp операнд1, операнд2 - сравнение операндов 1 и 2 (регистр, число или адрес памяти) с установкой флагов
and приемник, источник - побитовое логическое умножение ("И") значения приемника (регистр или адрес памяти) со значением источника (регистр, число или адрес памяти), результат помещается в приемник
or приемник, источник - побитовое логическое сложение ("ИЛИ") значения приемника (регистр или адрес памяти) со значением источника (регистр, число или адрес памяти), результат помещается в приемник
xor приемник, источник - побитовое логическое исключающее "ИЛИ" значения приемника (регистр или адрес памяти) со значением источника (регистр, число или адрес памяти), результат помещается в приемник
not  приемник - побитовая логическа инверсия значения приемника (регистр или адрес памяти)
jmp адрес - безусловный переход на заданный адрес
je адрес - переход на заданный адрес, если операнды предыдущей команды равны
jne адрес - переход на заданный адрес, если операнды предыдущей команды не равны 
jz адрес - переход на заданный адрес, если результат предыдущей команды равен 0
jnz адрес - переход на заданный адрес, если результат предыдущей команды не равен 0
jg адрес - переход на заданный адрес, если операнд1 предыдущей команды больше операнда 2
jl адрес - переход на заданный адрес, если операнд1 предыдущей команды меньше операнда 2
call адрес - вызов процедуры
ret - возврат из процедуры
dw - блок слов данных
 
Форум » Вопросы по курсу СЦВМ » 2012-2013 уч.г. » Группы 50х
  • Страница 1 из 2
  • 1
  • 2
  • »
Поиск:

Copyright MyCorp © 2018