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

 
 
> Помогите с подготовкой примеров для студентов, (для процессора 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
 
Start new topic
Ответов
TMX
сообщение Oct 27 2005, 12:32
Сообщение #2


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

Группа: Свой
Сообщений: 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:52
Сообщение #3


инженер
****

Группа: Свой
Сообщений: 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
Сообщение #4


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

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



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

Как называется специальность?
Сколько часов в неделю курс?
Вы ведете все занятия или часть (семинары, например)?
Go to the top of the page
 
+Quote Post

Сообщений в этой теме
- Vic1   Помогите с подготовкой примеров для студентов   Oct 27 2005, 07:31
- - upc2   В начале писалось на СИ , но потом потребовалось н...   Oct 27 2005, 08:56
- - greg   Цитата(Vic1 @ Oct 27 2005, 11:31)Уважаемые фо...   Oct 27 2005, 09:49
- - Vic1   Спасибо. Из ответов поняла свою ошибку. Конечно ж...   Oct 27 2005, 10:23
|- - spf   Цитата(Vic1 @ Oct 27 2005, 15:23)И еще, кто-н...   Oct 27 2005, 11:19
- - Vic1   Похоже придется поиском по темам. Сегодня, вот ReA...   Oct 27 2005, 11:45
|- - Vic1   Цитата(TMX @ Oct 27 2005, 17:32)Как делаю я: ...   Oct 27 2005, 13:02
||- - TMX   Самое лучшее, на мой взгляд, - дать всей группе за...   Oct 27 2005, 13:25
- - Vic1   To TMX 1. специальность 220400 "Программное о...   Oct 28 2005, 09:32
|- - TMX   так это довольно много - и подготовка вполне себе ...   Oct 28 2005, 11:17
- - Vic1   To TMX Цитататак это довольно много - и подготовка...   Oct 28 2005, 12:10
- - one_man_show   Уважаемая Vic1! Сожалею, что с опозданием увид...   Nov 27 2005, 15:50
- - Vic1   Большое спасибо! На следующий учебный год при...   Nov 28 2005, 08:04
- - one_man_show   Уважаемая Vic1! Посылаю архив примеров для вс...   Nov 28 2005, 09:16


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

 


RSS Текстовая версия Сейчас: 12th August 2025 - 16:34
Рейтинг@Mail.ru


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