Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Voprosy_k_KR1_POIT_2012_Programmnaya_model_Nota...doc
Скачиваний:
2
Добавлен:
01.04.2025
Размер:
89 Кб
Скачать
☆
  1. Нотация языка ассемблера: формат команды:

Любая команда языка Ассемблера состоит из полей метки, мнемокода, операнда и

комментария.

Формат команды:

[МЕТКА:] код [операнд] [;комментарий]

Примеры меток:

8

Metka

.cikl

Get_cikl

Поле операнда может содержать источник и приемник, причем приемник указыва-

ется первым. Источник от приемника отделяются запятой.

Приемник, Источник

  1. Нотация языка ассемблера: виды и запись констант.

В Ассемблере используются следующие константы:

1. Двоичная – 1001010B

2. Десятичная – 1234D или 1234

3. Шестнадцатеричная – 67ADH

4. Литерал – ‘Ассемблер’.

В качестве констант можно использовать и отрицательные числа. В случае десятично-

го числа перед ним достаточно поставить знак минус. Если число двоичное или шестнадца-

теричное, то его необходимо записать в дополнительном коде.

  1. Формат задания псевдооператора.

Псевдооператоры

Псевдооператоры управляют работой Ассемблера, а не микропроцессора.

Формат задания псевдооператора:

[идентификатор] псевдооператор [операнд] [;комменарий]

Обязательным является только поле псевдооператора.

  1. Псевдооператоры определения имен

Псевдооператоры определения имен

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

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

и =. Определенные псевдооператором = имена можно переопределить, а

определенные псевдооператором EQU нельзя. Псевдооператор EQU можно использовать как

с числовыми, так и с текстовыми выражениями, а псевдооператор = только с числовыми.

Пример:

Count equ cx

Const = 512

Const = 2*const+1

  1. Псевдооператоры определения переменных, простые типы данных.

Псевдооператоры определения перенных:

[имя] db выражение [,…]

[имя] dw выражение [,…]

[имя] dd выражение [,…]

Псевдооператор db резервирует байты, dw – слова, dd – двойные слова. Выражение

может быть числовым или адресным.

Пример:

a db 4

b dw 6

с db 3*6-2 ;числовое выражение

d db a ;адресное выражение

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

указать в поле выражения вопросительный знак

c db ?

Если имя перенной не указывается, то просто резервируется память

db

  1. Псевдооператор описания сегмента, его формат.

В исходной программе должны быть определены сегменты, из которых состоит про-

грамм. Может быть определено до четырех сегментов: сегмент кода, сегмент данных, сег-

мент стека и дополнительный сегмент.

Формат описания сегмента:

Имя segment [тип подгонки] [тип связи] ['класс']

…

Имя ends

  1. Формат и назначение псевдооператора SEGMENT.

не знаю точно! Похоже на верхний вопрос. тут уточните кто и напишите. Буду признателен.

  1. Псевдооператор описания процедур, его формат

Формат описания процедур:

имя_процедуры PROC атрибут_дистанции

…

RET

Имя_процедуры ENDP

Каждая процедура должна начинаться оператором PROC и заканчиваться оператором

ENDP. Процедура должна содержать команду возврата из процедуры RET.

  1. Формат вызова процедуры.

Формат вызова процедуры:

CALL имя_процедуры

  1. Псевдооператоры управления трансляцией, формат.

Псевдооператор END отмечает конец исходной программы и указывает Ассемблеру,

где завершить трансляцию. Псевдооператор END должен присутствовать в каждой програм-

ме.

Формат оператора:

END [метка точки входа]

где метка определяет исходную программу. Например, оператор

END PROC

Отмечает конец программы PROC.

  1. Команда пересылки MOV, формат.

MOV приемник, источник ;И->П

Команда позволяет пересылать байт или слово между регистром и ячейкой памяти

или между двумя регистрами:

MOV регистр1, регистр2

MOV регистр, память

  1. Команды работы со стеком, формат.

PUSH источник ;поместить слово в стек

POP приемник ;извлечь слово из стека

  1. Команды сложения, формат.

ADD приемник, источник ;П+И->П

Оба операнда не могут быть именами переменных. Источником может быть число.

Можно складывать:

ПАМЯТЬ+РЕГИСТР

РЕГИСТР+ПАМЯТЬ

РЕГИСТР +РЕГИСТР

ПАМЯТЬ+ЧИСЛО

РЕГИСТР+ЧИСЛО

Нельзя складывать ПАМЯТЬ + ПАМЯТЬ

INC приемник П;+1->П

Приемник это регистр или ячейка памяти.

  1. Команды вычитания, формат.

SUB приемник, источник ;П-И->П

Оба операнда не могут быть именами переменных. Источником может быть число.

Можно вычитать:

ПАМЯТЬ – РЕГИСТР

РЕГИСТР – ПАМЯТЬ

РЕГИСТР – РЕГИСТР

ПАМЯТЬ – ЧИСЛО

РЕГИСТР – ЧИСЛО

Нельзя вычитать ПАМЯТЬ – ПАМЯТЬ

DEC приемник ;П-1->П

Приемник это регистр или ячейка памяти

  1. Команды умножения, формат.

множение чисел без знака:

MUL источник ;al*И->ax при работе с байтами

;ax*И->ax-dx при работе со словами

Умножение чисел со знаком:

IMUL источник ;al*И->ax при работе с байтами

;ax*И->ax-dx при работе со словами

Источник это или регистр или ячейка памяти.

  1. Команды деления, формат.

еление чисел без знака:

DIV источник ;al/Иal-ah при работе с байтами

;ax/Иax-dx при работе со словами

;al – частное, ah – остаток

;ax – частное, dx – остаток

Деление чисел со знаком:

IDIV источник ;al/Иal-ah при работе с байтами

;ax/Иax-dx при работе со словами

12

;al – частное, ah – остаток

;ax – частное, dx – остаток

Источник это или регистр или ячейка памяти.