Помощь в написании студенческих работ
Антистрессовый сервис

Программирование циклических и типовых программ на Ассемблере для микропроцессора КР580ИК80

Лабораторная работаПомощь в написанииУзнать стоимостьмоей работы

Заносим в ячейку памяти, начиная с номера 8500, четыре числа I1=4, I2=8, I3=6, I4=3. Логические команды над аккумулятором и регистром (табл.1.1). Команды инкрементирования и декрементирования (табл.1.2). Таблица 1.2 — Инкрементирование и декрементирование. Команды изменения содержимого аккумулятора (табл. 1.3). Таблица 1.3 — Изменение содержания аккумулятора. 1, то Ag>C2K, иначе (С2К)+3> С2К… Читать ещё >

Программирование циклических и типовых программ на Ассемблере для микропроцессора КР580ИК80 (реферат, курсовая, диплом, контрольная)

Дон ГТУ

Лабораторная работа № 4

Программирование циклических и типовых программ на Ассемблере для микропроцессора КР580ИК80

Цель лабораторной работы — изучить программирование циклических и типовых программ на Ассемблере для микропроцессора КР580Ик80.

1 ТЕОРЕТИЧЕСКАЯ ЧАСТЬ

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

1.1 Логические команды над аккумулятором и регистром (табл.1.1)

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

Таблица 1.1 — Логические команды

Команды

Признаки

Выполняемые функции

Команды

Признаки

Выполняемые функции

Z

N

C

H

P

Z

N

C

H

P

ANAR

(A)^®>A

ANAM

(A)^(M)>A

ANI Im

(A)^Im>A

XRAR

(A)®>A

XRI Im

(A)Im>A

XRAM

(A)(M)>A

ORAR

(A)®>A

ORI Im

(A)Im>A

ORAM

(A)(M)>A

CMPR

(A)~®

CPI Im

(A)~Im

CMPM

(A)~(M)

Условные обозначения: R — общее обозначение одного из регистров общего назначения (РОН) — A, B, C, D, E, H, L; M — адрес ячейки памяти, хранящийся в двух смежных РОН H и L; SP — стек; YSP — указатель стека; CzK — счетчик команд; Im — непосредственный операнд; Ag — адрес ячейки памяти, с которой работает данная команда. Запись ® означает содержимое регистра, нуль в графике «признаки» — установку в нуль при выполнении команды, а плюс — установку признака в соответствии с правилом установки флага.

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

ANA «и» XRA «искл. или» ORA «или»

0 ^ 0>0 00>0 00>0

0 ^ 1>0 01>1 01>1

1 ^ 0>0 10>1 10>1

1 ^ 0>0 11>0 11>1 1 ^ 1>0

Команда CMP вычитает из содержимого аккумулятора второй операнд (не изменяя оба), формирует признаки по правилам команд вычитания.

1.2 Команды инкрементирования и декрементирования (табл.1.2)

Примите к сведению, что команда INR (инкрементирование) увеличивает на единицу содержимое регистра или байта памяти, а команда DCR (декрементирование) уменьшает на единицу это содержимое. Эти команды не используют и не изменяют значение бита переноса, а остальные биты признаков вырабатывают по общим правилам.

Таблица 1.2 — Инкрементирование и декрементирование

Команды

Признаки

Выполняемые функции

Z

N

C

H

P

INR R

;

®+1>R

INR M

;

(M)+1>R

DCR R

;

®-1>R

DCR M

;

(M)-1>R

1.3 Команды изменения содержимого аккумулятора (табл. 1.3)

Команды этой группы работают только с содержанием аккумулятора, поэтому адресной команды не имеют.

Таблица 1.3 — Изменение содержания аккумулятора

Команды

Признаки

Выполняемые функции

Z

N

C

H

P

RLC

;

;

;

;

Am>Am+1, A7>Ao, A7>C

RRC

;

;

;

;

Am+1>Am, Ao>A7, Ao>C

RAL

;

;

;

;

Am>Am+1, C>Ao, A7>C

RAR

;

;

;

;

Am+1>Am, Ao>C1, C>A7

CMA

;

;

;

;

инвертирование

Обратите внимание, что команда RLC устанавливает бит переноса в состояние, равное значению старшего разряда сумматора. Содержимое сумматора циклически сдвигается влево на одну позицию с переносом значения самого старшего разряда в самый младший разряд сумматора.

1.4 Команды изменения признака (флага) переноса

Примите к сведению, что для изменения флага переноса используются две команды: STS — установка в один; CMC — установка в 0.

1.5 Команды условных переходов

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

Имейте в виду, что если заданное в операции условие выполняется, адрес из второго и третьего блока команды заносится в счетчик команд, т. е. выполнение программы начинается с команд расположенных по этому адресу, в противном случае выполняется следующая по порядку команда Таблица 1.4 — Команды условных переходов

Команды

Пояснение

JMP Ag

Ag>C2K (безусловный переход к команде Ag)

JC Ag

(C)=1, то Ag>C2K, иначе (С2К)+3> С2К

JNC Ag

(C)=0, то Ag>C2K, иначе (С2К)+3> С2К

JZ Ag

(Z)=1, то Ag>C2K, иначе (С2К)+3> С2К

JNZ Ag

(Z)=0, то Ag>C2K, иначе (С2К)+3> С2К

JP Ag

(N)=0, то Ag>C2K, иначе (С2К)+3> С2К (переход по «+»)

JM Ag

(N)=1, то Ag>C2K, иначе (С2К)+3> С2К (переход по «-»)

JPE Ag

(P)=1, то Ag>C2K, иначе (С2К)+3> С2К (переход по четности)

2 ЭКСПЕРИМЕНТАЛЬНЫЕ ИСЛЕДОВАНИЯ

Задание: Найти

Заносим в ячейку памяти, начиная с номера 8500, четыре числа I1=4, I2=8, I3=6, I4=3.

Используя полученные числа, составим программу, наберем программу на ЭВМ, и получим результат.

8500 04

8501 08

8502 06

8503 03

Таблица 2.1 — Программа на ассемблере.

Адрес

Код команды

Метка

Мнемоника

PRG 1:

MVI B, 4

LXI H, 8500

7E

M1:

MOV A, M

M2:

DCR B

CA

JZ M3

820А

INR H

820В

BE

CMP H

820C

820D

820E

DA

JC M1

820F

C3

JMP M2

7E

M3:

MOV A, M

5F

MOV E, A

MVI D, 03

A7

ANA A

LXI H, 0008

821A

821B

DE

MVI C, 0

821C

7B

MOV A, E

821D

RAL

821E

5A

MOV E, D

821F

MOV A, C

RAL

SUB D

D2

JNC M5

ADD D

4F

M5:

MOV C, A

3F

CMC

7E

MOV A, M

RAL

822A

MOV H, A

822B

2D

DCR L

822C

822D

822E

C2

JNZ M4

822F

RST

Показать весь текст
Заполнить форму текущей работой