КАТЕГОРИИ: Архитектура-(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) |
Текстовые редакторы для написания программ на ассемблере
Лекция 04. Создание программ на языке Assembler. Регистры общего назначения Микропроцессор 80386 Микропроцессор 80386 - это 32-разрядный процессор, разработанный для поддержки многозадачных операционных систем. Имея 32-разрядные регистры и тракты передачи данных, микропроцессор 80386 обеспечивает 32-разрядный формат как адреса так и данных. Микропроцессор 80386 адресуется к физической памяти объемом до 4 Гбайт и к виртуальной памяти до 64 Тбайт (246). Встроенная система управления памятью микропроцессора 80386 и защиты включает в себя регистры преобразования адреса, средства защиты и поддержки операционных систем и улучшенное многозадачное аппаратное обеспечение. Конвеер команд, высокая разрядность шин, встроенное преобразование адреса значительно уменьшают среднее время выполнения команды. Эти архитектурные особенности разработки позволяют микропроцессору 80386 выполнять 3-4 млн. команд в секунду. 80386.
Микропроцессор 80386 содержит восемь 32-разрядных регистров общего назначения ЕАХ, ЕВХ, ЕСХ, EDX, ESP. ЕВР, ESI и EDI. Регистры ЕАХ, ЕВХ, ЕСХ и EDX являются полными 32-разрядными регистрами: младшие 16 разрядов каждого регистра общего назначения могут быть достурны отдельно. Эти 16-разрядные регистры адресуемы как АХ, ВХ, CX, DX, SP, BP, SI, DI. Четыре из этих младших 16 разрядных регистров АХ, ВХ, СХ и DX могут быть разделены на 8-разрядные (ВН и BL). Это дает возможность пользователю обращаться к восьми 8-разрядным регистрам. Названия регистров, начинающихся с буквы Е (таких, как ЕАХ), соответствуют полным 32 разрядным величинам. Названия регистров, заканчивающихся буквой Х (таких как EBX) соответствуют 16-разрядным величинам. Названия 8-разрядных заканчиваются Н или L (АН, AL). где Н означает старшие разряды а L – младшие. Пара 32 разрядных регистров (E)SP (указатель стека) и (ЕBР (указатель базы), называемая -регистрами базы, обычно используются для работы со стеком определяют смещение для текущей ячейки стека. Пара регистров (E)SI индекс источника и (Е)DI (индекс приемника), называемая индексными регистрами, используют как значение индексов для увеличения или уменьшения при пошаговом перемещении через комплексные структуры данных.
Допустимыми символами при написании текста программ являются: 1. Все латинские буквы A-Z, a-z. При этом заглавные и прописные буквы считаются эквивалентными. 2. Цифры от 0 до 9. 3. Знаки?, @, $, _, &. 4. Разделители:,. [] () <> {} + / * %! " "? \ = # ^ Предложения ассемблера формируются из лексем, представляющих собой синтаксически неразделимые последовательности допустимых символов языка, имеющие смысл для транслятора. Лексемами являются: — идентификаторы — последовательности допустимых символов, использующиеся для обозначения таких объектов программы, как коды операций, имена переменных и названия меток. Правило записи идентификаторов заключается в следующем. Идентификатор может состоять из одного или нескольких символов. В качестве символов можно использовать буквы латинского алфавита, цифры и некоторые специальные знаки — _,?, $, ©. Идентификатор не может начинаться символом цифры. Длина идентификатора может быть до 255 символов, хотя транслятор воспринимает лишь первые 32, а остальные игнорирует. — цепочки символов — последовательности символов, заключенные в одинарные или двойные кавычки; — целые числа в одной из следующих систем счисления: двоичной, десятичной, шестнадцатеричной. Отождествление чисел при записи их в программах на ассемблере производится по определенным правилам. Десятичные числа не требуют для своего отождествления указания каких-либо дополнительных символов. Для отождествления в исходном тексте программы двоичных чисел необходимо после записи нулей и единиц, входящих в их состав, поставить латинское «b». К примеру, 10010101b. — операнды — это объекты (некоторые значения, регистры или ячейки памяти), на которые действуют инструкции или директивы, либо это объекты, которые определяют или уточняют действие инструкций или директив. Операнды могут комбинироваться с арифметическими, логическими, побитовыми и атрибутивными операторами для расчета некоторого значения или определения ячейки памяти, на которую будет воздействовать данная команда или директива. Рассмотрим классификацию операндов, поддерживаемых транслятором ассемблера. — Постоянные или непосредственные операнды — число, строка, имя или выражение, имеющие некоторое фиксированное значение. Имя не должно быть перемещаемым, то есть зависеть от адреса загрузки программы в память. — Адресные операнды - задают физическое расположение операнда в памяти с помощью указания двух составляющих адреса: сегмента и смещения.
— Перемещаемые операнды — любые символьные имена, представляющие некоторые адреса памяти. Эти адреса могут обозначать местоположение в памяти некоторой инструкции (если операнд — метка) или данных (если операнд — имя области памяти в сегменте данных). Перемещаемые операнды отличаются от адресных тем, что они не привязаны к конкретному адресу физической памяти. Сегментная составляющая адреса перемещаемого операнда неизвестна и будет определена после загрузки программы в память для выполнения. К примеру: Состав (основные модули tasm.exe; tlink.exe; td.exe)
Дата добавления: 2014-01-05; Просмотров: 709; Нарушение авторских прав?; Мы поможем в написании вашей работы! Нам важно ваше мнение! Был ли полезен опубликованный материал? Да | Нет |