Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
СППО_все_шпоры_разом.docx
Скачиваний:
21
Добавлен:
18.04.2019
Размер:
96.32 Кб
Скачать

17. «Организ. Циклов»

При организ.использ.команды:inc ,deс,что означ. добавление или вычит. 1 из целого числа,помещённого в ячейку памяти или в регистр общ.назнач. Цикл можно организ. исп-я операнды inc ,dec и усл. и безусл переходы.

Есть специал.команды циклов.Loop-метка перехода, означает повторить цикл. Выполн.команды заключ. в след:1)вычитание 1 из регистра CX 2)сравнен. CХ с 0(если сх=0,то управл.передается на след команду после цикла.если нет,то осущ.передача управления на метку перехода). LoopE/LoopZ-повтор цикл пока СХне станет =0(если СХ>0 управл. передается на след команду после цикла.если=0 то переходин управл. на метку перехода.).Особенность команд цикла заключается в том,что использ.регистр общ.назнач СХ,как счетчик числа повтора циклов. При их использ.необходимо СХ записывать кол-во повторений.Недостаток-реализ.только короткие переходы.Для работы с длинными переходами используют команды условного и безусловного перехода.

Asm

mov ax,5

cmp ax,0

JG @ C1

JLE @ L1

------

@G1: mov ax,5

Jmp @exit1

@L1:mov ax,1

@exit;

end;

Организ.цикла:

asm

mov cx,lo

@ start: add ax,1

loop @ start

end;

11.Регистры общего назначения (рон)

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

Регистры (16бит): AX, BX, DX, CX

Старшая часть регистра (8бит): AH, BH, DH, CH

Младшая часть регистра (8 бит): AL, BL, DL, CL

Расширенный регистр (32бита): EAX, EBX,EDX, ECX

У любого РОНа есть спец. функции.

AH - аккумулятор, исп-ся для операций ввода, вывода, сложения. AL - исп-ся для операции над байтами и для преобраз-я десятичных чисел. AH – исп-ся для умножения и деления байтов.

BH – базовый регистр, исп-ся при адресации данных в памяти.

CH – счетчик. Исп-ся как счетчик числа повторений цикла и в кач-ве номера позиции элемента данных при операциях над строками.

DH – регистр данных. Исп-ся в операциях ввода, вывода как номер порта.

При работе с данными процессоры имеют дело с сегментами данных, начальные адреса которых хранятся в сегментных регистрах ECS, EDS, EES, ESS.

СS – рег. сегмента команд, указывает на сегмент, седержащий текущую исполняемую команду. Для получения адреса след. команды значение необходимо увеличить на шаг смещения.

SS – рег. сегмента стека. Указ-т на текущий сегмент стека, т.е. области памяти предназначены для временного хранения данных или адресов.

DS – рег. сегмента данных. Указ-т на текущий сегмент данных, который обычно содержит исполняемые программой переменные.

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

Регистры смещения – исп-ся для хранения относительных адресов ячеек памяти внутри сегментов.

IP – хранит смещения адреса текущей команды программы.

SP – указ-т на вершину стека. Это смещение относ. начала стека.

BP – записывает начальный адрес поля памяти, непосредственно отведенный от стека.

SI, DI – предназначены для хранения адресов индексов источника и приемника данных при операциях над строками и др. структурами данных.

Регистр флагов

FL – рег., в котором фиксируется информ. о текущем состоянии процессора.

Флаги (1 флаг-1бит):

OF – фл. переполнения, если равен 1=>наличие ошибки в операциях со знаком.

DF – фл. направления, исп-ся в командах работы со строками. Если =1, то рег. индексов, используемых командой работы со строками, увеличатся на 1 при каждом след. выполнении команды. Если =0, то рег. будет уменьшаться на 1.

FL – фл. прерывания. Если =1, то программа пользователя может реагировать на прерывания.

TF – фл. трассировки. Если =1, то разрешается выполнение программы по шагам.

SF – фл. знака. =1, если в результате выполнения операции над числами со знаком получается отриц. число.

ZF – фл. нуля. =1, если результатом операции является нулевое значение.

AF – фл. доп. переноса. Исп-ся в двоично-десятичной арифметике. =1, если результат операции не является десятичным числом.

FL – фл. четности. =1, если результат операции имеет четное кол-во битов равных 1 в двоичном представлении результатов.

CF – фл. переноса. В него заносится перенос или заЁм из знакового старшего разряда числа.

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