Главная страница
Навигация по странице:

  • SHR ( SHift Right ) і SHL (

  • Да. Лабораторная работа №17-18(1). Лабораторна робота 1718 Програмування розгалужених процесів на Асемблері


    Скачать 142 Kb.
    НазваниеЛабораторна робота 1718 Програмування розгалужених процесів на Асемблері
    Дата13.06.2022
    Размер142 Kb.
    Формат файлаdoc
    Имя файлаЛабораторная работа №17-18(1).doc
    ТипЛабораторна робота
    #588130

    ЛАБОРАТОРНА РОБОТА №17-18

    Програмування розгалужених процесів на Асемблері.
    Мета роботи: Вивчити команди умовного та безумовного переходів, навчитися програмувати на мові Асемблер процеси з розгалуженням.
    Теоретичні відомості

    1 Команди умовного переходу

    Всі команди умовного переходу можна поділити на три групи. У першу групу входять команди, що ставляться після команди порівняння. У їх мнемокодах за допомогою певних символів описується той чи інший результат порівняння, за яким відбувається перехід. Це такі символи:

    E – equal (рівно)

    N – not (не)

    G – greater (більше) - для чисел зі знаком

    L – less (менше) - для чисел зі знаком

    A – above (вище) - для чисел без знака

    B – below (нижче) - для чисел без знака

    Далі наведені назви усіх команд умовного переходу, що використовуються після команди порівняння (через слеш вказані назви-синоніми):

    Таблиця 1. Команди умовного переходу, що використовуються після команди порівняння

    Мнемокод

    Змістовна умова для переходу.

    після CMP ор1, ор2

    Стан прапорців для переходу

    для будь-яких чисел

    je

    jne

    op1=op2

    op1<>op2

    zf=1

    zf=0

    для чисел зі знаком

    jl/jnge

    jle/jng

    jg/jnle

    jge/jnl

    op1
    op1<=op2

    op1>op2

    op1>=op2

    sf<>of

    sf<>of або zf=1

    sf=of і zf=0

    sf=of

    для чисел без знаку

    jb/jnae

    jbe/jna

    ja/jnbe

    jae/jnb

    op1
    op1<=op2

    op1>op2

    op1>=op2

    cf=1

    cf=1 або zf=1

    cf=0 і zf=0

    cf=0


    До другої групи команд входять ті, що ставляться після команд, відмінних від команд порівняння, і ті, які реагують на те чи інше значення якого-небудь визначеного прапорця.

    Таблиця 2. Команди умовного переходу, які реагують на те чи інше значення прапорця

    Мнемокод

    Умова переходу

    Мнемокод

    Умова переходу

    jz

    js

    jc

    jo

    jp

    zf=1

    sf=1

    cf=1

    of=1

    pf=1

    jnz

    jns

    jnc

    jno

    jnp

    zf=0

    sf=0

    cf=0

    of=0

    pf=0


    2 Команди зсуву

    Команди SHR (SHift Right) і SHL (SHift Left) порозрядно зсувають беззнакові цілі числа вправо і вліво відповідно. Це найшвидший спосіб помножити або поділити ціле число на степінь двійки.

    Команді SHL треба передавати два операнда: SHL операнд1, операнд2

    Перший повинен бути регістром або адресою пам’яті, його вміст треба зсунути. Другий операнд визначає число позицій, на які треба зсунути. Найчастіше це безпосереднє значення. Можна використовувати в якості другого операнда і регістр, але тільки не CL — це стосується всіх операцій зсуву.

    Команда SHR працює так само, як і SHL, тільки біти зсуваються вправо.

    Команди SAL і SAR виконуються для порозрядного зсуву цілих чисел зі знаком (арифметичний зсув). Команда SAL — це зсув вліво, а команда SAR — вправо.

    Формат команд такий:

    SAL операнд1, операнд2 та SAR операнд1, операнд2

    Команда SAR зсуває всі біти, крім старшого, що позначає знак числа — цей біт зберігається. Молодший біт, як звичайно, витісняється в CF. Операнди обох інструкцій такі ж, як і у SHL і SHR.
    ПОРЯДОК ВИКОНАННЯ РОБОТИ

    1 Вивчити команди умовного та безумовного переходів.

    2 Написати com-програму згідно варіанта.

    3 Змінну ввести з клавіатури. Вона повинна дорівнювати цифрі від 0 до 9. Решта – іменовані константи. Дозволено змінювати завдання на власний розсуд, щоб отримати в результаті цілі числа.

    4 При діленні та множенні на степінь числа 2 використати команди зсуву.

    5 У програмі результат вивести на екран з використанням переривань.

    6 Зробити звіт.
    ЗМІСТ ЗВІТУ

    1 Блок-схема.

    2 Текст програми з коментарями.

    3 Скріншоти.

    4 Розробити контрольні приклади, які розмістити у таблиці:


    Данні

    Результат сом

    Калькулятор


    5 Висновки.
    Варіанти завдань


    1.

    15.

    2.

    16.

    3.

    17.

    4.

    18.

    5.

    19.

    6.

    20.

    7.


    21.

    8.

    22.

    9.

    23.


    10.

    24.

    11.

    25.

    12.

    26.

    13.


    27.

    14.

    28.


    написать администратору сайта