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

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

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

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

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

Ответ
 
Опции темы Поиск в этой теме
Старый 08.01.2012, 22:21   #1
X@OC
Форумчанин
 
Аватар для X@OC
 
Регистрация: 18.06.2010
Сообщений: 273
Вопрос Batronix что значит эта ошибка

Доброго времени суток

Программа формирования противофазных импульсов с
возможностью формирования частоты

возникает следующая ошибка
Цитата:
You have used the samename for two or more different jump marks! Please give every jump mark a different name to prevent confusio!

Occured in row:
вот сама программа
Занимаюсь эти всего два дня, и непонятно что на что исправлять
объясните пожалуйста ламеру!
Код:
;************************************************
; Программа формирования противофазных импульсов с 
; возможностью формирования частоты
;************************************************
;
; Начальная частота 1000 Гц
; Fmin - 100 Гц 
; Fmax - 25 кГц
; P1.0 - уменьшение частоты
; P1.1 - увеличение частоты
; P2.0 и P2.1 - противофазные выходы
; Частота кварца - 6 МГц
;
;
;INCLUDE 89S8252.mc
 (0000h): AJMP Init
 (000Bh): AJMP Timer0
 
 Timer0:
 PUSH PSW
 PUSH A
 MOV A,P2
 CPL A		;Инверсия значения порта P2
 MOV P2,A
 MOV TL0,R4
 MOV TH0,R3
 POP A
 POP PSW
 RETI
 
 Init:
 MOV IE,#10000010b
 MOV SP,#50h
 MOV P1,#FFh
 MOV P2,#01h      ;инверсия входов
 MOV TMOD,#01h	;Таймер0 в режиме 16-ти разрядного таймера 	
 MOV R5,#0Ah	;Предустановка делителя на 1000 Гц	 
 
 MOV R4,#14h
 MOV TL0,#14h	;Предустановка младшего байта таймера 0
 
 MOV R3,#FFh
 MOV TH0,#FFh	;Предустановка старшего байта Таймера 0
 
 MOV TCON,#00010000b	;Запуск Таймера 0
 
 Main:
 JNB P1.0,Decr
 JNB P1.1,Incr
 SJMP Main
 
 Decr:
 call Drebezg
 JB P1.0,Main
 CLR PSW.1
 call Raschet_chastoty
 AJMP Main
 Incr:
 call Drebezg
 JB P1.1,Main
 SETB PSW.1
 call Raschet_chastoty
 AJMP Main
 
 Drebezg:	;*******************************************
 	   	; Подпрограмма задержки на 100 миллисекунд
 		;*******************************************
 PUSH A          		;Сохранение аккумулятора в стеке
 MOV 20h,#41h		;Предутановка цикла счета 65*255 (41h*FF)			
 			;в ячейке ОЗУ (020h)
 Wait_100_mS_1:
 CLR A
 
 Wait_100_mS_2:
 INC A
 CJNE A,#FFh,Wait_100_mS_2  	;Если еще не равно 255(FF) то продолжение счета
 DJNZ 20h,Wait_100_mS_1	 	;(020h) = (020h)-1 и если не равно 0 то переход	
 POP A			  	;Выгрузка аккумулятора из стека
 RET
 
 Raschet_chastoty: ;******************************************************
			 ;Подпрограмма расчета значения регистров TL0 и TH0
			 ;из расчета шага изменения 100 Гц
			 ;если флаг PSW.1 = "1" то происходит увеличение частоты
			 ;если флаг PSW.1 = "0" то происходит уменьшение частоты
			 ;******************************************************
 PUSH A
 PUSH PSW
 JB PSW.1,Raschet_inc
 CJNE R5,#01h,Raschet_dec
 POP PSW
 POP A
 RET
 Raschet_dec:
 DEC R5
 SJMP Raschet
 Raschet_inc1:
 CJNE R5,#FAh,Raschet_inc1
 POP PSW
 POP A
 RET
 Raschet_inc1:
 INC R5
 Raschet:
 MOV A,#FAh
 MOV B,R
 DIV AB
 MOV B,#0Ah
 MUL AB
 MOV R6,A     
 CLR C
 MOV A,#FFh
 SUBB A,R6
 MOV R4,A
 MOV A,#FFh
 SUBB A,B
 MOV R3,A
 POP PSW
 POP A
 RET
 ;***********************************
 
 END
X@OC вне форума Ответить с цитированием
Старый 08.01.2012, 22:26   #2
netrino
Участник клуба
 
Аватар для netrino
 
Регистрация: 15.07.2008
Сообщений: 1,933
По умолчанию

Код:
 Raschet_inc1:
 CJNE R5,#FAh,Raschet_inc1
 POP PSW
 POP A
 RET
 Raschet_inc1:
У Вас две метки с одинаковым именем
netrino вне форума Ответить с цитированием
Старый 08.01.2012, 22:34   #3
Пепел Феникса
Старожил
 
Аватар для Пепел Феникса
 
Регистрация: 28.01.2009
Сообщений: 21,000
По умолчанию

посмотрите внимательно, у вас два раза метка Raschet_inc1 встречается.
Хорошо поставленный вопрос это уже половина ответа. | Каков вопрос, таков ответ.
Программа делает то что написал программист, а не то что он хотел.
Функции/утилиты ждут в параметрах то что им надо, а не то что вы хотите.
Пепел Феникса вне форума Ответить с цитированием
Старый 08.01.2012, 23:18   #4
X@OC
Форумчанин
 
Аватар для X@OC
 
Регистрация: 18.06.2010
Сообщений: 273
По умолчанию

Цитата:
Сообщение от netrino Посмотреть сообщение
Код:
 Raschet_inc1:
 CJNE R5,#FAh,Raschet_inc1
 POP PSW
 POP A
 RET
 Raschet_inc1:
У Вас две метки с одинаковым именем
поправил но теперь высвечивает ошибку

Цитата:
Please use in the program the INCLUDE instruction to declare the processor. Example:Include 8051.mc
Occured in row:PUSH PSW
X@OC вне форума Ответить с цитированием
Старый 08.01.2012, 23:23   #5
Пепел Феникса
Старожил
 
Аватар для Пепел Феникса
 
Регистрация: 28.01.2009
Сообщений: 21,000
По умолчанию

ну переведите вы название ошибки то.
Хорошо поставленный вопрос это уже половина ответа. | Каков вопрос, таков ответ.
Программа делает то что написал программист, а не то что он хотел.
Функции/утилиты ждут в параметрах то что им надо, а не то что вы хотите.
Пепел Феникса вне форума Ответить с цитированием
Старый 08.01.2012, 23:39   #6
netrino
Участник клуба
 
Аватар для netrino
 
Регистрация: 15.07.2008
Сообщений: 1,933
По умолчанию

У Вас эта директива присутствует, но закомментирована почему-то. В самом верху
netrino вне форума Ответить с цитированием
Старый 09.01.2012, 16:21   #7
X@OC
Форумчанин
 
Аватар для X@OC
 
Регистрация: 18.06.2010
Сообщений: 273
По умолчанию

netrino спасибо вам огромное

но теперь появилась сообщение
Цитата:
Unknown instruction!
MOV B,R
Код:
 Raschet:
 MOV A,#FAh
почему она для него неизвестная ?
MOV B,R
Код:
 DIV AB
 MOV B,#0Ah
 MUL AB
 MOV R6,A     
 CLR C
 MOV A,#FFh
 SUBB A,R6
 MOV R4,A
 MOV A,#FFh
 SUBB A,B
 MOV R3,A
 POP PSW
 POP A
 RET
 ;***********************************
 
 END
X@OC вне форума Ответить с цитированием
Старый 09.01.2012, 17:34   #8
Tronix
Форумчанин
 
Аватар для Tronix
 
Регистрация: 15.06.2010
Сообщений: 740
По умолчанию

Да хз. Прочитайте уже user guide по данному контролеру и асму, и не нагружайте моск не себе не людям.
Чтобы понять рекурсию, сперва нужно понять рекурсию.
Tronix вне форума Ответить с цитированием
Старый 09.01.2012, 20:37   #9
X@OC
Форумчанин
 
Аватар для X@OC
 
Регистрация: 18.06.2010
Сообщений: 273
По умолчанию

всем спасибо разобрался
X@OC вне форума Ответить с цитированием
Ответ


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



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Что значит эта ошибка? pruf C# (си шарп) 1 16.09.2011 12:21
Что значит эта ошибка в Си и как от неё избавиться verling Общие вопросы C/C++ 3 16.10.2010 11:52
что значит эта ошибка на борланд с++ Nani Помощь студентам 1 13.06.2009 23:36
Что значит эта ошибка (password dialog) мазер Помощь студентам 4 05.01.2007 13:11