История изменений
Исправление Old_Hamster, (текущая версия) :
что-то ты не так сделал
ISR(INT0_vect)
{
volatile unsigned char a, b;
a = 2 + 3;
b = a * 4;
}
@00000023: __vector_1
5: {
+00000023: 921F PUSH R1 Push register on stack
+00000024: 920F PUSH R0 Push register on stack
+00000025: B60F IN R0,0x3F In from I/O location
+00000026: 920F PUSH R0 Push register on stack
+00000027: 2411 CLR R1 Clear Register
+00000028: 938F PUSH R24 Push register on stack
+00000029: 93DF PUSH R29 Push register on stack
+0000002A: 93CF PUSH R28 Push register on stack
+0000002B: D000 RCALL PC+0x0001 Relative call subroutine
+0000002C: B7CD IN R28,0x3D In from I/O location
+0000002D: B7DE IN R29,0x3E In from I/O location
7: a = 2 + 3;
+0000002E: E085 LDI R24,0x05 Load immediate
+0000002F: 8389 STD Y+1,R24 Store indirect with displacement
8: b = a * 4;
+00000030: 8189 LDD R24,Y+1 Load indirect with displacement
+00000031: 0F88 LSL R24 Logical Shift Left
+00000032: 0F88 LSL R24 Logical Shift Left
+00000033: 838A STD Y+2,R24 Store indirect with displacement
9: }
+00000034: 900F POP R0 Pop register from stack
+00000035: 900F POP R0 Pop register from stack
+00000036: 91CF POP R28 Pop register from stack
+00000037: 91DF POP R29 Pop register from stack
+00000038: 918F POP R24 Pop register from stack
+00000039: 900F POP R0 Pop register from stack
+0000003A: BE0F OUT 0x3F,R0 Out to I/O location
+0000003B: 900F POP R0 Pop register from stack
+0000003C: 901F POP R1 Pop register from stack
+0000003D: 9518 RETI Interrupt return
intel(amd)
тут у нас нить о gcc для МК ;)
Исходная версия Old_Hamster, :
что-то ты не так сделал
ISR(INT0_vect)
{
volatile unsigned char a, b;
a = 2 + 3;
b = a * 4;
}
@00000023: __vector_1
5: {
+00000023: 921F PUSH R1 Push register on stack
+00000024: 920F PUSH R0 Push register on stack
+00000025: B60F IN R0,0x3F In from I/O location
+00000026: 920F PUSH R0 Push register on stack
+00000027: 2411 CLR R1 Clear Register
+00000028: 938F PUSH R24 Push register on stack
+00000029: 93DF PUSH R29 Push register on stack
+0000002A: 93CF PUSH R28 Push register on stack
+0000002B: D000 RCALL PC+0x0001 Relative call subroutine
+0000002C: B7CD IN R28,0x3D In from I/O location
+0000002D: B7DE IN R29,0x3E In from I/O location
7: a = 2 + 3;
+0000002E: E085 LDI R24,0x05 Load immediate
+0000002F: 8389 STD Y+1,R24 Store indirect with displacement
8: b = a * 4;
+00000030: 8189 LDD R24,Y+1 Load indirect with displacement
+00000031: 0F88 LSL R24 Logical Shift Left
+00000032: 0F88 LSL R24 Logical Shift Left
+00000033: 838A STD Y+2,R24 Store indirect with displacement
9: }
+00000034: 900F POP R0 Pop register from stack
+00000035: 900F POP R0 Pop register from stack
+00000036: 91CF POP R28 Pop register from stack
+00000037: 91DF POP R29 Pop register from stack
+00000038: 918F POP R24 Pop register from stack
+00000039: 900F POP R0 Pop register from stack
+0000003A: BE0F OUT 0x3F,R0 Out to I/O location
+0000003B: 900F POP R0 Pop register from stack
+0000003C: 901F POP R1 Pop register from stack
+0000003D: 9518 RETI Interrupt return
intel(amd)
мы тут у нас нить о gcc для МК ;)