Crack MCU ATmega128A through which the security fuse bits will be disable, and status of Microcontroller will be reset from locked to unlocked one, Binary can be readout directly from the MCU memory;
With the relative jump and relative call instructions, the whole address space is directly accessed. All AVR instructions have a single 16-bit word format, meaning that every program memory address contains a single 16-bit instruction.
During interrupts and subroutine calls, the return address program counter (PC) is stored on the stack. The stack is a 3-level-deep hardware stack dedicated for subroutines and interrupts.
The I/O memory space contains 64 addresses for CPU peripheral functions as Control Registers, Timer/Counters and other I/O functions. The memory spaces in the AVR architecture are all linear and regular memory maps.
A flexible interrupt module has its control registers in the I/O space with an additional global interrupt enable bit in the status register.
All the different interrupts have a separate interrupt vector in the interrupt vector table at the beginning of the program memory.
The different interrupts have priority in accordance with their interrupt vector position. The lower the interrupt vector address, the higher the priority.
All the register operating instructions in the instruction set have direct- and single-cycle access to all registers.
The only exception is the five constant arithmetic and logic instructions SBCI, SUBI, CPI, ANDI, and ORI between a constant and a register and the LDI instruction for load-immediate constant data.
These instructions apply to the second half of the registers in the register file – R16..R31. The general SBC, SUB, CP, AND, OR, and all other operations between two registers or on a single-register apply to the entire register file after Crack MCU.
Registers 30 and 31 form a 16-bit pointer (the Z-pointer) which is used for indirect Flash memory and register file access. When the Register file is accessed, the contents of R31 is discarded by the CPU.