Лабораторная работа № 9-1

Лабораторная работа № 4-3.

Цель работы: Закрепление знаний по данной теме, полученных на практических и лекционных занятий (операции пересылки данных, операции сложения, использовании аккумулятора, прямоадресуемых регистров, косвенная адресация ячеек ОЗУ, непосредственный операнд).

Ручные расчеты:

;(R2)<--(24H)+(3EH)

MOV R1,#24H;(R1)<--24H

MOV A,@R1;(A)<--((R1))

MOV R1,#3EH;(R1)<--3EH

ADD A,@R1;(A)<--(A)+((R1))

MOV R2,A;(R2)<--(A)

END

Листинг программы:

Вывод:Программа выполнена, ручные расчеты совпали с расчетами программы.

 

 

Лабораторная работа № 5-4.

Цель работы: Закрепление знаний по данной теме, полученных на практических и лекционных занятий.

Ручные расчеты:

;(00Н)-(3FН)<--00H

CLR A

MOV R0,#3FH

M1: MOV @R0,A

DJNZ R0,M1

END

Листинг программы:

 

 

Вывод:Программа выполнена, ручные расчеты совпали с расчетами программы.

Лабораторная работа № 5-7.

Цель работы: Закрепление знаний по данной теме, полученных на практических и лекционных занятий.

Ручные расчеты:

;(20H)-(2FH)<-(20H)-(2FH)+(30H)-(3FH)

MOV R7,#10H;

MOV R0,#2FH;

MOV R1,#3FH;

M1:MOV A,@R0;

ADD A,@R1;

MOV @R0,A;

DEC R0;

DEC R1;

DJNZ R7,M1;

END

Листинг программы:

Вывод:Программа выполнена, ручные расчеты совпали с расчетами программы.

Лабораторная работа № 6-4.

Цель работы: Закрепление знаний по данной теме, полученных на практических и лекционных занятий.

Ручные расчеты:

;при (F1)=0-инверсия B0 (2FH)

; при (F1)=1-инверсия B7 (2FH)

MOV R0,#2FH;

MOV A,@R0;

JF1 M1;

;инверсия B0

XRL A,#01H;

JMP M2;

;инверсия B7

M1:XRL A,#80H;

M2:MOV @R0,A;

END

Листинг программы:

Вывод:Программа выполнена, ручные расчеты совпали с расчетами программы.

Лабораторная работа № 7-1.

Цель работы: Закрепление знаний по данной теме, полученных на практических и лекционных занятий.

Ручные расчеты:

;(R6)<--(R5)-(R4)

MOV A,R4;

CPL A;

INC A;

ADD A,R5;

MOV R6,A;

NOP;

MOV R0,#3AH;

MOV A,@R0;

CPL A;

INC R0;

ADD A,@R0;

CPL A;

MOV R0,#39H;

MOV @R0,A;

END

Листинг программы:

Вывод:Программа выполнена, ручные расчеты совпали с расчетами программы.

Лабораторная работа № 9-1.

Цель работы: Закрепление знаний по данной теме, полученных на практических и лекционных занятий.

Ручные расчеты:

;(R7,R6,R5)<--((R0+2),(R0+1))*((R0))

; (R7,R6,R5)-результат частичн.сумма

;(R0)=29H

;установка начальных значений

CPL A; очистка А

MOV R7,A; R7

MOV R6,A; R6

MOV R5,A; R5

MOV R1,#08H; 8 циклов

MOV R0,#29H; указать на ячейку с

;множителем

MOV A,@R0; загрузить множитель в А

;сдвиг частичной суммы влево

М0: CLR C; очистка С

XCH A,R5; сдвиг R5 влево

RLC A; через С без

XCH A,R5; потери (А)

XCH A,R6; сдвиг R6 влево

RLC A; через С без

XCH A,R6; потери (А)

XCH A,R7; сдвиг R7 влево

RLC A; через С без

XCH A,R7; потери (А)

;сдвиг множителя влево через С

RLC A; сдвиг множителя

JNC M1; при (С)=0 обход суммир-я

;сложение частичной суммы и множителя

CPL С; очистка С

INC R0; ук-ть на сред. байт умножаемого

XCH A,R5; сложить мл.байты умножаемого и

ADDС A,@R0; част. суммы, не теряя (А)

XCH A,R5; результат в R5

INC R0; ук-ть на сред. байт умножаемого

XCH A,R6; сложить ср.байты умножаемого и

ADDС A,@R0; и част. сум, с учетом (С)

XCH A,R6; без потери (А)результат в R6

INC R0; ук-ть на старший байт умножаемого

XCH A,R7; сложить стар.байты умножаемого и

ADDС A,#00H; суммы B (C) без

XCH A,R7; потери (А), результат в R7

DEC R0; вернуть

DEC R0; указа-

DEC R0; тель

М1: DJNZ R1,M0; проверка конца цикла

END