Реклама на сайте English version  DatasheetsDatasheets

KAZUS.RU - Электронный портал. Принципиальные схемы, Datasheets, Форум по электронике

Новости электроники Новости Литература, электронные книги Литература Документация, даташиты Документация Поиск даташитов (datasheets)Поиск PDF
  От производителей
Новости поставщиков
В мире электроники

  Сборник статей
Электронные книги
FAQ по электронике

  Datasheets
Поиск SMD
Он-лайн справочник

Принципиальные схемы Схемы Каталоги программ, сайтов Каталоги Общение, форум Общение Ваш аккаунтАккаунт
  Каталог схем
Избранные схемы
FAQ по электронике
  Программы
Каталог сайтов
Производители электроники
  Форумы по электронике
Помощь проекту


 
Опции темы
Непрочитано 18.03.2011, 21:27  
Bill
Гражданин KAZUS.RU
 
Регистрация: 02.06.2003
Адрес: Челябинск
Сообщений: 545
Сказал спасибо: 10
Сказали Спасибо 341 раз(а) в 202 сообщении(ях)
Bill на пути к лучшему
По умолчанию Re: STM8(S/L), первые впечатления

Сообщение от dosikus Посмотреть сообщение
qwerky, Не компилит...


Код:
void send_sw_spi (uint8_t data)

{
 uint8_t temp=8;
 
          #asm
	xref _temp				
	PORTC: equ 	$500A					
      1$:      SLA A
               BCCM PORTC,#6
               BSET PORTC,#5
               BRES PORTC,#5
               DEC  _temp
               JREQ  1$
           #endasm
                
}
Наверное имеет смысл вынести temp за пределы функции. Или нет?
Реклама:
Bill вне форума  
Непрочитано 18.03.2011, 21:47  
dosikus
Гуру портала
 
Аватар для dosikus
 
Регистрация: 20.11.2004
Сообщений: 10,015
Сказал спасибо: 936
Сказали Спасибо 2,269 раз(а) в 1,563 сообщении(ях)
dosikus на пути к лучшему
По умолчанию Re: STM8(S/L), первые впечатления

Сообщение от Bill Посмотреть сообщение
Наверное имеет смысл вынести temp за пределы функции. Или нет?
Не имеет . Не нужна она мне теперь ))
Проще дальше извращаться :

Код:
void send_sw_spi (uint8_t data)

{

          #asm
	   PORTC: equ 	$500A					
		PUSH A
		LD A,#8
      1$:      SLA (1,SP)
               BCCM PORTC,#6
               BSET PORTC,#5
               BRES PORTC,#5
               DEC  A
               JREQ  1$
		POP A
           #endasm
                
}
Осталось с подстановкой имен разобраться..
__________________
Осторожно , злой кот

Последний раз редактировалось dosikus; 18.03.2011 в 22:06.
dosikus вне форума  
Непрочитано 18.03.2011, 22:00  
Bill
Гражданин KAZUS.RU
 
Регистрация: 02.06.2003
Адрес: Челябинск
Сообщений: 545
Сказал спасибо: 10
Сказали Спасибо 341 раз(а) в 202 сообщении(ях)
Bill на пути к лучшему
По умолчанию Re: STM8(S/L), первые впечатления

Сообщение от dosikus Посмотреть сообщение
Не имеет . Не нужна она мне теперь ))
Проще дальше извращаться :

Код:
void send_sw_spi (uint8_t data)

{

          #asm
	   PORTC: equ 	$500A					
		PUSH A
		LD A,#8
      1$:      SLA (1,SP)
               BCCM PORTC,#6
               BSET PORTC,#5
               BRES PORTC,#5
               DEC  A
               JREQ  1$
		POP A
           #endasm
                
}
Осталось с подстановкой имен разобраться..
Наверное, можно чуток код упростить
Код:
		PUSH #8
      1$:      SLA A
               BCCM PORTC,#6
               BSET PORTC,#5
               BRES PORTC,#5
               DEC  (1,SP)
               JRNE  1$
		POP A
Или нет?
Bill вне форума  
Сказали "Спасибо" Bill
dosikus (18.03.2011)
Непрочитано 18.03.2011, 22:04  
dosikus
Гуру портала
 
Аватар для dosikus
 
Регистрация: 20.11.2004
Сообщений: 10,015
Сказал спасибо: 936
Сказали Спасибо 2,269 раз(а) в 1,563 сообщении(ях)
dosikus на пути к лучшему
По умолчанию Re: STM8(S/L), первые впечатления

Сообщение от Bill Посмотреть сообщение
Или нет?
Точно . И про переход в самую точку.


А вот что с дефайнами делать ???
Да асм , как кто то уже писал, напоминает Z80 . Аж нахлынуло...
__________________
Осторожно , злой кот

Последний раз редактировалось dosikus; 18.03.2011 в 22:10.
dosikus вне форума  
Непрочитано 18.03.2011, 22:15  
Bill
Гражданин KAZUS.RU
 
Регистрация: 02.06.2003
Адрес: Челябинск
Сообщений: 545
Сказал спасибо: 10
Сказали Спасибо 341 раз(а) в 202 сообщении(ях)
Bill на пути к лучшему
По умолчанию Re: STM8(S/L), первые впечатления

Сообщение от dosikus Посмотреть сообщение
Точно . И про переход в самую точку.


А вот что с дефайнами делать ???
Да асм , как кто то уже писал, напоминает Z80 . Аж нахлынуло...
Я вообще-то стараюсь писать отдельные модули на ассемблере. Вставки мешают компилятору оптимизировать код.
А что касается Z80, то я большого сходства не вижу. Архитектуры Z80 и STM8 сильно различаются.
Код:
CLK:  EQU PORTC:5
......
       bset   CLK
       bres   CLK
.....
Или нет?

Последний раз редактировалось Bill; 18.03.2011 в 22:18.
Bill вне форума  
Непрочитано 18.03.2011, 22:20  
omercury
Почётный гражданин KAZUS.RU
 
Аватар для omercury
 
Регистрация: 25.05.2010
Адрес: г. Королёв
Сообщений: 8,497
Сказал спасибо: 30
Сказали Спасибо 3,072 раз(а) в 2,013 сообщении(ях)
omercury на пути к лучшему
По умолчанию Re: STM8(S/L), первые впечатления

Таки через стек...
А может имеет смысл передавать глобальную переменную-указатель на данные?
omercury вне форума  
Непрочитано 18.03.2011, 22:25  
dosikus
Гуру портала
 
Аватар для dosikus
 
Регистрация: 20.11.2004
Сообщений: 10,015
Сказал спасибо: 936
Сказали Спасибо 2,269 раз(а) в 1,563 сообщении(ях)
dosikus на пути к лучшему
По умолчанию Re: STM8(S/L), первые впечатления

Bill, Согласен не все .
Но вот этот кусок со стеком и аккумулятором ...

Про модули так же поддерживаю . Но именно здесь хотелось поменьше телодвижений. Да и это весь код модуля , что нужен был.
Да и временный он .Чисто для отладки .
__________________
Осторожно , злой кот
dosikus вне форума  
Непрочитано 18.03.2011, 22:29  
dosikus
Гуру портала
 
Аватар для dosikus
 
Регистрация: 20.11.2004
Сообщений: 10,015
Сказал спасибо: 936
Сказали Спасибо 2,269 раз(а) в 1,563 сообщении(ях)
dosikus на пути к лучшему
По умолчанию Re: STM8(S/L), первые впечатления

Сообщение от omercury Посмотреть сообщение
Таки через стек...
Не а , передача не через стек .
Да и как передавать ?
Ложим в стек на асме , вызываем функцию . В итоге на вершине стека возврат .
Придется вытаскивать возврат потом параметры , потом сохранять возврат .
__________________
Осторожно , злой кот
dosikus вне форума  
Непрочитано 18.03.2011, 22:34  
Bill
Гражданин KAZUS.RU
 
Регистрация: 02.06.2003
Адрес: Челябинск
Сообщений: 545
Сказал спасибо: 10
Сказали Спасибо 341 раз(а) в 202 сообщении(ях)
Bill на пути к лучшему
По умолчанию Re: STM8(S/L), первые впечатления

Сообщение от omercury Посмотреть сообщение
Таки через стек...
А может имеет смысл передавать глобальную переменную-указатель на данные?
А зачем? Чем стек-то не нравится?
Bill вне форума  
Непрочитано 18.03.2011, 22:43  
omercury
Почётный гражданин KAZUS.RU
 
Аватар для omercury
 
Регистрация: 25.05.2010
Адрес: г. Королёв
Сообщений: 8,497
Сказал спасибо: 30
Сказали Спасибо 3,072 раз(а) в 2,013 сообщении(ях)
omercury на пути к лучшему
По умолчанию Re: STM8(S/L), первые впечатления

Сообщение от dosikus Посмотреть сообщение
Да и как передавать ?
Ложим в стек на асме , вызываем функцию . В итоге на вершине стека возврат .
Придется вытаскивать возврат потом параметры , потом сохранять возврат .
Кто заставляет менять на вершине стека? Можно же менять SP-2.

Сообщение от Bill Посмотреть сообщение
А зачем? Чем стек-то не нравится?
Да стек сразу и предложил - никто же не слушает. Думал глупость сморозил - удалил сообщение.
omercury вне форума  
 

Закладки
Опции темы

Ваши права в разделе
Вы не можете создавать новые темы
Вы не можете отвечать в темах
Вы не можете прикреплять вложения
Вы не можете редактировать свои сообщения

BB коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.

Быстрый переход

Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
KiCAD-объявления и впечатления al_dan KiCAD 32 03.10.2016 17:02
Народ, посмотрите quasm, Как ваши впечатления? suri Proteus, KiCAD и другие ECAD 5 14.10.2009 11:57


Часовой пояс GMT +4, время: 22:11.


Powered by vBulletin® Version 3.8.4
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd. Перевод: zCarot