Микропроцессор i8086/i8088
Два основных направления развития производства микросхем. Разработка архитектуры и полупроводниковые технологии. Структура микропроцессора i8086, операционное устройство. Назначение максимальных и минимальных режимов. Разработка программного обеспечения.
Рубрика | Программирование, компьютеры и кибернетика |
Вид | курсовая работа |
Язык | русский |
Дата добавления | 27.02.2009 |
Размер файла | 1,3 M |
Отправить свою хорошую работу в базу знаний просто. Используйте форму, расположенную ниже
Студенты, аспиранты, молодые ученые, использующие базу знаний в своей учебе и работе, будут вам очень благодарны.
showStringproc
pushax
movah, 9h; вызов функции DOS
int21h
popax
ret
showStringendp
; - -----------------------------------------------------------------------------------------
; Перевод строки.
;
; Параметры: нет
;
; Возвращаемое значение: нет
;
; Модификация регистров: нет
;
; Глобальные переменные:
; [in] writeln - коды перевода строки
; - -----------------------------------------------------------------------------------------
writeLineproc
pushdx
movdx, offset writeln; вывод символов перевода строки
callshowString
popdx
ret
writeLineendp
; - -----------------------------------------------------------------------------------------
; Преобразование строки, содержащей десятичные символы, в число.
; Строка должна содержать строковое представление целого числа в диапазоне 0. .65535.
;
; Параметры:
; ds: si - указатель на первый обрабатываемый символ исходной строки
; cx - количество символов (беззнаковое число)
;
; Возвращаемое значение:
; ax - результат преобразования
; cf -
; = 0 в случае успешного преобразования
; = 1 в случае ошибки преобразования
;
; Модификация регистров:
; ax, flags. cf
; - -----------------------------------------------------------------------------------------
dec2intproc
pushbx
pushcx
pushdx
pushsi
cmpcx, 0; проверка: количество символов 1. .5
jedec2int_error
cmpcx, 5
jadec2int_error
xorax, ax; обнуление результата
xorbx, bx; обнуление регистра-приемника
clc; сброс флага ошибки
dec2int_loop: ; цикл обработки символов исходной строки
movbl, byte ptr [si] ; читать очередной символ
cmpbl, '0'; если меньше 0, ошибка
jbdec2int_error
cmpbl, '9'; если больше 9, ошибка
jadec2int_error
subbl, '0'; вычесть код символа 0
movdx, ax; умножение на 10 содержимого ax:
shlax, 1; ax = 2x
jcdec2int_error
shlax, 1; ax = 4x
jcdec2int_error
addax, dx; ax = 4x + x = 5x
jcdec2int_error
shlax, 1; ax = 10x
jcdec2int_error
addax, bx; добавить промежуточный результат преобразования
jcdec2int_error
incsi; перейти к следующему символу
loopdec2int_loop
jmpdec2int_exit
dec2int_error: ; ошибка преобразования
xorax, ax; обнулить результат
stc; установить флаг ошибки
dec2int_exit:
popsi
popdx
popcx
popbx
ret
dec2intendp
; - ----------------------------------------------------------------------------------------
; Преобразование числа в десятичное строковое представление.
; Полученная строка завершается символом $.
;
; Параметры:
; eax - исходное число
; es: di - указатель на первый символ буфера для выходной строки
;
; Возвращаемое значение:
; выходная строка
;
; Модификация регистров: нет
; - ----------------------------------------------------------------------------------------
int2decproc
pusheax
pushebx
pushcx
pushedx
pushdi
xorebx, ebx
movbl, 10; множитель
xorcx, cx; обнуление счетчика символов
int2dec_loop: ; начало цикла преобразования
xoredx, edx; обнуление промежуточного результата преобразования
divebx; деление ax на 10, в dl - остаток от деления
adddl, '0'; перевод в ASCII
pushdx; сохранение результата в стеке
inccx; увеличить счетчик символов
testeax, eax; проверить ax на 0
jnzint2dec_loop; если что-то осталось,
; продолжить цикл преобразования
cld; направление обработки строк - вперед
int2dec_store: ; цикл формирования конечного результата
popax; восстановить цифру из стека
stosb; записать в результат
loopint2dec_store; проверка окончания цикла
movbyte ptr [di], '$'; добавить символ завершения строки
popdi
popedx
popcx
popebx
popeax
ret
int2decendp
; - -------------------------------------------------------------------------------------- - end start; конец программы
; - ---------------------------------------------------------------------------------------
Литература
1. Бойко В.И. и др. Схемотехника электронных систем. Микропроцессоры и микроконтроллеры. - СПб.: БХВ-Петербург, 2004. .
2. Гутников В.С. Интегральная электроника в измерительных устройствах.2-е изд., перераб. и доп. - Л.: Энергоатомиздат. Ленигр. отд-ние, 1988.
3. Джордейн Р. Справочник программиста персональных компьютеров типа IBM PC, XT и AT. - М.: Финансы и статистика, 1992
4. Зубков С.В. Assembler для DOS, Windows и UNIX. - М.: ДМК Пресс, 2000.
5. Кулаков В. Программирование на аппаратном уровне. Специальный справочник. - СПб: Питер, 2001.
6. Мячев А.А., Степанов В.Н. Персональные ЭВМ и микроЭВМ. Основы организации: Справочник / Под ред.А. А. Мячева. - М.: Радио и связь, 1991.
7. Использование Turbo Assembler при разработке программ. - Киев: «Диалектика», 1994
8. Фролов А.В., Фролов Г.В. Операционная система MS DOS. - М.: «Диалог-МИФИ», 1992
9. Юров В.И. Assembler. - СПб: Питер, 2000
10. http: // www. gelezo. com
Подобные документы
Изучение принципов построения цифровых устройств различной функциональной сложности – от логических элементов до микропроцессоров. Приминение компактной микроэлектронной "памяти" в современной электронной аппаратуре самого различного назначения.
курсовая работа [756,6 K], добавлен 19.11.2010Комплексные характеристики возможностей микропроцессора, базовая структура системы. Понятие архитектуры микропроцессора. Классификации микропроцессоров по типу архитектуры. Особенности программного и микропрограммного управления, режимы адресации.
реферат [100,7 K], добавлен 20.09.2009Общая структура микропроцессора. Жизненный цикл программного обеспечения. Проектирование схемы операционного блока, создание временных диаграмм с использованием средств Microsoft Office и в среде OrCAD. Разработка алгоритма хранения значений констант.
курсовая работа [839,5 K], добавлен 24.07.2013Выбор и описание прототипов разрабатываемого устройства. Разработка структурной и принципиальной схемы. Обоснование программного обеспечения, используемого в разработке продукта. Моделирование устройство. Формирование программы для микропроцессора.
курсовая работа [2,0 M], добавлен 10.11.2014Разработка компьютерной системы для считывания данных по последовательному порту и вывода обработанной информации на LCD индикатор. Выбор и обоснование режимов работы узлов микроконтроллера. Проектирование программного обеспечения микропроцессора.
курсовая работа [380,5 K], добавлен 14.10.2010Назначение, основные функции процессора, его конвейерная архитектура (pipelining) и технология изготовления. Отличительные особенности архитектуры фон Неймана. Характеристика основных видов процессоров. Структура и функционирование микропроцессоров.
курсовая работа [142,6 K], добавлен 07.05.2010Функциональная схема микропроцессора Intel 8086 (i8086). Формирование физического адреса памяти, выборка команд из памяти и запись их в очередь команд. Система команд процессора. Суть защищенного режима, переход из защищенного режима в реальный режим.
практическая работа [93,3 K], добавлен 24.03.2013Разработка и проектирование устройства подсчета числа пассажиров, перевозимых транспортным средством на основе микропроцессора. Методика и этапы составления программного обеспечения для организации работы данного устройства, необходимая документация.
курсовая работа [114,5 K], добавлен 07.12.2011Выбор режимов адресации, посредством которых будет осуществлен доступ к данным. Этапы создания программы. Характеристика таблицы символов и полученного файла листинга. Анализ изменения состояния регистра IP при выполнении команд JMP, Jcc, LOOPx.
курсовая работа [4,9 M], добавлен 25.03.2012Характеристики, класификация и структура типового микропроцессора. Основные типы данных микропроцессора: непосредственные, простые и сложные. Назначение информационно-правовых систем и их виды. Принципы проектирования информационного обеспечения.
курсовая работа [112,7 K], добавлен 25.03.2015