Код
// 34 meter_info_format_cached__ = mif;
LDR R0,??check_and_repair_1+0xC ;; ??meter_info_format_cached__
ADD R1,SP,#+8
LDRB R2,[R1, #0]
STRB R2,[R0, #0]
LDRB R2,[R1, #+1]
STRB R2,[R0, #+1]
LDRB R2,[R1, #+2]
STRB R2,[R0, #+2]
LDRB R2,[R1, #+3]
STRB R2,[R0, #+3]
LDR R0,??check_and_repair_1+0xC ;; ??meter_info_format_cached__
ADD R1,SP,#+8
LDRB R2,[R1, #0]
STRB R2,[R0, #0]
LDRB R2,[R1, #+1]
STRB R2,[R0, #+1]
LDRB R2,[R1, #+2]
STRB R2,[R0, #+2]
LDRB R2,[R1, #+3]
STRB R2,[R0, #+3]
IAR все время структуры копирует побайтно, этим можно управлять?
Код
template <unsigned W, unsigned BN> class meter_info_format_tpl
{
static unsigned const BS = W - BN - BN;
dword blocks_number_total_ : BN;
dword blocks_number_occupied_ : BN;
dword block_size_ : BS;
};
typedef meter_info_format_tpl<32, 12> meter_info_format_t;
{
static unsigned const BS = W - BN - BN;
dword blocks_number_total_ : BN;
dword blocks_number_occupied_ : BN;
dword block_size_ : BS;
};
typedef meter_info_format_tpl<32, 12> meter_info_format_t;