КАТЕГОРИИ: Архитектура-(3434)Астрономия-(809)Биология-(7483)Биотехнологии-(1457)Военное дело-(14632)Высокие технологии-(1363)География-(913)Геология-(1438)Государство-(451)Демография-(1065)Дом-(47672)Журналистика и СМИ-(912)Изобретательство-(14524)Иностранные языки-(4268)Информатика-(17799)Искусство-(1338)История-(13644)Компьютеры-(11121)Косметика-(55)Кулинария-(373)Культура-(8427)Лингвистика-(374)Литература-(1642)Маркетинг-(23702)Математика-(16968)Машиностроение-(1700)Медицина-(12668)Менеджмент-(24684)Механика-(15423)Науковедение-(506)Образование-(11852)Охрана труда-(3308)Педагогика-(5571)Полиграфия-(1312)Политика-(7869)Право-(5454)Приборостроение-(1369)Программирование-(2801)Производство-(97182)Промышленность-(8706)Психология-(18388)Религия-(3217)Связь-(10668)Сельское хозяйство-(299)Социология-(6455)Спорт-(42831)Строительство-(4793)Торговля-(5050)Транспорт-(2929)Туризм-(1568)Физика-(3942)Философия-(17015)Финансы-(26596)Химия-(22929)Экология-(12095)Экономика-(9961)Электроника-(8441)Электротехника-(4623)Энергетика-(12629)Юриспруденция-(1492)Ядерная техника-(1748) |
Введение в ассемблер
Языке ассемблер ЧАСТЬ 2 Основы программирования на Написание ассемблерных программ требует знаний организации всей системы компьютера. Машинная программа представляет собой последовательность команд, которые «объясняют» компьютеру, что он должен делать. Но машинный язык труден для понимания людей – программистов. Язык ассемблера, сохраняя все значения машинного языка, в то же время более понятен и удобен программисту. Компьютер «читает» программы на языке ассемблера и переводит их в машинный код, «ассемблирует» программу. Таким образом, операцию перевода с языка ассемблера на машинный выполняет программа, называемая ассемблером. Язык ассемблера, в отличие от языков программирования высокого уровня, является машинозависимым, языком низкого уровня. По этой причине программа, написанная на ассемблере, должна отражать все особенности архитектуры микропроцессора: организацию памяти, способы адресации операндов, правила использования регистров и т. д. Из-за необходимости учёта подобных особенностей ассемблер уникален для каждого типа микропроцессоров. Для изучения основ языка ассемблера в данном курсе используется персональный компьютер (ПК), созданный на базе микропроцессоров семейства х86 фирмы INTEL (8086, 80286, 80386, 80486, Pentium) Эти микропроцессоры объединяют в семейство х86, так как в них соблюдается преемственность, то есть, программа, написанная для младшей модели, может быть без каких – либо изменений выполнена на любой более старшей модели. Обеспечивается это тем, что в основе всех этих микропроцессоров лежит система команд микропроцессора i 8086, в старшие же модели лишь добавляются новые команды. Таким образом, микропроцессор i 8086 – это база, основа для изучения всех остальных моделей. Микропроцессор i 8086 находится в так называемом режиме реальной адресации памяти или просто в реальном режиме. Микропроцессоры старших моделей работают в защищённом режиме.
ГЛАВА 1 Регистры микропроцессора i 8086 Помимо ячеек оперативной памяти для хранения данных можно использовать регистры - ячейки, входящие в состав микропроцессора и доступные из машинной программы. Доступ к регистрам осуществляется значительно быстрее, чем к ячейкам памяти, поэтому использование регистров заметно уменьшает время выполнения программ. Все регистры имеют размер слова (16 битов), за каждым из них закреплено определенное имя (AX, SP и т.п.). По назначению и способу использования 14 программно-доступных регистров микропроцессора можно разбить на следующие группы: - регистры данных (AX, BX, CX, DX); - регистры указатели и индексные (BP, SP, SI, DI); - сегментные регистры (CS, DS, SS, ES); - счетчик команд (IP); - регистр флагов (Flags). Регистры данных, регистры указатели и индексные объединяют под общим названием «регистры общего назначения». Регистры общего назначения можно использовать во всех арифметических и логических командах. В то же время каждый их них имеет определенную специализацию, (некоторые команды "работают" только с определенными регистрами). Например, команды умножения и деления требуют, чтобы один из операндов находился в регистре AX или в регистрах AX и DX (в зависимости от размера операнда), а команды управления циклом используют регистр CX в качестве счетчика цикла. Регистры BX и BP очень часто используются как базовые регистры, а SI и DI - как индексные. Регистр SP обычно указывает на вершину стека, аппаратно поддерживаемого в ПК.
Дата добавления: 2014-11-09; Просмотров: 1111; Нарушение авторских прав?; Мы поможем в написании вашей работы! Нам важно ваше мнение! Был ли полезен опубликованный материал? Да | Нет |