ВходНаше всё Теги codebook 无线电组件 Поиск Опросы Закон Среда
9 сентября
1603301 Топик полностью
mse homjak (Сегодня, 13:34, просмотров: 40) ответил aбвгдe на А существуют ли макросы или макрофункции для AVRASM2, которые учитывают расстояние до меток обратно и вперёд? например
Вот такое работает нормально 
        ldi     zl,low(acex_load_table*2)
        ldi     zh,high(acex_load_table*2)
        ldi     yl,0                           
        ldi     xl,low(((acex_end_address-acex_load_table)*2)-2)       
        ldi     xh,high(((acex_end_address-acex_load_table)*2)-2)     
        ldi     yh,byte3(((acex_end_address-acex_load_table)*2)-2)    

acex_load_table: .include "Cyii_mul.inc" acex_end_address:

но обычно для жумпа по цифирьке пользуются

        lds     zl,active_parameter_vector
        sub     zh,zh
        subi    zl,low(-active_parameter_vector_sel)
        sbci    zh,high(-active_parameter_vector_sel)
        ijmp
active_parameter_vector_sel:
        rjmp    M0_state_modify                 ;0
        rjmp    F1_state_modify                 ;1
        rjmp    F2_state_modify                 ;2