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

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

Вернуться   Форум программистов > Низкоуровневое программирование > Assembler - Ассемблер (FASM, MASM, WASM, NASM, GoASM, Gas, RosAsm, HLA) и не рекомендуем TASM
Регистрация

Восстановить пароль
Повторная активизация e-mail

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

Ответ
 
Опции темы Поиск в этой теме
Старый 11.12.2010, 18:46   #1
kruftin
Новичок
Джуниор
 
Регистрация: 11.12.2010
Сообщений: 1
По умолчанию Ошибка Out of Memory

Непонятно почему возникает ошибка access out of memory при заходе программы в цикл задержки времени VATOKATA, а именно перед командой
MOV R5, #04H
Вот код программы:
Код:
START:   JMP  PRE
	 ORG  30H
PRE:
CLR P1.0
CLR P1.1
CLR P1.2
CLR P1.3
CLR P1.4
CLR P1.5
CLR P1.6
CLR P1.7
CLR P2.0
CLR P2.1
OPROS:
	   
	 JNB P0.0, M1   ; êíîïêà âêëþ÷åíèÿ ñâåòà è ãàáàðèòîâ	 	 
	 MOV R6, #01H
OP1:
	 JNB P0.1, M2   ; êíîïêà âêëþ÷åíèÿ áëèæíåãî ñâåòà
	 MOV R7, #01H
OP2:
	 JNB P0.2, M3   ; êíîïêà âêëþ÷åíèÿ ïðîòèâîòóìàíîê
	 CLR P1.2       ; âûêëþ÷åíèå ïðîòèâîòóìàíîê
OP3:	 
	 JNB P0.6, M5   ; âêëþ÷åíèå äàëüíåãî ñâåòà
	 CLR P2.0       ; âûêëþ÷åíèå äàëüíåãî ñâåòà
OP4:	 
	 JNB P0.7, M6   ; âêëþ÷åíèå çàäíåãî õîäà
	 CLR P2.1       ; âûêëþ÷åíèå çàäíåãî õîäà
	
	 CJNE R6, #01H, OP41 
	 CLR P1.0
OP41:
	 CJNE R7, #01H, OP5
	 CLR P1.1	 
OP5:
	 JNB P0.5, M4   ; êíîïêà àâàðèéíîé ñèãíàëèçàöèè
	 JNB P0.3, M4   ; êíîïêà ëåâîãî ïîâîðîòà
	 JNB P0.4, M4   ; êíîïêà ïðàâîãî ïîâîðîòà
	 
JMP OPROS	 

M1:  	  
	  SETB P1.0   ; âêëþ÷åíèå îáùåãî ñâåòà è ãàáàðèòîâ
     JMP OP1


M2:  
	  MOV R6, #00H
	  SETB P1.0   ; âêëþ÷åíèå îáùåãî ñâåòà è ãàáàðèòîâ
     SETB P1.1   ; âêëþ÷åíèå áëèæíåãî ñâåòà
     JMP OP2

M3:  
	  MOV R6, #00H
	  MOV R7, #00H
	  SETB P1.0  ; âêëþ÷åíèå îáùåãî ñâåòà è ãàáàðèòîâ
	  SETB P1.1  ; âêëþ÷åíèå áëèæíåãî ñâåòà
     SETB P1.2	 ; âêëþ÷åíèå ïðîòèâîòóìàíîê	
     JMP OP3

M5:  
	  MOV R6, #00H
	  MOV R7, #00H
	  SETB P1.0  ; âêëþ÷åíèå îáùåãî ñâåòà è ãàáàðèòîâ
	  SETB P1.1  ; âêëþ÷åíèå áëèæíåãî ñâåòà
	  SETB P2.0	 ; âêëþ÷åíèå äàëüíåãî ñâåòà 
     JMP OP4

M6:  
	  SETB P2.1	 ; âêëþ÷åíèå ñâåòà çàäíåãî õîäà
     JMP OP5

M4:
CJNE R5,#03H,MOD1
JMP C1
MOD1:  
CJNE R5,#04H,VATOKATA
JMP C2

VATOKATA:

CALL	DLY1					      ; âûçîâ ïðîãðàììû çàäåðæêè
DLY100: 	MOV R1, #195 			; çàäåðæêà ñ ïîìîùüþ öèêëîâ íà 100 ìñ
LOOPEX: 	MOV R2, #254 			;
LOOPIN: 	DJNZ R2, LOOPIN 		; äåêðåìåíò R2 è âíóòðåííèé öèêë,
				
         MOV R5, #03H
		   CALL OPROS				; åñëè (R2) íå ðàâíî 0
C1:		DJNZ R1, LOOPEX 		; äåêðåìåíò R1 è âíåøíèé öèêë,

		   MOV R5, #04H
		   CALL OPROS				; åñëè (R1) íå ðàâíî 0
C2:		MOV R3, #174 			; òî÷íàÿ ïîäñòðîéêà
LOOPAD: 	DJNZ R3, LOOPAD 		; âðåìåííîé
		NOP 				         ; çàäåðæêè
		RET 				         ; âîçâðàò			
DLY1:		MOV R4,#10        	; çàãðóçêà R4 äëÿ âûçîâà DLY100 äåñÿòü ðàç
LOOP:		CALL DLY100       	; çàäåðæêà 100 ìñ
		DJNZ R4, LOOP     		; R4 - 1 è öèêë, åñëè (R4) íå ðàâíî 0 
		MOV	A,#1			      ; óñòàíîâêà ôëàãà ñðàáàòûâàíèÿ
		
		JNB P0.5, MOD2          ; ðàñïðåäåëåíèå ñèãíàëà ïî ýëåìåíòàì àâàðèéíîé ñèãíàëèçàöèè
PVR1:
		JNB P0.3, MOD3          ; ðàñïðåäåëåíèå ñèãíàëà ïî ýëåìåíòàì ëåâîãî ïîâîðîòà
PVR2:
		JNB P0.4, MOD4          ; ðàñïðåäåëåíèå ñèãíàëà ïî ýëåìåíòàì ïðàâîãî ïîâîðîòà
PVR3:
		NOP

JMP OPROS

MOD2:
JB P1.3, DAL1
SETB P1.3
SETB P1.4
SETB P1.5
SETB P1.6
JMP PVR1
DAL1:
CLR P1.3
CLR P1.4
CLR P1.5
CLR P1.6
JMP PVR1


MOD3:
JB P1.3, DAL2
SETB P1.3
JMP PVR2
DAL2:
CLR P1.3
JMP PVR2

MOD4:
JB P1.4, DAL3
SETB P1.4
JMP PVR3
DAL3:
CLR P1.4
JMP PVR3

Последний раз редактировалось Stilet; 11.12.2010 в 19:18.
kruftin вне форума Ответить с цитированием
Ответ


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



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Out of memory... Klim Bassenger Microsoft Office Excel 9 17.01.2018 12:56
Out of memory zumm Общие вопросы Delphi 12 24.05.2010 14:03
Ошибка malloc(): memory corruption Роман Радер Общие вопросы C/C++ 6 03.10.2009 19:34