Skip to content

"sei()" not executed but "SREG |= _BV(SREG_I)" is #184

Description

@rubienr

example:
compile code for -mmcu=atmega16 with or without size optimization (-Os), run avrora with: -monitors=calls,interrupts -invocations-only=false -show-interrupts=true

code:


int main(void) {
    sei();
    ...
    cli(); // vs SREG |= _BV(SREG_I);
}

expected:
"disable interrupts" is reported by the monitor as expected by executing "cli()"
"enable interrupts" is not reported by executing "sei()" but by exceuting "SREG |= _BV(SREG_I)"

Metadata

Metadata

Assignees

No one assigned

    Labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions