- •Министерство образования Российской Федерации
- •Самарский государственный технический университет
- •2. Оформление курсового проекта
- •3. Описание вариантов заданий
- •Перечень операций подлежащих программированию
- •4. Архитектура микропроцессоров
- •4.1. Микрокомпьютер
- •4.2. Структура микропроцессора
- •4.3. Блок управления и синхронизации
- •4.4. Система команд
- •4.4.1. Фаза выборки и дешифрации
- •Обозначения, используемые при описании команд,
- •Команды передач управления
- •Команды обращения к подпрограммам
- •Арифметические и логические команды
- •Команды ввода/вывода
- •Специальные команды
- •4.4.2. Фаза выполнения
- •Команды пересылки
- •Команды с непосредственным адресом
- •Команды обращения к памяти
- •Команды передачи управления
- •Команды обращения к подпрограммам
- •Арифметические и логические команды
- •Команды ввода/вывода
- •Специальные команды
- •4.5. Способы адресации
- •Прямая адресация
- •Непосредственная адресация
- •Индексная адресация
- •Косвенная адресация
- •Относительная адресация
- •Страничная адресация
- •4.6. Некоторые другие команды, специфичные для микропроцессоров
- •Арифметические и логические команды с операндами в главной памяти
- •Команды условных переходов
- •Команды обработки данных
- •5. Программирование для микропроцессоров
- •5.1. Программирование на машинном языке
- •Пример программы: «прибавить константу к числу в памяти и записать результат снова в память»
- •5.2. Разветвления в программах
- •5.3. Программирование циклов
- •Программа вычисления суммы десяти 8-битовых чисел без знаков
- •5.4. Программирование сложных разветвлений
- •Программа сложного разветвления, использующая таблицу переходов
- •5.5. Подпрограммы
- •Вход в подпрограмму и выход из подпрограммы
- •Параметры подпрограммы
- •Пример передачи параметров от главной программы в подпрограмму через общие регистры
- •Сложение с п-кратной точностью
- •Подпрограмма сложения чисел с двойной точностью
- •Умножение
- •5.6. Загрузка программ
- •Подпрограмма умножения целых положительных чисел Распределение общих регистров: r2: счетчик, r3: множимое y, r4: множитель X, r5: ст. Часть произведения Рн, r6:мл. Часть произведения pl
- •80 (Маска)
- •Программа-загрузчик
- •5.7. Программирование на языке ассемблера
- •Ассемблеры
- •Язык ассемблера
- •Программа на языке ассемблера, соответствующая программе табл. 5.3
- •Директивы ассемблера
- •Макрокоманда
- •Список команд иллюстрированного микропроцессора
- •Список команд иллюстративного микропроцессора
- •Условные графические обозначения в схемах
- •Продолжение Приложение п3
- •Продолжение Приложение п3
- •Продолжение Приложение п3
- •Список литературы
- •Содержание и объем курсового проекта …………………………….
- •Оформление курсового проекта ……………………………………...
- •Продолжение Приложение п2
- •Продолжение Приложение п2
- •Продолжение Приложение п2
- •Продолжение Приложение п2
- •Приложение п2
- •Приложение п2
- •Список литературы
Продолжение Приложение п2
Функция активации и деактивации окна или элемента управления.
BOOL EnableWindow(HWND hWnd, BOOL bEnable)
hWnd – хендл объекта, который необходимо активировать или деактивировать;
bEnable – состояние объекта активирован (true) или деактивирован (false).
Функция, возвращающая хендл элемента управления определенного диалогового окна.
HWND GetDlgItem(HWND hWnd, int nIDDlgItem)
hWnd – хендл диалогового окна, содержащего объект управления;
nIDDlgItem – идентификатор объекта управления.
Функция, следящая за состоянием синхронизирующего объекта события.
DWORD WaitForSingleObjects(HANDLE hHandle,
DWORD dwMilliseconds)
hHandle – хендл синхронизирующего объекта события;
dwMilliseconds - указывает в миллисекундах время, которое эта функция будет ждать, пока объект события не перейдет во включенное состояние. Если указанное время пройдет, а объект события все еще выключен, WaitForMultipleObjects вернет управление. Если вы хотите, чтобы функция наблюдала за объектом бесконечно, вы должны указать значение INFINITE в качестве этого параметра.
Продолжение Приложение п2
Функция, возвращающая название или текст из элемента управления в диалоговом окне.
UINT GetDlgItemText(HWND hWnd, int IDDlgItem,
LPTSTR lpString, int nMaxCount)
hWnd – хендл диалогового окна, содержащего элемент управления;
IDDlgItem – идентификатор элемента управления;
lpString – указатель на буфер, содержащий текст;
nMaxCount – максимальная длина строки (количество элементов), содержащейся в буфере на который указывает lpString.
Функция, отправляющая сообщение определенному элементу управления диалогового окна.
LRESULT SendDlgItemMessage(HWND hDlg, int
nIDDlgItem, UINT Msg, WPARAM wParam, LPARAM
lParam)
hDlg – хендл диалогового окна, содержащего элемент управления;
nIDDlgItem – идентификатор элемента управления;
Msg – сообщение, которое необходимо отправить;
wParam, lParam – дополнительные параметры.
Функция создания треда.
HANDLE CreateThread(LPSECURITY_ATTRIBUTES
lpThreadAttributes, SIZE_T dwStackSize,
LPTHREAD_START_ROUTINE lpStartAddress, LPVOID
lpParametr, DWORD dwCreationFlags, LPDWORD
lpThreadId)
lpThreadAttributes – указатель на атрибуты безопасности;
Продолжение Приложение п2
dwStackSize – размер стека треда в байтах;
lpStartAddress – указатель на адрес функции треда;
lpParametr – параметр передаваемый функции треда;
dwCreationFlags – дополнительный флаг управления созданием треда;
lpThreadId – идентификатор треда.
Функция установки приоритета треда.
BOOL SetThreadPriority(HANDLE hThread, int nPriority)
hThread – хендл треда;
nPriority – уровень приоритета треда.
Функция немедленного прерывания треда.
BOOL TerminateThread(HANDLE hThread, DWORD
dwExitCode)
hThread – хендл прерываемого треда;
dwExitCode – код выхода.
Функция, отправляющая определенное сообщение окну или окнам.
LRESULT SendMessage(HWND hWnd, UINT Msg,
WPARAM wParam, LPARAM lParam)
hWnd – хендл окна назначения;
Msg – отправляемое сообщение;
wParam, lParam – дополнительные параметры.
Функция закрытия диалогового окна.
BOOL EndDialog(HWND hDlg, INT_PTR nResult)