ВходНаше всё Теги codebook 无线电组件 Поиск Опросы Закон Четверг
28 марта
1015095 Топик полностью
il-2 (30.06.2020 14:35, просмотров: 439) ответил maleon на В исходнике изменяю один бит в константе, в асме появляются три лишних команды, опции не менялись. Что за фигня?
Есть такое предположение: 

Этот кусок кода является подпрограммой??? Там дальше есть RET ???

Если есть, то возможно, после команды STD Z+3, R16 начинается точка входа другой подпрограммы:

entry1: LDI     R30, LOW(KeyFun6E)   ; PultFlags &= ~( 1<<3 | 1<<4 | 1<<0);
        LDI     R31, (KeyFun6E) >> 8
        LDD     R16, Z+3
        ANDI    R16, 0xE6
        STD     Z+3, R16
entry2: LDD     R16, Z+3            ; PultFlags &= ~( 1<<3 | 1<<4);
        ANDI    R16, 0xE7
        IN      R17, 0x0E           ; PultFlags |= PORTE & ( 1<<3 | 1<<4 );
        ANDI    R17, 0x18
        OR      R16, R17
        STD     Z+3, R16
        ...
        RET