Лабораторная работа № 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