Ср авг 20, 2008 13:22:51
ldi r17,$00
sbrc r16,7 ;если старший бит = 1 (отрицательное число)
ldi r17,$FF ;тогда в старшем байте еденицы, иначе - нули
Ср авг 27, 2008 21:08:43
Ср авг 27, 2008 21:19:09
извините за нескромный вопрос - а какой-такой ассемблер вы используете для avr-studio?! и второй вопрос - зачем объектник в студию совать?!Gray64 писал(а):Доброго времени суток!
Начинающий в atmel'ах.
Превые шаги делал по обучалке, всё получаетсо.
Но ассемблер не создает обьектный код, который требует avr-studio.
Но судя по файлу рядом с exe , он может это делать. Что надо дописать в батник, чтобы он создавал этот код?
Ср авг 27, 2008 21:42:40
ARV писал(а):а какой-такой ассемблер вы используете для avr-studio?!
Ср авг 27, 2008 22:56:16
ARV писал(а):извините за нескромный вопрос - а какой-такой ассемблер вы используете для avr-studio?! и второй вопрос - зачем объектник в студию совать?!Gray64 писал(а):Доброго времени суток!
Начинающий в atmel'ах.
Превые шаги делал по обучалке, всё получаетсо.
Но ассемблер не создает обьектный код, который требует avr-studio.
Но судя по файлу рядом с exe , он может это делать. Что надо дописать в батник, чтобы он создавал этот код?
имхо - в студии отличный встроенный ассемблер, который создает все, что нужно...
Чт авг 28, 2008 00:20:19
Gray64 писал(а):.... но не могли б вы мне пошагово обяснить, как в этот ассемблер в студии влезть. (с английским ну очень туго). А то я свои программы по 200 раз перепрошиваю для выявления ошибок. Или, если можно, пошлите тудЫ, где это "по нашёму" описано.
Чт авг 28, 2008 11:09:23
Gray64 писал(а):не могли б вы мне пошагово обяснить, как в этот ассемблер в студии влезть.
Чт авг 28, 2008 19:41:08
Чт авг 28, 2008 19:57:22
Gray64 писал(а):английский, но в 44 года как бы
Пт авг 29, 2008 22:07:52
ARV писал(а):имхо - в студии отличный встроенный ассемблер, который создает все, что нужно...
Сб авг 30, 2008 10:25:44
Brutaller писал(а):я всё равно выбираю tavrasm
Пн сен 08, 2008 13:41:58
include "m128def.INC"
begin:
ldi r16,low(RAMEND)
out spl,r16
ldi r16,high(RAMEND)
out sph,r16
ldi r16,(1<<6) | (1<<7)
out DDRD,r16
loop:
ldi r16,(1<<6)
out PORTD,r16
rcall delay
ldi r16,(1<<7)
out PORTD,r16
rcall delay
rjmp loop
delay:
ldi r16,30
delay1:
ldi r17,200
delay2:
ldi r18,200
delay3:
dec r18
brne delay3
dec r17
brne delay2
dec r16
brne delay1
ret
Пн сен 08, 2008 13:52:38
Пн сен 08, 2008 14:18:24
Пн сен 08, 2008 19:33:48
milkpower писал(а):т.е если я правильно понимаю, то
ST DDRG,R16 // пишем в порт
LD R16,DDRG // читаем из порта
так?
Вт сен 09, 2008 07:47:22
Вт сен 09, 2008 08:14:04
это не только возможно - это основа основ, именно так прерывания и обрабатываются!!!milkpower писал(а):И возможно ли на авр такое чтоб по ходу выполнения основной программы, по приходу прерывания, после обработки программы по вектору, вернуться в основную на место?
Сб окт 18, 2008 19:13:06
Артур писал(а):Люди, Будьте добры!
Расскажите пожалуйста про инициализацию стека?
Я читал что он на аппаратном уровне! Как его использовать?
start:
ldi tmp,low(RAMEND)
out SPL,tmp ; Init Stack pointer
ldi tmp,High(RamEnd) ;stack pointer definition high byte
out SPH,tmp ;read from 8535def.inc file
ldi tmp,Low(RamEnd) ;stack pointer definition low byte
out SPL,tmp ;read from 8535def.inc file
Пн окт 27, 2008 18:27:23
; 41 adcin[c1]=SPDR;
MOVW R26,R4
SUBI R26,LOW(-_adcin)
SBCI R27,HIGH(-_adcin)
IN R30,0xF
ST X,R30
Пн окт 27, 2008 19:57:57
MOVW R26,R4 ;load c1 value in R26 and R27
SUBI R26,LOW(-_adcin) ;subtract R26 from adcin (LOW BYTE)
SBCI R27,HIGH(-_adcin) ;subtract R27 from adcin (HIGH BYTE). Now X contains current acdin adress.
IN R30,0xF ;load SPDR val. (0xF) in R30
ST X,R30 ;write R30 val. in care of X