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

Курсовая работа с языка прграмування „ Ассемблер « на тему: „ Программирование на языке Ассемблер» . . Содержание Введение

  1. Сегментация памяти.
  2. Команды пересылки muv.
  3. Команды передачи данных.
  4. Работа с стеком (команды pop и push).
  5. Арифметические команды.
Сегментация памяти. Перед тем как изучать регистры и команды процессора 8086 необходимо понять, как он адресует память, используя системные сегменты и смещения. Регистр — небольшая по размеру память специального назначения. Используя для представления значения адреса 20 бит, 8086-й процессор может иметь доступ к 1 Мбайта памяти. DOS ROMBIOS и другие программы, которые находятся в памяти ПК уже занимают определенное место в памяти, поэтому остальные программы записываются, используя меньшее пространство памяти; до 640 кБ. Независимо от того, сколько памяти может адресовать процессор, наименьшим блоком памяти является 8-битный байт. Каждый байт имеет свое уникальное местоположение, которое называется физическим адресом, по нему программы могут читать и записывать информацию...Процессор 8086 используется только 16-битные регистры. Для доступа ко всему мегабайта памяти, используется метод сегментации памяти.
Запчасти на двигатель R180

Сегментация памяти — метод, который используется процессором 8086 для разделения большого адресного прстору на логические 64 кБ фрагменты. С помощью этого метода адресов конкретного байта может быть выражен двумя значениями: за адресом фрагмента сегмента и 16-битным смещением от начала сегмента. Эта комбинация значений сегмента и смещения, называется логической адресу. Если в компьютере 64 кБ памяти, то для задания адрес любого байта достаточно 16 бит, с помощью которых представляются значения от 0 до 65535 (216-1) или заокруглено — до 64 кБ . СП. Тема 1.5: Команды МП 8088/86. Команды передачи данных. В зависимости от выполняемых функций все команды CPU 8086 делятся шесть категорий:

  • Команды передачи данных.
  • Алгоритмические команды.
  • Логические команды.
  • Команды управления потоком.
  • Команды управления процессором.
  • Команды для работы со строками.
1.Команды передачи данных. Эти команды делятся на четыре части: общие, в / в, адресные и флагов. Операнды справа от имени команды определяют необходимые ей элементы данных. Их может быть 2,1 или ни одного. Рассмотрим основные команды. 2.Команда mov. Эта команда часто встречается в программах на Аs. Для mov нужны два операнда: операнд — источник иоперанд — назначения; источник записывается после назначения: mov назначени источник (данные из источника передаются в направлении стрелки, справа налево). Например: 1) mov ax bx; ax bx значение регистра bx пересылается в регистр ах. Если значение ах = 0000 bx = 0123h, то после выполнения mov значение ах станет равняться 0123h, bx не изменится.
  1. mov cx,; ax.
Пересылает значение, которое находится в в регистер вост. Метка num Pages определяет адрес в памяти, а соответствует данным записанным по этому адресу. То есть метки определяют адреса, по которым данные хранятся в памяти 3) mov, dl; dl значение с 8 битного регистра dl пересылаются по адресу, на который указывает метка. Такая пересылка данных копирования значения одного регистра в другой и перемещения данных из регистра в память одна из крупнейших общих операций в программировании на Аs. Однако mov не может пересылать данные непосредственно между двумя адресами памяти. Поэтому, запись mov, некорректно, чтобы пересылать значение, записанное в maxCount по адресу count нужно выполнить два шага и использовать промежуточный регистер mov ax,; ax mov, ax; ax Ознайомимся с использованием команды mov на примере программы MOV. ASM (практическое занятие). Работа с стеком (команды pop и push ). C Теков пам ' Пять. Стек это специальный сегмент памяти, используемый некоторыми командами процессора 8086.Положение и размер стека (до 64 кБт) определяются программой и программистом. Cами простой способ создания стека заключается в использовании директивы STACK. Стек выполняет три основные функции:
  1. Временное сохранение значений регистров;
  2. Сохранение адресов возврата из подпрограммы;
  3. Сохранение динамических переменных.
Последний более характерен при работе с высокоуровневыми языками программирования. Как работает стек. (Принцип работы стека). Стек напоминает гору тарелок. Верхнюю тарелку легко взять, но чтобы добраться до тарелки, которая находится снизу, нужно снять все тарелки над ней. Размещение новой порции с вершины на вершину стека называется проталкиванием в стек (push). Удаление, порции с вершины стека, которое приводит к поднятию на один уровень последних порций, на 3 выталкиванием стека (pop) байта в стеке. При проталкивании в стек последней порции она первая и выталкивается, поэтому такой тип стека называется LIFO-стек (LAST — IN — First — Out останний — прийшов — первый — уходит). В отличие от тарелок, значение в памяти ПК физически не могут передвигаться вниз или вверх. Поэтому для моделирования передвижения значений в стеке необходимо использовать регистры, которые определяют базовый размер стека и смещение вершины стека, то есть местоположение верхнего значения в стеке. Сегментный регистр ss содержит адрес начала стекового сегмента. В регистре sp находится смещение вершины стека относительно этого сегмента. стеков сегмент.

0F00 0000
0002
0004
0006
ss: sp 3 0008
ss: sp 2 000A
ss: sp 1 000C
на рис.4.4 изображено, как размещается в памяти небольшой сегмент из 12 байт. В регистре ss находится адрес начала стекового сегмента 0F00.Регистр sp указывает на смещение относительно йиеи начального адреса в интервале от 0000 до 000А. Останний байт стека имеет смещение 000В. Пид элементы стека выделяют 2 байта слова ...

Комментарии и пинги к записи запрещены.

Комментарии закрыты.