Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
namefix-126.doc
Скачиваний:
0
Добавлен:
01.03.2025
Размер:
416.77 Кб
Скачать
  • Ввод заданной программы в память

    1. Согласно вашему варианту (таблица 2 – начальная ячейка, таблица 3 – программный код) перевести программный код в машинные коды

    2. Результаты перевода занести в таблицу

    Перевод ассемблера в программный код

    пп

    Команда

    Номер ячейки

    Код

    adc R2

    0000

    xrl @R0 3A

    0001

    67

    0002

    jmp B493

    0003

    02

    0004

    В4

    0005

    93

      1. Ввести данные в память и предоставить результат преподавателю

    1. Оформить отчет

    Отчет

    В отчете необходимо:

      1. указать цель работы

      2. привести все заполненные таблицы с заголовками

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

    Таблица 1

    вариант

    ячейка

    вариант

    ячейка

    вариант

    ячейка

    вариант

    ячейка

    1

    0023

    6

    005B

    11

    0082

    16

    00A3

    2

    0030

    7

    0065

    12

    008A

    17

    00B6

    3

    0040

    8

    006B

    13

    0094

    18

    00BC

    4

    0049

    9

    0073

    14

    009D

    19

    00C2

    5

    0051

    10

    007A

    15

    00A6

    20

    00CD

    Таблица 2

    вариант

    ячейка

    вариант

    ячейка

    вариант

    ячейка

    вариант

    ячейка

    1

    1100

    6

    1600

    11

    1В00

    16

    1280

    2

    1200

    7

    1700

    12

    1С00

    17

    1380

    3

    1300

    8

    1800

    13

    1D00

    18

    1480

    4

    1400

    9

    1900

    14

    1F00

    19

    1580

    5

    1500

    10

    1А00

    15

    1180

    20

    1680

    Таблица 3

    1

    jmp 175C

    8

    ani 07

    15

    movx A,@DPTR

    xrl R3

    mov 60,R4

    cjne A 55,13

    mvi R1,07

    mov R4,A

    cpl A

    movx @DPTR,A

    mov DPTR, 00BF

    movx @DPTR,A

    mov DPTR,A3DF

    mov C A,@A+DPTR

    mov DPTR, 10FD

    2

    anl R3

    9

    ani 1F

    16

    movx A,@DPTR

    cjne A AA,0D

    ret

    dcr R6

    jc 50

    sbb A,FF

    jb bit,E7

    mov C A,@A+PC

    movx @DPTR,A

    dcr C3

    mov DPTR,1778

    mov DPTR,A3DF

    mvi A0,84

    3

    mvi 81,30

    10

    clr A

    17

    sbb R7

    nop

    mvi A0,84

    inr DPTR

    mov DPTR,A3DF

    mvi R0,01

    jz 04

    mvi R7,08

    mov DPTR, 00BF

    mov C A,@A+DPTR

    mov A,R1

    mov C A,@A+DPTR

    mov DPTR,A3DF

    4

    anl R6

    11

    mvi A,90

    18

    push E0

    mvi R1,77

    movx A,@R0

    inr DPTR

    movx @DPTR,A

    mov C A,@A+DPTR

    clr A

    cjne A 18,E5

    mvi R6,06

    mov C A,@A+DPTR

    jnb bit,10

    mov DPTR, 1000

    call 6101

    5

    orl R6

    12

    pop 83

    19

    inr DPTR

    jbc bit,4D

    clr A

    jmp F2

    inr DPTR

    jmp @A+DPTR

    movx A,@R0

    mov DPTR,A3DF

    mov DPTR, 00BF

    mov DPTR,A3DF

    xrl R6

    inr DPTR

    clr A

    6

    sbb R6

    13

    pop 82

    20

    movx A,@R0

    jb bit,B2

    movx @R0,A

    nop

    mov A,R0

    djnz R6,FA

    djnz R0,00

    movx @DPTR,A

    clr A

    movx A,@DPTR

    mvi A0,84

    mov DPTR, 10FD

    cjne A 55,13

    7

    mov A,83

    14

    movx A,@DPTR

    ret

    mov R0,A

    mov DPTR,A3DF

    mvi A,55

    mvi R0,01

    movx @DPTR,A

    movx A,@R0

    mvi 81,30

    Лабораторная работа №2 Команды пересылки данных между аккумулятором и регистрами памяти. Цель работы

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

    Ход работы

    1. Подайте на стенд питание или запустите электронную модель.

    2. Измените содержимое аккумулятора и выбранного вами регистра (данные в аккумуляторе и регистре должны быть различными, это достигается изменением содержимого аккумулятора или выбранного регистра)

    3. Записать введенные данные в тетрадь

    4. Смоделируйте команду пересылки согласно приведенному примеру

      1. Необходимо выполнить А→R0

      2. Пересылку осуществляет команда mov

      3. Перед запятой ставим куда пересылать (R0)

      4. После запятой ставим откуда пересылать (A)

      5. Итого получилась команда mov R0,A

      6. По таблице находим код команды F8

    5. Выбрать рабочую ячейку памяти (в диапазоне 1000 – 2FFF), например 1563

    6. Записать в память 1563 F8

    7. Выполнить записанную команду.

    8. Результаты занесите в таблицу, согласно примеру (указывать свой рабочий регистр!)

    Пересылка данных из аккумулятора в регистр R0

    пп

    ассемблер

    действия

    содержимое

    до пересылки

    после пересылки

    аккумулятора

    регистра

    аккумулятора

    регистра

    mov R0,A

    R0=A

    А9

    4F

    A9

    A9

    1. Аналогично выполнить пересылку данных из регистра в аккумулятор с моделированием команды и заполнением таблицы.

    2. Оформить отчет и представить преподавателю

    Отчет

    В отчете необходимо:

      1. указать цель работы

      2. привести моделирование команд

      3. привести все заполненные таблицы с заголовками

      4. сделать вывод о байтности команд пересылки данных между аккумулятором и регистрами.

    Лабораторная работа №3 Команды непосредственной загрузки регистров.

    Цель работы

    Изучить выполнение команд непосредственной загрузки регистров R0 ÷ R7 и аккумулятора.

    Ход работы

    1. Подайте на стенд питание или запустите электронную модель.

    2. Смоделируйте команду пересылки согласно приведенному примеру

      1. Необходимо выполнить А=93

      2. Выполняется действие над непосредственным числом, задачу решает команда mvi

      3. Перед запятой ставим куда пересылать (А)

      4. После запятой ставим что пересылать (данные, т.е. #8)

      5. Итого получилась команда mvi A,#8

      6. По таблице находим код команды 74

    3. Выбрать рабочую ячейку памяти (в диапазоне 1000 – 2FFF), например 129А

    4. Записать в память 129А 74 129В 93

    5. Выполнить записанную команду.

    6. Результаты занесите в таблицу, согласно примеру

    Непосредственная загрузка данных в регистры

    пп

    ячейка памяти

    машинный код

    ассемблер

    содержимое регистра

    описание

    до

    после

    129А

    74

    mvi А,93

    00

    93

    в аккумулятор записывается байт 93

    129В

    93

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

    2. Оформить отчет и представить преподавателю

    Отчет

    В отчете необходимо:

      1. указать цель работы

      2. привести моделирование команд

      3. привести все заполненные таблицы с заголовками

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

    Лабораторная работа №4 Команды пересылки между регистрами и РПД и непосредственной загрузки РПД.

    Цель работы

    Изучить выполнение команд пересылки из регистров в ячейки РПД и непосредственной загрузки РПД.

    Ход работы

    1. Подайте на стенд питание или запустите электронную модель.

    2. Смоделируйте команду пересылки из регистра в РПД либо из РПД в регистр согласно приведенному примеру

      1. Необходимо выполнить R0→[5A]

      2. Выполняется пересылка из регистра в РПД, задачу решает команда mov

      3. Перед запятой ставим куда пересылать (ad8) в данном случае адрес ячейки памяти

      4. После запятой ставим что пересылать (R0) содержимое регистра R0

      5. Итого получилась команда mov ad8, R0. (в нашем случае mov 5A,R0)

      6. По таблице находим код команды 88

    3. Выбрать рабочую ячейку памяти (в диапазоне 1000 – 2FFF), например 129А

    4. Записать в память 129А 88 129В 5А

    5. Выполнить записанную команду.

    6. Результаты занесите в таблицу, согласно примеру

    Пересылку из регистра в РПД

    пп

    адрес

    код

    ассемблер

    регистр / содержимое

    адрес РПД

    содержимое РПД

    описание

    до

    после

    129A

    88

    mov 5A,R0

    R0

    DA

    5A

    E4

    DA

    в ячейку РПД с адресом 5A записываются данные из регистра R0

    129B

    5A

    1. Аналогично выполните пересылку из РПД в регистр с заполнением таблицы

    2. Аналогично выполните запись в ячейку РПД непосредственных данных

    3. Оформить отчет и представить преподавателю

    Отчет

    В отчете необходимо:

      1. указать цель работы

      2. привести моделирование команд

      3. привести все заполненные таблицы с заголовками

      4. сделать вывод о байтности изучаемых команд.

    Лабораторная работа №5 Косвенная адресация в МПК 1816ВЕ31.

    Цель работы

    Изучить работу косвенной адресации в МПК 1816ВЕ31 на примере команд обмена информацией аккумулятора и косвенно адресованной ячейки памяти.

    Ход работы

    1. Подайте на стенд питание или запустите электронную модель.

    2. Выполните пересылку данных из аккумулятора в косвенно адресованную ячейку в соответствии с заданием по аналогии с приведенным примером:

      1. Требуется выполнить

      2. Выполняется пересылка из аккумулятора в ячейку памяти, задачу решает команда mov

      3. Перед запятой ставим куда пересылать (@R0) в данном случае косвенно (через регистр R0) адресованная ячейка памяти.

      4. После запятой ставим что пересылать (А) содержимое регистра А

      5. Итого получилась команда mov @R0, A.

      6. По таблице находим код команды F6

    3. Выбрать рабочую ячейку памяти (в диапазоне 1000 – 2FFF), например 129А

    4. Записать в память 129А А6

    5. В регистр R0 занести 6А

    6. Считать перед выполнением команды данные из ячейки РПД 6А. (если данные в нужной ячейке 6А и аккумуляторе совпадают, изменить содержимое ячейки памяти)

    7. Выполнить записанную команду.

    8. Считать данные из 6А

    9. Нарисуйте схему пересылки согласно примеру:

    Полотно 394

    Выполнение команды mov @R0, A

    1. Выполните пересылку данных из косвенно адресованной ячейки в аккумулятор в соответствии с заданием по аналогии с приведенным примером:

    2. Нарисуйте аналогичную схему обмена.

    3. Оформить отчет и представить преподавателю

    Отчет

    В отчете необходимо:

      1. указать цель работы

      2. описать процесс моделирования команды

      3. описать процесс подготовки стенда к выполнению команды с указанием считанной и записанной информации

      4. привести все схемы с заголовками

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

    Данные по регистрам и ячейкам РПД

    пп

    R

    ЯП1

    ЯП2

    пп

    R

    ЯП1

    ЯП2

    пп

    R

    ЯП1

    ЯП2

    пп

    R

    ЯП1

    ЯП2

    1

    87

    1

    67

    А9

    1

    33

    АА

    1

    0A

    2A

    0

    90

    4F

    0

    В7

    56

    0

    ВВ

    44

    0

    A0

    4A

    1

    12

    56

    1

    А5

    1

    11

    77

    1

    F6

    1F

    0

    67

    02

    0

    В3

    0

    66

    FF

    0

    D4

    4D

    1

    89

    45

    1

    26

    11

    1

    3E

    E3

    1

    56

    98

    0

    78

    А3

    0

    08

    0

    A9

    6A

    0

    54

    89

    Лабораторная работа №6 Косвенная адресация в мпк 1816ве31. Цель работы

    Изучить работу косвенной адресации в МПК 1816ВЕ31 на примере команд обмена информацией аккумулятора и непосредственно адресуемой ячейкой РПД с косвенно адресованной ячейки памяти, а также непосредственной загрузки косвенно адресованной ячейки памяти.

    Ход работы

    1. Подайте на стенд питание или запустите электронную модель.

    2. Выполните пересылку данных из непосредственно адресованной ячейки РПД в косвенно адресованную ячейку по аналогии с приведенным примером:

      1. Требуется выполнить

      2. Выполняется пересылка из ячейки памяти в ячейку памяти, задачу решает команда mov

      3. Перед запятой ставим куда пересылать (@R0) в данном случае косвенно (через регистр R0) адресованная ячейка памяти.

      4. После запятой ставим что пересылать [37] непосредственно адресованная ячейка РПД

      5. Итого получилась команда mov @R0, 37.

      6. По таблице ищем команду mov @R0, ad8. Код команды A6

    3. Выбрать рабочую ячейку памяти (в диапазоне 1000 – 2FFF), например 129А

    4. Записать в память 129А А6

    5. В регистр R0 занести 2F

    6. Считать перед выполнением команды данные из ячеек РПД 2F и 37. (если данные в ячейках 2F и 37 совпадают, изменить содержимое одной из них). Пусть, для примера, [37]=6А и [2F]=D6

    7. Выполнить записанную команду.

    8. Считать данные из 2F и 37 для проверки верности выполнения команды

    9. Нарисуйте схему пересылки согласно примеру

    10. Выполните команду пересылки данных из косвенно адресованной ячейки РПД в непосредственно адресованную ячейку

    11. Нарисуйте аналогичную схему обмена.

    12. Выполните непосредственную загрузку косвенно-адресованной ячейки РПД.

    13. Также нарисуйте схему обмена

    14. Оформить отчет и представить преподавателю

    Полотно 592

    Выполнение команды mov @R0, ad8

    Отчет

    В отчете необходимо:

      1. указать цель работы

      2. описать процесс моделирования команды

      3. описать процесс подготовки стенда к выполнению команды с указанием считанной и записанной информации

      4. привести все схемы с заголовками

      5. сделать вывод о байтности рассматриваемых команд.

    Лабораторная работа №7 Работа регистра флагов в мпк 1816ве31.

    Цель работы

    Изучить работу регистра флагов в МПК 1816ВЕ31. Определить побитную структуру флагового регистра.

    Ход работы

    1. Получить у преподавателя задание по каким конкретно флагам выполнять работу. Далее выполнить только те пункты задания, которые касаются полученного варианта.

    2. Подайте на стенд питание или запустите электронную модель.

    3. Определение флага Р (четности):

      1. обнулите регистр FL

      2. обнулите аккумулятор

      3. выполните команду inr A 5 раз, записывая значения аккумулятора и FL

      4. заполните таблицу

        Асс

        число 1 в Асс

        FL

        Hex

        Bin

        Hex

        Bin

      5. обнулите регистр FL и регистр R0

      6. выполните команду inr R0 5 раз, записывая значения регистра и FL

      7. заполните аналогичную таблицу

      8. сделайте вывод о влиянии значения регистров R0 и А на флаг Р и местонахождении флага Р внутри FL

    4. Определение флага переноса CY

      1. ввести исходные данные: Acc=Е0, FL=00, Rg=10 (Rg – выбранный вами регистр)

      2. последовательно выполните 3 раза команду add Rg

      3. на основании полученных данных заполните таблицу:

        Асс

        FL

        Hex

        Bin

        Hex

        Bin

      4. сделайте вывод о местонахождении флага CY внутри FL и когда этот флаг выставляется

    5. Определение флага дополнительного переноса АС.

      1. ввести исходные данные: Acc=0E, FL=00, Rg=01 (Rg – выбранный вами регистр)

      2. последовательно выполните 3 раза команду add Rg

      3. на основании полученных данных заполните таблицу:

        Асс

        FL

        Hex

        Bin

        Hex

        Bin

      4. сделайте вывод о местонахождении флага АС внутри FL и когда этот флаг выставляется

    6. Оформить отчет и представить преподавателю

    Отчет

      1. В отчете должны быть только те флаги, которые рассматривались в работе

      2. указать цель работы

      3. привести все заполненные таблицы

      4. в выводе привести побитную структуру регистра FL и описать при каких условиях выставляется каждый из рассмотренных флагов

    Лабораторная работа №8 Изучение арифметических операций.

    Цель работы

    Изучить виды арифметических операций в МПК 1816ВЕ31 и их влияние на флаговый регистр.

    Ход работы

    1. Подайте на стенд питание или запустите электронную модель.

    2. Изучение команд inr A / dcr A

      1. ввести исходные данные:

        • Acc=FF

        • во флаговом регистре сбросьте флаг CY

      2. выполните команду

      3. посмотрите значение флагового регистра

      4. ввести исходные данные:

        • Acc=FF

        • во флаговом регистре установите флаг CY

      5. выполните команду

      6. посмотрите значение флагового регистра

      7. сделайте выводы

        • о воздействии команды на флаги

        • о влиянии флага CY на ход выполнения команды

    3. Изучение команды add

      1. ввести исходные данные:

        • Acc=FF, Rg=02 (Rg – выбранный вами регистр)

        • во флаговом регистре сбросьте флаг CY

      2. выполните команду

      3. посмотрите значение флагового регистра

      4. ввести исходные данные:

        • Acc=FF, Rg=02 (Rg – выбранный вами регистр)

        • во флаговом регистре установите флаг CY

      5. выполните команду

      6. посмотрите значение флагового регистра

      7. сделайте выводы

        • о воздействии команды на флаги

        • о влиянии флага CY на ход выполнения команды

    4. Изучение команды adс

      1. ввести исходные данные:

        • Acc=FF, Rg=02 (Rg – выбранный вами регистр)

        • во флаговом регистре сбросьте флаг CY

      2. выполните команду

      3. посмотрите значение флагового регистра

      4. ввести исходные данные:

        • Acc=FF, Rg=02 (Rg – выбранный вами регистр)

        • во флаговом регистре установите флаг CY

      5. выполните команду

      6. посмотрите значение флагового регистра

      7. сделайте выводы

        • о воздействии команды на флаги

        • о влиянии флага CY на ход выполнения команды

    5. Расчет выполнения команды

      1. Получить у преподавателя исходные данные для расчета

      2. Рассчитать результат выполнения команды

      3. Проверить результаты расчета на стенде

    6. Оформить отчет и представить преподавателю

    Отчет

    В отчете необходимо:

      1. указать цель работы

      2. указать изучаемые команды

      3. привести расчетные и экспериментальные данные

      4. в выводе описать работу рассмотренных команд по следующим параметрам:

        • о воздействии команды на флаги

        • о влиянии флага CY на ход выполнения команды

    Лабораторная работа №9 Изучение логических операций и операций сдвига Цель работы

    Изучить выполнение логических операций и операций сдвига в МПК 1816ВЕ31и их воздействие на флаговый регистр.

    Ход работы

    1. Подайте на стенд питание или запустите электронную модель.

    2. Изучение логических команд

      1. получите у преподавателя команду для выполнения работы

      2. запишите значение флагового регистра, аккумулятора и рабочего регистра или ячейки памяти

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

      4. выполните команду

      5. посмотрите значение флагового регистра, аккумулятора и рабочего регистра или ячейки памяти

      6. полученные данные после выполнения команд внести в таблицу:

        команда

        Асс

        Rg

        FL

        воздействует на флаги

        Hex

        Bin

        Hex

        Bin

        Hex

        Bin

        до

        после

      7. сделайте вывод о воздействии команды на флаги

    3. Изучение команд сдвига

      1. получите у преподавателя команду для выполнения работы

      2. внесите в аккумулятор 10, обнулите флаговый регистр

      3. выполните команду 9 раз, записывая значения аккумулятора и флагового регистра

      4. полученные данные внести в таблицу:

        Nпп

        Асс

        FL

        Hex

        Bin

        Hex

        Bin

      5. на основании полученных данных сделать вывод о

        • цикличности команды

        • влиянии на флаг переноса

        • направлении переноса

      6. подумайте, как можно уменьшить количество операций для получения гарантированного результата?

    Отчет

    В отчете необходимо:

      1. указать цель работы

      2. указать изучаемые команды

      3. привести расчетные и экспериментальные данные

      4. сделать выводы в соответствии с заданием

    Лабораторная работа №10 Команды перехода в МПК 1816ВЕ31.

    Цель работы

    Изучить работу команд условного и безусловного перехода с использованием абсолютной и относительной адресации в МПК 1816ВЕ31.

    Ход работы

    1. Подайте на стенд питание или запустите электронную модель.

    2. Выполните команду перехода (код команды 02)

      1. запишите, какие значения вы внесли в соответствующие ячейки для выполнения указанного пункта

      2. сколько байт занимает указанная команда?

      3. на какой адрес осуществляется переход?

      4. запишите значения регистра SP до и после выполнения команды. Сделайте вывод о влиянии указанной команды на SP.

    3. повторите те же действия, записав точно такую же команду, но по другому адресу

    4. проверьте влияние значений CY и Acc (записав 0 или 1) на выполнение данной команды.

    5. сделайте вывод о виде команды

      1. с абсолютной или относительной адресацией

      2. условного или безусловного перехода.

    6. аналогичные действия (п1-п5) проделайте для одной из команд (по указанию преподавателя) с кодами 40, 50, 60, 70, 80. Выполнение команды рассмотрите для адресов перехода меньше 80

    7. Оформить отчет и представить преподавателю

    Отчет

    В отчете необходимо:

      1. указать цель работы

      2. нарисовать схемы перехода для рассмотренных вариантов

        • указать влияют ли какие-либо флаги и как на данную команду

        • отразить переход одной и той же команды, но записанной в различные ячейки памяти

      3. сделать вывод о назначении рассмотренных команд и их влиянии на флаг SP

    Лабораторная работа №11 Изучение работы стэка.

    Цель работы

    Изучить организацию перехода с возвратом и прямой загрузки / выгрузки стэка в МПК 1816ВЕ31.

    Ход работы

    1. Подайте на стенд питание или запустите электронную модель.

    2. Выполните команду перехода с возвратом call ad16 (код команды 12)

      1. запишите, какие значения вы внесли в соответствующие ячейки для выполнения указанного пункта

      2. сколько байт занимает указанная команда?

      3. на какой адрес осуществляется переход?

      4. запишите значения регистра SP до и после выполнения команды. Сделайте вывод о влиянии указанной команды на SP.

      5. повторите те же действия, записав точно такую же команду, но по другому адресу

      6. сделайте вывод о виде команды

        • с абсолютной или относительной адресацией

        • условного или безусловного перехода.

    3. выполнение команды возврата ret (код 22)

      1. запишите значения регистра SP до выполнения команды.

      2. выполните команду

      3. сравните значение SP, сделайте вывод о влиянии указанной команды на SP.

      4. запишите, на какой адрес осуществляется переход.

    4. изучение команд загрузки/выгрузки стэка (коды C0, D0)

      1. запишите данные из регистра SP и рабочей ячейки РПД до выполнения команды.

      2. выполните команду

      3. сравните значение SP, сделайте вывод о влиянии указанной команды на SP

      4. что произошло с данными в рабочей ячейке РПД и стеке?

    5. Оформить отчет и представить преподавателю

    Отчет

    В отчете необходимо:

      1. указать цель работы

      2. нарисовать схемы перехода для рассмотренных вариантов (call, ret) и обмена со стеком (push, pop)

      3. сделать вывод о

        • назначении рассмотренных команд

        • их влиянии на флаг SP

        • местонахождении стека в памяти

        • направлении роста стека

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