Добавил:
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Основы программирования на Ассемблере. Учебное пособие.pdf
Скачиваний:
0
Добавлен:
11.08.2026
Размер:
607 Кб
Скачать

Министерство образования и науки Российской Федерации

НОВОСИБИРСКИЙ ГОСУДАРСТВЕННЫЙ ТЕХНИЧЕСКИЙ УНИВЕРСИТЕТ

Секаев В.Г.

ОСНОВЫ

ПРОГРАММИРОВАНИЯ НА АССЕМБЛЕРЕ

Утверждено Редакционно-издательским советом университета

в качестве учебного пособия

НОВОСИБИРСК

2010

УДК 004.431.4(075.8) С 289

Рецензенты: Е.Л. Романов, канд. техн. наук, доц., Б.Р. Шегал, канд. техн. наук, доц.

Работа подготовлена на кафедре АСУ для студентов II курса направления «Информатика и вычислительная техника»

Секаев В.Г.

C 289 Основы программирования на Ассемблере: учеб. пособие / В.Г. Секаев . – Новосибирск: Изд-во НГТУ, 2010. – 100 с.

ISBN 978-5-7782-1473-6

Изложены теоретические основы программирования на Ассемблере, который широко используется для программирования больших интегральных микросхем в автоматизированных системах управления широкого назначения.

Пособие предназначено для студентов по направлению 230100 – «Информатика и вычислительная техника», а также может представлять интерес для широкого круга специалистов, занимающихся вопросами автоматизации сложных систем.

 

УДК 004.431.4(075.8)

ISBN 978-5-7782-1473-6

© Секаев В.Г., 2010

 

© Новосибирский государственный

 

технический университет, 2010

 

2

ПЕРЕЧЕНЬ СОКРАЩЕНИЙ

АСУ – автоматизированная система управления АЛУ – арифметико-логическое устройство ВУ – внешнее устройство ВЗУ – внешнее запоминающее устройство ВТ – вычислительная техника ЗУ – запоминающее устройство МП – микропроцессор

ОЗУ – оперативное запоминающее устройство ОП – оперативная память ОС – операционная система

РОН –регистры общего назначения УВВ – устройства ввода-вывода УУ – устройство управления ПК – персональный компьютер ША – шина адреса ШУ – шина управления ШД – шина данных

ЦВМ – цифровая вычислительная машина ЭВМ – электронно-вычислительная машина

3

ПРЕДИСЛОВИЕ

Информатика и вычислительная техника – это область науки и техники, которая включает в себя совокупность средств, способов и методов человеческой деятельности, направленных на создание и применение ЭВМ, систем и сетей в автоматизированных системах обработки информации и управления [1]. Профессиональная подготовка специалистов по направлению 230100 «Информатика и вычислительная техника» позволяет решать задачи проектирования архитектуры компо-

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

Учебное пособие по программированию на языке Ассемблера для персональных компьютеров, совместимых с IBM PC, адресовано для профессиональной подготовки специалистов по направлению «Информатика и вычислительная техника» по двум причинам: во-первых, программы, написанные на языке Ассемблера, требуют значительно меньше памяти и времени выполнения; во-вторых, знание языка Ассемблера и результирующего машинного кода дает понимание архитектуры компьютера.

4

1. АРХИТЕКТУРА МИКРОПРОЦЕССОРА i8086

Микропроцессор i8086 – это базовый 16-разрядный МП с аккуму-

лятором (АХ), с

20 линиями

адреса, что

позволяет адресоваться

к 1 Мбайту оперативной памяти [2, 3, 4]. Линий управления – 16. Ча-

стота функционирования – 10 МГц. Микросхема имеет 40 выводов.

Структурная схема МП i8086 представлена на рис. 1.1.

 

Указатели

Очередь команд

 

SP

 

Адрес/данные

 

 

20 линий

УУ

BP

 

 

 

SI

 

 

 

 

 

 

DI

 

Управление

 

IP

 

 

 

16 линий

 

 

 

 

Регистры данных

 

АХ

AH

AL

+ 5 В

ВХ

BH

BL

СХ

CH

CL

Земля

DX

DH

DL

2 линии

 

Сегментные регистры

АЛУ

 

CS

 

Синхронизация

 

 

 

SS

 

 

 

 

PSW

DS

 

 

 

ES

 

 

Рис.1.1. Структурная схема микропроцессора i8086

5

Устройство управления (УУ) декодирует байты программы и управляет работой операционного устройства и шинного интерфейса.

Операционное устройство МП состоит:

из четырех шестнадцатиразрядных регистров общего назначения

(РОН):

AX, BX, CX, DX;

четырех регистров указателей (адресных регистров SP, BP, SI, DI) и указателя команд IP;

АЛУ с регистром признаков операций (флагов) PSW;

– четырех сегментных регистров CS, SS, DS, ES.

РОН служат для хранения промежуточных результатов операций, т. е. операндов.

Каждый из этих регистров имеет некоторые специальные функции: BX – служит базовым регистром в вычислениях адреса;

CX – в командах цикла выступает неявным счетчиком;

DX – в некоторых операциях ввода-вывода содержит адрес порта. Каждый РОН может раcсматриваться как состоящий из двух неза-

висимых 8-разрядных регистров: AH, AL, BH, BL, CH, CL и DH, DL. Адресные регистры хранят 16битовые указатели (адреса) на обла-

сти памяти.

В регистре SP (Stack Pointer) находится текущий адрес вершины стека – специально организованной области памяти.

Регистр BP (Base Pointer) хранит любой базовый адрес в области стека.

Регистры SI и DI (Source и Destination Index) адресуют области па-

мяти, называемые источником и приемником данных.

Шинный интерфейс выполняет операции обмена между МП и памятью или внешними устройствами.

В сегментных регистрах CS, SS, DS, ES хранятся указатели на 64килобайтные области памяти, называемые сегментами. Значения этих указателей могут перекрываться:

CS – сегмент кода, указывает на сегмент, содержащий текущую исполняемую программу;

SS – сегмент стека;

DS – сегмент данных;

ES – дополнительный сегмент, используется при выполнении операций над строками.

Адрес байта в ячейке памяти получается суммированием содержимого одного из сегментных регистров и одного из регистров (SP, SI, DI, IP).

6

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]