Программирование на языке ассемблера

Анализ книги американских авторов Левенталя Л. и Сэйвилла У. "Программирование на языке ассемблер для микропроцессоров 8080 и 8085", выявление ее достоинств и недостатков. Подробное изучение главы 3 данной книги "Распространенные ошибки программирования".

Рубрика Программирование, компьютеры и кибернетика
Вид анализ книги
Язык русский
Дата добавления 16.01.2010
Размер файла 45,6 K

Отправить свою хорошую работу в базу знаний просто. Используйте форму, расположенную ниже

Студенты, аспиранты, молодые ученые, использующие базу знаний в своей учебе и работе, будут вам очень благодарны.

Процедура. Сначала очищается флаг переноса, а затем вычисляются операнды, по байту за один раз, начиная с самых младших по значению байтов. В конце флаг переноса отражает результат вычитания самых старших байтов. Длина 0 вызывает немедленный выход без вычитания.

Двоичное умножение чисел с повышенной точностью

Умножаются два многобайтовых беззнаковых двоичных числа. Оба числа хранятся в памяти таким образом что их самые младшие по значению байты занимают самые младшие адреса. Произведение замещает множимое. Длина чисел равна 255 байт или меньше. Чтобы сохранялась совместимость с другими двоичными операциями повышенной точности, возвращаются только младшие по значению байты произведения.

Процедура. Используется обычный механизм сложения и сдвигов, при котором множимое добавляется к частичному произведению каждый раз, когда в множителе находится единичный разряд. Промежуточное произведение и множимое сдвигаются на число разрядов в множимом плюс один; этот дополнительный цикл сдвигает окончательный флаг переноса в произведении. Полное беззнаковое промежуточное произведение двойной длины хранится в ячейках памяти и в множимом. Длина 0 вызывает немедленный выход без умножения.

Двоичное деление чисел повышенной точности

Делятся два многобайтовых беззнаковых двоичных числа. Оба числа хранятся в памяти таким образом что их самые младшие по значению байты занимают самые младшие адреса. Частное замещает делимое; адрес младшего по значению байта остатка находится в регистрах H и L. Длина чисел равна 255 байт или меньше. Если нет ошибок, флаг переноса очищается; при попытке деления на ноль флаг переноса устанавливается в 1, делимое остается без изменения, а остаток равен 0.

Процедура. С помощью обычного алгоритма сдвигов и вычитания осуществляется деление, при этом сдвигается частное и делимое и 1 помещается в делимое каждый раз, когда вычитание успешно. Результат пробного вычитания хранится в дополнительном буфере; если пробное вычитание успешно, то указатели этого буфера и буфера делимого просто переключаются (т.е. буферы меняются местами). Если определяется, что делитель равен нулю, немедленно осуществляется выход из программы и устанавливается флаг переноса. В противном случае флаг переноса очищается.

Двоичное сравнение чисел с повышенной точностью

Сравниваются два многобайтовых беззнаковых двоичных числа и соответствующим образом устанавливаются флаги. Флаг нуля всегда указывает, были ли операнды равны. Если операнды были беззнаковые, то флаг переноса указывает, какой из них больше (флаг переноса = 1, если вычитаемое больше, и 0 - в противном случае). Флаг переноса устанавливается в 1, если вычитаемое больше уменьшаемого; в противном случае флаг переноса очищается. Таким образом, флаги устанавливаются так же, как если бы вычитаемое вычиталось из уменьшаемого.

Процедура. Сравниваются операнды побайтно, начиная с самых старших байтов и продолжая до тех пор, пока не будут найдены неравные соответствующие байты. Если все байты равны, осуществляется выход с флагом нуля, установленном в 1. Заметим, что пи сравнении работа происходит с операндами, начиная с самых старших байтов, в то время как при вычитании - начиная с самых младших.

ЗАКЛЮЧЕНИЕ

Проанализировав представленную к рассмотрению книгу Ланс А. Левенталь, Уинтроп Сэйвилл "Программирование на языке ассемблера для микропроцессора 8080 и 8085" выделим достоинства данной публикации:

материал изложен в хорошо структурированной форме;

авторы многократно повторяют некоторые части материала для лучшего усвоения;

книга снабжена подробным указателем, словарем терминов и приложениями.

К недостаткам данной книги можно отнести следующее:

при написании Программного раздела применялись стандартные и общеизвестные алгоритмы вычислений;

некоторые части описаний даны слишком сжато и предназначены для программистов имеющих опыт в написании программ на языке ассемблера;

отсутствует приложение с обобщающим описанием мнемоники команд и кратким пояснением выполняемых действий - необходимое для программистов начального уровня.

По нашей оценке книга предназначена для опытных программистов, желающих получить сведения для использования микропроцессоров 8080 или 8085 в прикладных целях.


Подобные документы

  • Изучение некоторых аспектов языка Ассемблера и ЭВМ в целом. Построение алгоритмов решения поставленной задачи на языках программирования Си, Ассемблер УМ и IBM PC. Составление блок-схем решений и написание программ на каждом из перечисленных языков.

    курсовая работа [691,5 K], добавлен 20.10.2014

  • Структурное программирование, схема алгоритма. Программа на языке Си для int, float. Подпрограмма ввода и вывода целых чисел на Ассемблере IBM. Тестирование и отладка, инструкция пользователя. Язык программирования Си (для int и float), этапы трансляции.

    курсовая работа [1,5 M], добавлен 21.10.2014

  • Анализ книги профессора Мюнхенского университета Юргена Плате, посвященной основным понятиям алгоритмизации и принципам написания алгоритмов, основам и правилам составления программ на языке программирования Си. Процесс работы с файлами и указателями.

    анализ книги [170,8 K], добавлен 15.05.2009

  • Организация центрального процессора. Подключение интерфейсных программируемых БИС. Методы адресации и примеры команд. Программирование таймера и контроллера прерываний. Программная модель микропроцессорной системы. Программирование на языке ассемблера.

    реферат [82,6 K], добавлен 05.12.2010

  • Исследование классификации компьютерных игр, двигателей прогресса индустрии для персональных компьютеров. Характеристика общей структуры, протокола и текста программы, сценария и процесса игры. Изучение алгоритмизации и программирования на языке Паскаль.

    реферат [2,1 M], добавлен 16.09.2011

  • Изучение основных стилей программирования: процедурного, функционального, логического, объектно-ориентированного. Язык Ассемблера, предназначенный для представления в символической форме программ, записанных на машинном языке. Многоцелевой язык Basic.

    презентация [905,2 K], добавлен 23.03.2011

  • Изучение команд для обработки строк, приемов, используемых в работе со строками, приемы их использования. Команды префикса повторения. Приемы программирования на языке Ассемблера с использованием подпрограмм, работа с командами вызова подпрограмм.

    методичка [121,0 K], добавлен 18.12.2011

  • Программная модель МП с регистр-аккумуляторной архитектурой. Особенности программирования в машинных кодах, мнемокодах и на языке ассемблера. Правила составления схем алгоритмов. Порядок ввода, редактирования, трансляции и отладки прикладных программ.

    контрольная работа [266,1 K], добавлен 21.08.2010

  • Рассмотрение общих сведений и уровней языков программирования. Ознакомление с историей развития, использования языков программирования. Обзор достоинств и недостатков таких языков как Ассемблер, Паскаль, Си, Си++, Фортран, Кобол, Бейсик, SQL, HTML, Java.

    курсовая работа [759,5 K], добавлен 04.11.2014

  • Особенности программирования на языке Паскаль в среде Турбо Паскаль. Линейные алгоритмы, процедуры и функции. Структура данных: массивы, строки, записи. Модульное программирование, прямая и косвенная рекурсия. Бинарный поиск, организация списков.

    отчет по практике [913,8 K], добавлен 21.07.2012

Работы в архивах красиво оформлены согласно требованиям ВУЗов и содержат рисунки, диаграммы, формулы и т.д.
PPT, PPTX и PDF-файлы представлены только в архивах.
Рекомендуем скачать работу.