Организация микропроцессоров (МП К580)
Рефераты >> Программирование и компьютеры >> Организация микропроцессоров (МП К580)

Программа №12

Выбор максимального элемента массива.

Адрес

Команда

Мнемоника команды

Комментарий

000

041

LXI H

 

001

100

B1

 

002

000

B2

 

003

016

MVI C

Загрузка переменной цикла

004

005

B2

005

176

MOV A,M

Загрузка в А первого элемента

006

043

INX H

Переход к следующему элементу

007

276

CMP M

Если А>М С=0

А<М С=1

010

332

JC

Если А<М меняем местами

011

014

B2

012

000

B3

013

176

MOV A,M

Перенос в А нового максимума

014

015

DCR C

Уменьшение переменной цикла

015

302

JNZ

Если переменная цикла не равна 0 то все сначала  

016

006

B2

017

000

B3

020

062

STA

Сохранение результата в памяти

021

150

B2

022

000

B3

023

166

HLT

Конец

2.Выполнение индивидуальных заданий

Программа №1

Упорядочить пятнадцать элементов массива по возрастанию.

Адрес

Команды

Мнемоника команды

Комментарии

000

016

MVI C

Число прохождений внешнего цикла 15-1=14=16(8)

001

016

B2

002

041

LXI H

Загрузка адреса первого элемента массива

003

100

B2

004

000

B3

005

026

MVI D

Число сравнений внутри главного цикла

006

016

B2

007

106

MOV B,M

Сохр. Первый из сравниваемых элементов в B

010

043

INX H

Формирование адреса второго ср-ого элемента

011

176

MOV A,M

Сохранение второго элемента в аккумуляторе

012

270

CMP B

Сравнение аккумулятора с регистром B.A>B => флаг C=0 и наоборот

013

322

JNC

Если C=1, то элементы расположены по возрастанию и выполнять перемену их местами не нужно(ком 016-021)

014

022

B2

След. Ячейка

015

000

B3

Делитель из памяти в В

016

160

MOV M,B

Перезапись первого элемента по адресу второго

017

053

DCX H

Сформировали адрес первого элемента

020

167

MOV M,A

Сохранили под адресом первого элемента второй

021

043

INX H

Адрес первого из сравниваемых в следующем цикле

022

025

DCR D

Уменьшение переменной внутреннего цикла

023

302

JNZ

Если переменная не равна нулю переход к следующей итерации

024

007

B2

025

000

B3

026

015

DCR C

Уменьшение переменной внешнего цикла

027

302

JNZ

Если переменная внешнего цикла не равна нулю то переходим к следующей итерации

030

002

B2

031

000

B3

032

166

HLT

Конец программы.


Страница: