Код: Выделить всё
.equ K_div = 10^6/(880*2^(27/12))2. Как сделать массив таких значений? То есть можно ли скомпилить один раз массив, и больше не генерировать его мк?
Код: Выделить всё
.equ K_div = 10^6/(880*2^(27/12))Код: Выделить всё
; выше в Z хранится смещение, но в итоге сейчас я решил сделать для простоты Z = 0000h
subi ZH, Low(-(key1<<1))
sbci ZL, High(-(key1<<1))Код: Выделить всё
subi ZH, Low(-(key1<<1))
sbci ZL, High(-(key1<<1))
Код: Выделить всё
.include "m8adef.inc"
.device ATmega8a
;.equ key1 = 0
.def key1_H=R22
.def key1_L=R23
Reset:
LDI ZH,HIGH(TAB*2)
LDI ZL,LOW(TAB*2)
; SUBI ZL, Low(-key1) ; такая конструкция, в принципе, бесполезна,
; SBCI ZH, High(-key1); т.к. эти команды работают с константами
ADD ZL,key1_L
ADC ZH,key1_H
LPM
; в R0 считывается значение массива
RJMP RESET
; subi ZL, Low(-(key1<<1)) ;???????????? Тогда уж проще LDI ZH,HIGH(key1*2)
; sbci ZH, High(-(key1<<1)) ;?????????? LDI ZL,LOW(key1*2)
.ORG $300
TAB:
.DB $77,$66,$55,$44Смысл делать такое выражение, если можно тупо на калькуляторе посчитать?kras писал(а):Задаю выражение:Код: Выделить всё
.equ K_div = 10^6/(880*2^(27/12))
Код: Выделить всё
.equ X = 880
.equ Y = 6
.equ K_div = 10^Y/(X*2^(27/12))Если не ошибаюсь, то 4я студия не понимает дробные степени в режиме ассемблера.kras писал(а):Задаю выражение:Код: Выделить всё
.equ K_div = 10^6/(880*2^(27/12))
Переведи ! 8000 Вольт ?vitalik_1984 писал(а): Вообще есть в асме такая фича как 8000UL или тому подобное?
каких вольт то? мы про компилятор говорим.Jack_A писал(а): Переведи ! 8000 Вольт ?