если можно то как?
P.S. наверное я замечтался...
Хотелки:
Спойлер
Аналоговый осциллограф С1-112, С1-118, другиене/рабочие модули от комплекса ОДА-102
всё что касается AVR, arduino, raspberry
всё что касается КВ-УКВ-радиосвязи, mashtastic
Вот давно интересовал этот вопрос.DX168B писал(а):Возьмём строчку rjmp LABEL.
Вместо LABEL, в ПЗУ не вставляется адрес метки, а вставляется число со знаком, которое в результате складывается с текущим содержимым счётчика команд, либо отнимается от него.
Именно. и если написать rjmp PC-0x0001 то будет бесконечно выполнятся команда которая стоит непосредственно перед переходом, обычно это SBIC/SBIS или одна из BRxxАссемблер сам уже вычисляет сколько надо вставить в ПЗУ.
Код: Выделить всё
#define led_r_on SBI PORTB, PINB2
#define led_r_off CBI PORTB, PINB2
#define led_g_on SBI PORTB, PINB1
#define led_g_off CBI PORTB, PINB1
#define led_b_on SBI PORTB, PINB0
#define led_b_off CBI PORTB, PINB0
#define led_u_on SBI PORTB, PINB4
#define led_u_off CBI PORTB, PINB4
TMR0INT:
; сохранить регистр статуса
IN SREG_INT, SREG
PUSH SREG_INT
INC cyclecount
; Проверяем совпадения c установленными уровнями яркости.
;----- начало блока проверок ------
; ==== КРАСНЫЙ ====
TSTLEDr:
CP cyclecount, LEDrV ; результат = cyclecount - LEDrV
BRSH TSTLEDr_off ; Переход больше или равно, cyclecount >= LEDrV
led_r_on
rjmp TSTLEDg
TSTLEDr_off:
led_r_off
; ==== ЗЕЛЕНЫЙ ====
TSTLEDg:
CP cyclecount, LEDgV ; результат = cyclecount - LEDrV
BRSH TSTLEDg_off ; Переход больше или равно, cyclecount >= LEDrV
led_g_on
rjmp TSTLEDb
TSTLEDg_off:
led_g_off
; ==== СИНИЙ ====
TSTLEDb:
CP cyclecount, LEDbV ; результат = cyclecount - LEDrV
BRSH TSTLEDb_off ; Переход больше или равно, cyclecount >= LEDrV
led_b_on
rjmp TSTLEDu
TSTLEDb_off:
led_b_off
; ==== ФИОЛЕТОВЫЙ ====
TSTLEDu:
CP cyclecount, LEDuV ; результат = cyclecount - LEDrV
BRSH TSTLEDu_off ; Переход больше или равно, cyclecount >= LEDrV
led_u_on
rjmp TSTLED_end
TSTLEDu_off:
led_u_off
TSTLED_end:
;----- конец блока проверок ------
; восстановить регистр статуса?
POP SREG_INT
OUT SREG, SREG_INT
RETIмы уже с другом думали по поводу ГСЧ и пришли к выводу что на МК возможен лишь генератор ПСЕВДО случайных чисел. ведь именно для ГСЧ нужен генератор белого шума замяукивать на ОУ, и уже с ОУ брать на МК.Alexeyslav писал(а):ГСЧ на основе 32бит