Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > IT форум > Помощь студентам
Регистрация

Восстановить пароль

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 29.05.2010, 22:33   #1
Doink
Новичок
Джуниор
 
Регистрация: 28.05.2010
Сообщений: 3
По умолчанию цикл на ассемблере

Нужно реализовать на МП КР580ВМ80А

На УВВ пришло 8 бит(канал А к примеру, адрес канала 00H), нужно эту информацию сохранить в ОЗУ и так 7 раз.
Я так понимаю это можно сделать через функцию декремента, пока при сравнении не выдаст 0. Вот как это будет программно реализовано ??
Doink вне форума Ответить с цитированием
Старый 30.05.2010, 07:21   #2
p51x
Старожил
 
Регистрация: 15.02.2010
Сообщений: 15,829
По умолчанию

Я же вам давал ссылки на даташит, мануал по асму и описание команд...

Цикл организуетя легко, если не тупить:
Код:
mov b, count
loop:
  ....
  dec b
  jnz loop
p51x вне форума Ответить с цитированием
Старый 30.05.2010, 10:44   #3
alexcoder
Форумчанин
 
Регистрация: 31.05.2009
Сообщений: 786
По умолчанию

Код:
lxi h,8000h ;адрес озу
mvi c,7
lp: in 00h
mov m,a
inx h
dcr c
jnz lp
Помощь с программами:
vk.com/alexcoder1
e-mail: informatik101@mail.ru
alexcoder вне форума Ответить с цитированием
Старый 30.05.2010, 13:07   #4
Grag
А может и не...
Участник клуба
 
Аватар для Grag
 
Регистрация: 27.03.2010
Сообщений: 1,269
По умолчанию

А я все это вижу так... (Транслятор Xasm85)
Код:
DUNFIELD 8085 ASSEMBLER: asmprg                                       PAGE: 1

0000                         1  PPIPA	EQU	$00	;адрес порта А
0001                         2  PPIPB	EQU	PPIPA+1
0002                         3  PPIPC	EQU	PPIPB+1
0003                         4  PPIPW	EQU	PPIPC+1	;адрес регистра управляющего слова БИС
0091                         5  SWPPI	EQU	$91	;управляющее слово периферийной БИС
0007                         6  COUNT	EQU	$07	;значение счетчика байт
0000                         7  mass	DS $07		;массив байт в памяти
0007                         8  
0100                         9  	ORG 	$100
0100                        10  
0100  3E 91               11  start	MVI	A,SWPPI	;инициализация периферийной БИС
0102  D3 03               12      	OUT	PPIPW
0104  0E 07               13  	        MVI	C,COUNT	;инициализация счетика циклов
0106  21 00 00           14      	LXI	H,mass	;загрузка адреса массива
0109  DB 00               15  loop	IN	PPIPA	;чтение порта А
010B  77                   16       	MOV	M,A	;запись в массив
010C  23                   17  	        INX	H	;смещение к следующему байту
010D  0D                   18  	        DCR	C	;уменьшение счетчика байт
010E  C2 09 01          19       	JNZ	loop	;если не 0, продолжение
0111                        20  END.
Перемешивай дело с бездельем и не сойдешь с ума...

Последний раз редактировалось Grag; 30.05.2010 в 13:11.
Grag вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Цикл на ассемблере ManU Assembler - Ассемблер (FASM, MASM, WASM, NASM, GoASM, Gas, RosAsm, HLA) и не рекомендуем TASM 0 02.12.2009 22:47
Цикл с предусловием. ( цикл while) Цикл с постусловием. (цикл repeat ... until) Mr.User Помощь студентам 9 23.11.2007 01:34