Добавил:
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Шпоры по архитектуре ЭВМ.doc
Скачиваний:
46
Добавлен:
02.05.2014
Размер:
238.59 Кб
Скачать

17. Организация циклов. Синтаксис. Примеры.

Цикл – выполнение некоторого участка программы заданное число раз.

LOOP выполняет декремент содержимого cx (счетчик цикла), и если сх не равно 0, то осуществляет переход на указанную метку.

LOOPE =

LOOPNE > <

LOOPZ 0

LOOPNZ не 0

Пример: программа выводит на экран последовательность символов

mov cx,223 ‘ счетчик цикла

mov si,0 ‘ индекс элемента в массиве

mov al,32 ‘ код первого символа.

fill: mov symbols[si],al

inc al ‘ код следующего элемента

inc si ‘ сдвинем массив на 1 байт

loop fill

Symbols db 223 dup (‘*’) – заполняемый массив

mov ex,n – число повторений

m: …

loop m

(Синтаксис)

18. Строковые команды. Синтаксис.

Все команды для работы со строками считают, что строка источник находится по адресу в паре регистров ds:esi, т.е. в сегменте памяти указанного в ds со смещением в si, а строка приемник cs:di или cs:edi

все строковые команды работают только с одним эл-том строки: байтом, словом или 2-м словом за один раз.

movs пр, ист - копирование строки

movs b – копирует один байт

movs w – копирует 1 слово

movs d – копирует 2ое слово.1

1 из последовательности по адресу ds:si в cs:di или ds:esi в cs:edi

при использовании movs Assembler указывает параметры операндов.

с mp s пр, ист.

cmp sb

cmp sw

cmp sd2

2 команды сравнения.

lods ист.

lods b

lods w

lods d3

3 команды чтения из строки (байта, слова, 2сл). Копируют байт, w, dw, из памяти по адресу ds:si или ds:esi в регистр al, ax или eax

stos пр

stos b

stos w

stos d4

4 запись в строку. Копирует AL, AX или EAX в cs:di, cs:edi

ins ист, dx

ins b

ins w

ins d5

5 чтение из порта I10, считывает из порта I10(номер указан в dx) в память по адресу cs:di (cs:edi)

outs dx, пр

outs b

outs w

outs d6

6 запись строки в порт I10 из памяти по адресу ds:si (ds:esi)

19. Расширение mmx

Начиная с процессоров Intel Pentium все процессоры поддерживают MMX, предназначенные для увеличения эффективности программ, работающих с большими потоками данных. (обработка изображений, звук, видео).

MMX – представляет несколько новых типов данных, регистров и команд, позволяющих осуществить логические и арифметические операции на несколькими числами одновременно.

Регистры MMX.

Расширение MMX включает в себя 8 64-х битных регистров общего назначение.

MM 7,MM 6,MM 5,MM 4,MM 3,MM 2,MM 1,MM 0. 8 регистров точно совпадают с регистрами FPU R(0)-R(7). При записи числа в регистр MMX, оно записывается в биты от 0-63 соответствующего регистра FPU.

Типы данных.

1). Учетверенное слово (8 байт) 64-битные числа.

2). Упакованные двойные слова (2 32-битных двойных слова упаковываются в 64 битный тип данных).

3). Упаковываются слова ( 4 16-битных слова, упакованное в 64-битный тип данных ).

4). Упакованные байты (8 байт, упакованные в 64-битный тип данных).

Команда MMX перемещает упакованные данные в память или в обычные регистры.

Выполняет арифметические и логические операции над каждым элементом в отдельности.

MOV D пр. ист. – пересылка двойных слов.

Команда копирует двойное слово из источника в приемник.

Регистры MMX, обычные регистры или переменные.

Если приемник регистр MMX соответствует двойному слову, то это двойное слово записывается в его младшую половину.

MOV Q пр .ист. – копирует учетверенное слово из источник в приемник.

Оба операторов не могут быть переменными.

Арифметические команды MMX.

PADDB – пр. ист.

PADDW - пр. ист. – СЛОЖЕНИЕ

PADDD - пр. ист.

Данные команды выполняют сложение отдельных элементов данных: данных, слов, двойных слов.

Регистр MMX или переменная (источник). Приемник – регистр MMX.

PSUBB - пр. ист.

PSUBW - пр. ист - ВЫЧИТАНИЕ

PSUBD - пр. ист

PMULHW пр. ист

PMULLW пр. ист - УМНОЖЕНИЕ

Источник регистр ли переменная (MMX). Приемник - регистр