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

  • ИССЛЕДОВАНИЕ РАБОТЫ КОМАНД СЛОЖЕНИЯ И ВЫЧИТАНИЯ МИКРОПРОЦЕССОРА

  • КубГТУ, Дубенко, ассемблер 3 лаба. ЛР_3. Отчёт по лабораторной работе 3 по дисциплине Языки ассемблера исследование работы команд сложения и вычитания микропроцессора


    Скачать 372.46 Kb.
    НазваниеОтчёт по лабораторной работе 3 по дисциплине Языки ассемблера исследование работы команд сложения и вычитания микропроцессора
    АнкорКубГТУ, Дубенко, ассемблер 3 лаба
    Дата18.12.2021
    Размер372.46 Kb.
    Формат файлаdocx
    Имя файлаЛР_3.docx
    ТипИсследование
    #308146
    страница1 из 4
      1   2   3   4

    МИНИСТЕРСТВО НАУКИ И ВЫСШЕГО ОБРАЗОВАНИЯ РОССИЙСКОЙ ФЕДЕРАЦИИ

    «КУБАНСКИЙ ГОСУДАРСТВЕННЫЙ ТЕХНОЛОГИЧЕСКИЙ УНИВЕРСИТЕТ»

    (ФГБОУ ВО «КубГТУ»)

    ИНСТИТУТ КОМПЬЮТЕРНЫХ СИСТЕМ И ИНФОРМАЦИОННОЙ БЕЗОПАСНОСТИ

    КАФЕДРА АВТОМАТИЗАЦИИ ПРОИЗВОДСТВЕННЫХ ПРОЦЕССОВ

    Отчёт по лабораторной работе 3 по дисциплине
    «Языки ассемблера»

    ИССЛЕДОВАНИЕ РАБОТЫ КОМАНД СЛОЖЕНИЯ И ВЫЧИТАНИЯ МИКРОПРОЦЕССОРА

    Выполнил студент 2 курса группы 20-КБ-ИБ2
    Ястребов Д.С.

    Преподаватель:
    Дубенко Ю.В.


    г. Краснодар
    2021

    Цель работы - ознакомление с группой команд микропроцессора относящихся к командам сложения и вычитания. Изучить команды:

    1. двоичной арифметики

      • сложение add, adc, inc;

      • вычитание sub, sbb, dec;

      • изменение знака neg.

    1. десятичной арифметики

      • коррекция сложения aaa, daa;

      • коррекция вычитания aas, das.

    Исследование работы команд целочисленного сложения и вычитания микропроцессора.

    В программе l31 вычисляется сумма чисел 164 и 88 (размером в 1 байт и без знака).

    Листинг l31







    ax

    bx

    cx

    dx

    si

    di

    bp

    sp

    ds

    es

    ss

    cs

    ip

    До команды

    0000

    0000

    0000

    0

    0

    0

    0

    0

    0

    0

    0

    0

    0000

    mov al,A4

    0000

    0000


















    0100



    0869



    0869



    087A



    0879

    0000

    Mov bl,58

    00A4

    0000
















    2

    Add al,bl

    00A4

    0058
















    4

    Mov ax,400C

    00FC

    0058
















    6

    Int 21

    400C

    0058
















    9



    В программе l32 вычисляется разность чисел 164 и 88

    Листинг l32







    ax

    bx

    cx

    dx

    si

    di

    bp

    sp

    ds

    es

    ss

    cs

    ip

    До команды

    0000

    0000

    0000

    0

    0

    0

    0

    0

    0

    0

    0

    0

    0000

    mov al,A4

    0000

    0000


















    0100



    0869



    0869



    087A



    0879

    0000

    Mov bl,58

    00A4

    0000
















    0002

    sub al,bl

    004C

    0058
















    0004

    Mov ax,400C

    00FC

    0058
















    0006

    Int 21

    400C

    0058
















    0009

    В программе l33 вычисляется 2008a3dbh + 0bc5df5h (числа размером N байт без знака). В результате в регистре bx окажутся старшие разряды полученного результата, а в регистре ax - младшие.

    Листинг l33







    ax

    bx

    cx

    dx

    si

    di

    bp

    sp

    ds

    es

    ss

    cs

    ip

    До команды

    0000

    0000

    0000

    0

    0

    0

    0

    0

    0

    0

    0

    0

    0000

    mov ax,0A3DBh























    0100


    0869


    0869


    087A


    0879

    0000

    mov dx,5DF5h

    A3DB



















    0003

    mov bx,2008h

    A3DB







    5DF5










    0006

    mov cx,0BCh

    A3DB

    2008h




    5DF5










    0009

    Add ax,dx

    A3DB

    2008h

    0BC

    5DF5










    000C

    Adc bx,cx

    01D0

    2008h

    0BC

    5DF5










    000E

    Mov ax,400C

    01D0

    20C5

    0BC

    5DF5










    0010

    Int 21

    400C

    20C5

    0BC

    5DF5










    0013


    В программе l34 вычисляется 2008a3dbh - 0bc5df5h (числа размером N байт без знака). В результате в регистре bx окажутся старшие разряды полученного результата, а в регистре ax - младшие.

    Листинг l34







    ax

    bx

    cx

    dx

    si

    di

    bp

    sp

    ds

    es

    ss

    cs

    ip

    До команды

    0000

    0000

    0000

    0

    0

    0

    0

    0

    0

    0

    0

    0

    0000

    mov ax,0A3DBh























    0100


    0869


    0869


    087A


    0879

    0000

    mov dx,5DF5h

    A3DB



















    0003

    mov bx,2008h

    A3DB







    5DF5










    0006

    mov cx,0BCh

    A3DB

    2008h




    5DF5










    0009

    sub ax,dx

    A3DB

    2008h

    0BC

    5DF5










    000C

    sbb bx,cx

    45E6

    2008h

    0BC

    5DF5










    000E

    Mov ax,400C

    45E6

    1F4C

    0BC

    5DF5










    0010

    Int 21

    400C

    20C5

    0BC

    5DF5










    0013



    В программе l35 вычисляется сложение -103+(-27) (числа размером 1 байт со знаком). В результате сложения дополнительных кодов этих чисел произойдёт переполнение:
    -103 = 10011001

    +

    -27 = 11100101

    1 01111110

    Листинг l35

      1   2   3   4


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