реклама на сайте
подробности

 
 
2 страниц V   1 2 >  
Reply to this topicStart new topic
> Помогите с подготовкой примеров для студентов, (для процессора Intel 8086)
Виктория
сообщение Oct 27 2005, 07:31
Сообщение #1


инженер
****

Группа: Свой
Сообщений: 520
Регистрация: 19-09-05
Из: Самара
Пользователь №: 8 701



Уважаемые форумчане! smile.gif

Мне необходимо показать студентам некоторые задачи и пути их решения на ассемблере и Си, для того чтобы сравнить, и в конечном счете продемонстрировать, что большую часть из них можно оптимально реализовать на Си. Требования к задачам - несколько строк текста (чтобы показать только приемы) в любом представлении - либо описание задачи, либо на asm, либо на Си. "Гадостей" не пишите blush.gif , тему открыла не для "Си vs Asm", а для подготовке к практическому занятию со студентами (через неделю). Книги по Embedded С, разумеется, посмотрю.

Так как многие форумчане сталкивались раньше в своих проектах с Intel 8086/8088/80C188/80C186, я думаю, что для них не составит труда вспомнить подобные примеры из своей практики. Мои студенты, к сожалению, знают пока только PC-ный ассемблер.

С уважением ко всем, Vic1 как преподаватель вуза.
Go to the top of the page
 
+Quote Post
upc2
сообщение Oct 27 2005, 08:56
Сообщение #2


Знающий
****

Группа: Свой
Сообщений: 506
Регистрация: 29-09-05
Из: Донецк
Пользователь №: 9 063



В начале писалось на СИ , но потом потребовалось на ASM.
Об оптимальности вопрос не стоял.Была проблема в быстродействии.
Прикрепленные файлы
Прикрепленный файл  uart.rar ( 20.29 килобайт ) Кол-во скачиваний: 38
 
Go to the top of the page
 
+Quote Post
greg
сообщение Oct 27 2005, 09:49
Сообщение #3


Участник
*

Группа: Свой
Сообщений: 44
Регистрация: 7-07-05
Из: МОСКВА
Пользователь №: 6 604



Цитата(Vic1 @ Oct 27 2005, 11:31)
Уважаемые форумчане!  smile.gif 

Мне необходимо показать студентам некоторые задачи и пути их решения на  ассемблере и Си, для того чтобы сравнить, и в конечном счете продемонстрировать, что большую часть из них можно оптимально реализовать на Си. Требования к задачам - несколько строк текста (чтобы показать только приемы) в любом представлении - либо описание задачи, либо на asm, либо на Си. "Гадостей" не пишите blush.gif , тему открыла не для "Си vs Asm", а для подготовке к практическому занятию со студентами (через неделю). Книги по Embedded С, разумеется, посмотрю.

Так как многие форумчане сталкивались раньше в своих проектах с Intel 8086/8088/80C188/80C186, я думаю, что для них не составит труда вспомнить подобные примеры из своей практики. Мои студенты, к сожалению, знают пока только PC-ный  ассемблер.

С уважением ко всем, Vic1 как преподаватель вуза.
*


В постперестроечное время издавалась книга, автор Джордейн, к сожалению у меня её нет, но я видел её в Inete, так что через поисковик найдёте. Там были примеры на языке высокого уровня (на C или Basic) и на ассемблере.
Go to the top of the page
 
+Quote Post
Виктория
сообщение Oct 27 2005, 10:23
Сообщение #4


инженер
****

Группа: Свой
Сообщений: 520
Регистрация: 19-09-05
Из: Самара
Пользователь №: 8 701



Спасибо.
Из ответов поняла свою ошибку. Конечно же речь идет о примерах для встроенного ПО, без MS DOS, BIOS. (Поэтому Джордейн не пригодится).
Т.е. процессор 8086 или микроконтроллер 80С188 предполагается в составе некоторой целевой системы (или прибора).
Если профессионалы по Intel 80C188 не увидят мою просьбу, то может быть найдутся желающие привести примеры для других микроконтроллеров.
И еще, кто-нибудь может подскажет, какая из книг по Embedded C самая достойная? (по теме ветки)
Go to the top of the page
 
+Quote Post
spf
сообщение Oct 27 2005, 11:19
Сообщение #5


Странник
****

Группа: Свой
Сообщений: 766
Регистрация: 29-08-05
Из: Екатеринбург
Пользователь №: 8 051



Цитата(Vic1 @ Oct 27 2005, 15:23)
И еще, кто-нибудь может подскажет, какая из книг по Embedded C самая достойная? (по теме ветки)
*


Кхм, думаю самая достойная это та которая идет в комплекте с компилятором "C" для применяемого контроллера. Т.к. все компиляторы для embedded МК имеют свои "тонкие" места, от которых зачастую все и зависит.

Цитата(Vic1 @ Oct 27 2005, 15:23)
... может быть найдутся желающие привести примеры для других микроконтроллеров.


Как вариант - http://www.fme.gsdc.de/pdf/an-900092-10-compileropt.pdf


--------------------
"Как много есть на свете вещей, которые мне не нужны!" Сократ
Go to the top of the page
 
+Quote Post
Виктория
сообщение Oct 27 2005, 11:45
Сообщение #6


инженер
****

Группа: Свой
Сообщений: 520
Регистрация: 19-09-05
Из: Самара
Пользователь №: 8 701



Похоже придется поиском по темам. Сегодня, вот ReAl "для неокрепших желудков" ( a14.gif ) в соседних ветках, надеюсь поиск поможет. blush.gif
Go to the top of the page
 
+Quote Post
TMX
сообщение Oct 27 2005, 12:32
Сообщение #7


Частый гость
**

Группа: Свой
Сообщений: 100
Регистрация: 19-01-05
Из: Москва
Пользователь №: 2 064



Как делаю я:
прежде всего, по-моему, сам подход "а можно и на С" - некорректный, плодит ваххабитов, которые потом с пеной у рта будут доказывать, что код асм оптимальнее и т.п, (потому что для конкретных задач это действительно так).

1. предполагается, что студенты уже знакомы с асм, вызовом ф-ий, обработкой прерываний и т.п.
2. Задание - написать на асм ф-ю с параметрами, которая возвращает значение.
типа: int add (int, int) и т.п. список составьте сами.
3. Рассмотреть используемость (usability) такой функции в реальном проекте: какие регистры использует, как сохраняет/восстанавливает эти регистры, как передает параметры, как возвращает значение, как используется стек, сколько используется стеков и т.п. может передача параметров через системные переменные, программная реализация стека и т.п.
4. Сформулировать необходимость принятия единых правил написания функций и их вызова для асм.
5. Задание - сформулировать эти правила.
6. Задание - на основе этих правил написать по две функции - одну, использующую ф-ю товарища, другую, используемую ф-ей другого товарища.
7. Сформулировать необходимость принятия единых правил использования глобальных переменных в ОЗУ для асм.
8. Задание - сформулировать эти правила.
9. Задание - написать функции, использующие глобальные переменные, можно тоже по две.

10. Показать, что эти правила, в общем, не оптимальны.

11. Теперь можно и к С переходить smile.gif
или к Forth

хорошая книжка: "How the Pros Develop Embedded Software", из нее ясно, на что действительно стоит обращать внимание при обучении студентов
Go to the top of the page
 
+Quote Post
Виктория
сообщение Oct 27 2005, 13:02
Сообщение #8


инженер
****

Группа: Свой
Сообщений: 520
Регистрация: 19-09-05
Из: Самара
Пользователь №: 8 701



Цитата(TMX @ Oct 27 2005, 17:32)
Как делаю я:
прежде всего, по-моему, сам подход "а можно и на С" - некорректный, плодит ваххабитов, которые потом с пеной у рта будут доказывать, что код асм оптимальнее и т.п, (потому что для конкретных задач это действительно так).

1. предполагается, что студенты уже знакомы с асм, вызовом ф-ий, обработкой прерываний и т.п.
2. Задание - написать на асм ф-ю с параметрами, которая возвращает значение.
типа: int add (int, int) и т.п. список составьте сами.
3. Рассмотреть используемость (usability) такой функции в реальном проекте: какие регистры использует, как сохраняет/восстанавливает эти регистры, как передает параметры, как возвращает значение, как используется стек, сколько используется стеков и т.п. может передача параметров через системные переменные, программная реализация стека и т.п.
4. Сформулировать необходимость принятия единых правил написания функций и их вызова для асм.
5. Задание - сформулировать эти правила.
6. Задание - на основе этих правил написать по две функции - одну, использующую ф-ю товарища, другую, используемую ф-ей другого товарища.
7. Сформулировать необходимость принятия единых правил использования глобальных переменных в ОЗУ для асм.
8. Задание - сформулировать эти правила.
9. Задание - написать функции, использующие глобальные переменные, можно тоже по две.

10. Показать, что эти правила, в общем, не оптимальны.

11. Теперь можно и к С переходить  smile.gif
*


Спасибо, хороший у Вас подход. Нечто подобное, но в отношении использования ОС РВ я тоже пытаюсь также показать. В общем идея хорошая, надо работать над собой. blush.gif
Go to the top of the page
 
+Quote Post
TMX
сообщение Oct 27 2005, 13:25
Сообщение #9


Частый гость
**

Группа: Свой
Сообщений: 100
Регистрация: 19-01-05
Из: Москва
Пользователь №: 2 064



Самое лучшее, на мой взгляд, - дать всей группе задание на разработку какого-либо устройства.
Типа модуля сбора данных с передачей по УАРТ в текстовом виде. с простой индикацией и управлением от пары кнопок.
А дальше - по книжке, которую я указал.
Go to the top of the page
 
+Quote Post
Виктория
сообщение Oct 27 2005, 13:52
Сообщение #10


инженер
****

Группа: Свой
Сообщений: 520
Регистрация: 19-09-05
Из: Самара
Пользователь №: 8 701



Цитата(TMX @ Oct 27 2005, 17:32)
хорошая книжка: "How the Pros Develop Embedded Software", из нее ясно, на что действительно стоит обращать внимание при обучении студентов
*


Спасибо smile.gif , благо эта книга у меня есть.

Цитата
Самое лучшее, на мой взгляд, - дать всей группе задание на разработку какого-либо устройства.
Типа модуля сбора данных с передачей по УАРТ в текстовом виде. с простой индикацией и управлением от пары кнопок.


Нечто подобное уже провела (ПО целевой системы в виде измерительного прибора с семисегментной индикацией, клавиатурой). УАРТ забыла включить, но к тому же у меня и студентов мало (9 всего). Целью такого занятия было знакомство со спецификой программирования встроенных систем. Совсем не ожидала реакции студентов, что "на ассемблере лучше". Оказывается это надо было предусмотреть excl.gif

Известны всем еще и другие проблемы обучения - базовая подготовка слабовата, часов мало, а хочется донести до них побольше и как-то задеть (чтобы обратили внимание на предмет обсуждения и запомнили). В общем то - это была одна из причин создания темы.
Go to the top of the page
 
+Quote Post
TMX
сообщение Oct 28 2005, 09:06
Сообщение #11


Частый гость
**

Группа: Свой
Сообщений: 100
Регистрация: 19-01-05
Из: Москва
Пользователь №: 2 064



По поводу интереса студентов - это действительно проблема.

Как называется специальность?
Сколько часов в неделю курс?
Вы ведете все занятия или часть (семинары, например)?
Go to the top of the page
 
+Quote Post
Виктория
сообщение Oct 28 2005, 09:32
Сообщение #12


инженер
****

Группа: Свой
Сообщений: 520
Регистрация: 19-09-05
Из: Самара
Пользователь №: 8 701



To TMX
1. специальность 220400 "Программное обеспечение вычислительной техники и автоматизированных систем"
(специализация "Автоматизированные системы научных исследований (АСНИ)")
2. курсы "Программное обеспечение микропроцессорных систем",
"Программное обеспечение систем сбора информации" (36 и 52 аудиторных часа, соответственно, разделили на 2 семестра).
3. надеюсь весной на помощника для проведения лабораторных занятий.

Базовая подготовка слабовата - ощущается. На младших курсах - в каком-то виде организация ЭВМ и электроника (наверно, только цифровая), программирование по верхам. У нас на кафедре - датчики и устройства нормализации, системы сбора информации и микропроцессорные системы и все!
Go to the top of the page
 
+Quote Post
TMX
сообщение Oct 28 2005, 11:17
Сообщение #13


Частый гость
**

Группа: Свой
Сообщений: 100
Регистрация: 19-01-05
Из: Москва
Пользователь №: 2 064



так это довольно много - и подготовка вполне себе ничего.
И то что группа небольшая - тоже хорошо.
Просто надо дать конкретное задание - лучше всего, разработка новой лабораторной работы или оборудования для нее:
1. Кафедре польза
2. Вам - опыт руководства проектом
3. Студентам - опыт участия в групповой разработке.
Go to the top of the page
 
+Quote Post
Виктория
сообщение Oct 28 2005, 12:10
Сообщение #14


инженер
****

Группа: Свой
Сообщений: 520
Регистрация: 19-09-05
Из: Самара
Пользователь №: 8 701



To TMX
Цитата
так это довольно много - и подготовка вполне себе ничего.
И то что группа небольшая - тоже хорошо.
Просто надо дать конкретное задание - лучше всего, разработка новой лабораторной работы или оборудования для нее


Так ведь из этих часов половина - это лекции. А рассказать - и ПО для МПС, и ОС РВ, и веяния новых технологий (типа SCADA, PLC). С заданием - сложности. Студенты с 3-го курса распределены по научным руководителем для выполнения УИРС по конкретной теме (перерастающей в ДП). Такой уж у нашей кафедры подход. И у меня таких с каждого курса по 1-2, их то я могу хоть чем озадачить (себе на голову blush.gif), но донести специфику курса нужно до всех.

Это, наверно, длинный разговор (и постепенный уход от темы). Если интересно продолжить, обращайтесь лично.
Go to the top of the page
 
+Quote Post
one_man_show
сообщение Nov 27 2005, 15:50
Сообщение #15


Помогу, чем смогу
******

Группа: Админы
Сообщений: 2 786
Регистрация: 28-05-04
Из: Москва
Пользователь №: 25



Уважаемая Vic1!
Сожалею, что с опозданием увидел тему. У меня есть несколько сотен примеров на Си для контроллеров х86 (www.tern.com).
Пишу с КПК, поэтому сейчас выложить не могу, пожалуйста, киньте напоминалку через РМ, обязательно вышлю. Могу помочь с железом для лабораторок.
Удачи


--------------------
С уважением,
Ваган Саруханов
Проекты|Форум|Facebook|Linkedin
Go to the top of the page
 
+Quote Post

2 страниц V   1 2 >
Reply to this topicStart new topic
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0

 


RSS Текстовая версия Сейчас: 21st June 2025 - 08:15
Рейтинг@Mail.ru


Страница сгенерированна за 0.01495 секунд с 7
ELECTRONIX ©2004-2016