Главная Контакты В избранное
  • Отчет по лабораторной работе №141 по теме: «Виды памяти в программной модели ядра МКС (на базе INTEL 8051)» по дисциплине «Вычислительные машины, системы и сети»

    АвторАвтор: student  Опубликовано: 14-12-2020, 20:59  Комментариев: (0)

     

     

     

     

    Скачать: 141.zip [244,27 Kb] (cкачиваний: 0)  

     

     

    Отчет по лабораторной работе №141

    по теме:

    «Виды памяти в программной модели ядра МКС (на базе INTEL 8051)»

    по дисциплине «Вычислительные машины, системы и сети»

     

     


    Виды памяти в программной модели ядра МКС (на базе INTEL 8051)

    1. Задача 1.1

    Следует разработать программу на базе «Простейшего цикла», заполняющую область ВПД (с 0031h по 003Dh) константой 0EEh (рисунки 1, 2 и 3).

     

    1

    Установка

    параметров

    1-го цикла

    MOV A,#0EEh

    MOV DPTR,#0031h

    2

    Основное

    действие

    цикла

    Тело цикла

    M2: MOVX @DPTR,A

    3

    Установка параметров

    следующего цикла

    INC DPTR

    MOV R2,DPL

    4

    Проверка.

    CJNE R2,#3Eh,M2

    5

    Стоп

    NOP

    а) назначение блоков и программа б) блок схема

    Рис. 1– Простейший цикл на основе CJNE R2,#d8,rel

     

    MOV A,#0EEh – записать в аккумулятор константу EEh, чтобы заполнять ею ВПД

    MOV DPTR,#0031h – Записываем в РПД константу 0031h, младший байт определяет начальный адрес заполнения.

    MOV R2,DPL – скопировать в R2 младший байт DPTR, который определяет следующий адрес.

    Рис. 2– Листинг ПП

    Рис. 3– ВПД с конечным результатом

    2. Задача 1.2

    Следует разработать программу на базе «Простейшего цикла», заполняющую первую страницу ВПД (с 0100h по 01FFh) по принципу «содержимое равно младшему байту адреса», с использованием Р2 и R1 и команды JNZ rel (рисунки 4, 5 и 6).

    1

    Установка

    параметров

    1 цикла

    MOV R1,#00h

    MOV P2,#01h

    MOV A,#00h

    2

    Основное

    действие

    цикла

    Тело цикла

    M2: MOVX @R1,A

    3

    Установка параметров

    следующего цикла

    INC R1

    INC A

    4

    Проверка.

    JNZ M2

    5

    Стоп

    NOP

    а) назначение блоков и программа б) блок схема

    Рис. 4– Заполнение 1 страницы ВПД содержимым равным адресу

    Рис. 5– Листинг ПП

    Рис. 6– Результат содержимого 1 страницы ВПД

    3. Задача 1.3

    Следует разработать программу на базе «Простейшего цикла», копирующую содержимое первой страницы ВПД (с 0100h по 01FFh) на вторую по принципу «содержимое равно младшему байту адреса», с использованием Р2 и R1 на первой и DPTR на второй странице и команды СJNЕ R1,#d8,rel (рисунки 7, 8 и 9).

    1

    Установка

    параметров

    1 цикла

    MOV R1,#00h

    MOV P2,#01h

    MOV DPTR,#0200h

    2

    Основное

    действие

    цикла

    Тело цикла

    M1: MOVX @R1,A

    MOVX @DPTR,A

    3

    Установка параметров

    следующего цикла

    INC R1

    INC DPTR

    4

    Проверка.

    СJNЕ R1,#00h,M1

    5

     

    NOP

    а) назначение блоков и программа б) блок схема

    Рис. 7 – Копирование содержимого 1 страницы ВПД во вторую

    Рис. 8 – Листинг ПП

    Рис. 9 – Результат 2 страницы ВПД, если задать 1 страницу как в зад.1.2

    4. Задача 1.4

    Следует разработать программу на базе «Простейшего цикла», обрабатывающую содержимое первой страницы ВПД (принимаемый за прямой код однобайтового числа со знаком) и помещающий его по соответствующему адресу во вторую страницу в виде дополнительного кода.

    1

    Установка

    параметров

    1 цикла

    MOV R1,#00h

    MOV P2,#01h

    MOV DPTR,#0200h

    2

    Основное

    действие

    цикла

    Тело цикла

    M2: MOVX A,@R1

    JNB Acc.7,M3

    COMP1A: …..

    M3: MOVX @DPTR,A

     

    3

    Установка параметров

    следующего цикла

    INC R1

    INC DPTR

    4

    Проверка.

    СJNЕ R1,#00h,M2

    5

     

    NOP

    а) назначение блоков и программа б) блок схема

    Рис. 7 – Помещение ДК во 2ую страницу ВПД с использованием команд программы COMP1A

    Рис. 8 – Листинг ПП

    Рис. 9 – Результат 2-ой и 3-ей страницы ВПД, если задать 1 страницу как в зад.1.2

     

    5. Задача 1.5

    Следует разработать программу, суммирующую ДК одинаковых по модулю, но противоположных по знаку чисел, помещающую результат по соответствующему адресу нижней половины страницы 02h ВПД.

    Одинаковые по модулю, но противоположные по знаку числа будут находиться в верхней части страницы ВПД (положительные) и нижней(отрицательные). ДК в верхней части равен самому положительному числу, а для нижней части он приведён по специальному методу (FFh – есть ДК числа -1, FEh –числа -2 и т.д.).

    Листинг и результат разработанной программы представлен на рисунках 10 и 11.

    Рис. 10 – Листинг ПП

    а – область ВПД б – область РПД

    Рис. 11 – Результат работы программы


    6. Задача 1.6

    Следует разработать программу перевода двухбайтного числа со знаком из прямого кода в ДК. ПК двухбайтного числа размещать по адресам 2Еh (старший байт) и 2Fh (младший байт) РПД, а полученный ДК программа должна записать по соответствующим адресам третьей строки РПД.

     

     

    ORG 0000h ; 0000h-начальный адрес сегмента кодов

    MOV 2Eh,R6 ; содержимое старшего в R6 до начала

    MOV 2Fh,R7 ; содержимое младшего в R7 до начала

    JB 2Eh.7,M1 ; если 7 бит старшего=1, ищем ДК по M1

    MOV 3Eh,2Eh ; если 7 бит старшего не=1содержимое R6 записать в 3Eh

    MOV 3Fh,2Fh ; если 7 бит старшего не=1содержимое R7 записать в 3Fh

    SJMP M2 ; прыжок в конец

    M1: MOV A,2Eh ; в А копируем старший

    ANL A,#7Fh ; старший байт умнож. на 0111 1111

    CPL A ; инверсия старшего в А

    MOV 3Eh,A ; содержимое А копируется в 3Eh (старший)

    CLR A ; очистка А

    ADDC A,3Eh ; перенос в старшем

    MOV 3Eh,A ; в А копируется содержимое 3Eh

    CLR A ; чистим А

    MOV A,2Fh ; в А копируем младший

    CPL A ; инверсия младшего в А

    ADD A,#01h ; младший +1

    MOV 3Fh,A ; содержимое А копируется в 3Fh (младший)

    M2: NOP

    END

     

     

    Отрицательное число со знаком 8E73h = 1000111001110011 (ПК) ДК: 1111000110001101=F18Dh (Рис. );

    Отрицательное число со знаком C673h = 1100011001110011 (ПК) ДК: 1011100110001101=B98Dh(Рис. );

    Положительное число 0E67h (ПК равен ДК) (Рис. );

    Положительное число 0B31h (ПК равен ДК) (Рис. ).

    Рис. 12 – Дополнительный код числа 8E73h

    Рис. 13 - Дополнительный код числа C673h

    Рис. 14 – Число 0E67h прямой код равен дополнительному

    Рис. 7 - Число 0E67h прямой код равен дополнительному

    скачать dle 10.6фильмы бесплатно