Статус:
Offline
Реєстрація: 17.08.2005
Повідом.: 48736
Реєстрація: 17.08.2005
Повідом.: 48736

- 🟠 19:48 Загроза ударних БпЛАЗагроза БпЛА типу «Шахед»#м_Харків_та_Харківська_територіальна_громада
- #1
Решил на работе поставить последнюю АВРСтудию и ЖЦЦ.
Скачал значицо 4.18 +СП3 накатал. WinAVR поставил, вроде всё как положено.
Ну завожу ж проект. Ну посмотреть что там оно вообще, работает чи не. Пишу:
Оно компилируется в некий перл:
и висит естественно на 0x55м адресе в куске:
Вопросов несколько...
а) Что не так?
б) Какого фуя 10: if(PINB!=0xFF) - 2 раза??
в) С какого бадуна он из прерываний в main заходит вызовом main по CALL??? Это у них так модно вместо rjmp колы пхать и занимать стэк, или как-то можно его вразумить?
гыгы.. 6 человек уже просмотрело и молчит. Значит ни кто ни чё не понял и бред удался!!
Скачал значицо 4.18 +СП3 накатал. WinAVR поставил, вроде всё как положено.
Ну завожу ж проект. Ну посмотреть что там оно вообще, работает чи не. Пишу:
#include <avr/io.h>
#include <avr/iom128.h>
#include <util/delay.h>
#include <avr/interrupt.h>
//******************************************************//
int main (void)
{
int a=4;
PORTB=a;
if(PINB!=0xFF)
{
a=3;
}
while(1)
{
a++;
}
}
Оно компилируется в некий перл:
---- UNKNOWN_FILE ---------------------------------------------------------------------------------
0: File not found
+00000000: 940C0046 JMP 0x00000046 Jump
+00000002: 940C0050 JMP 0x00000050 Jump
+00000004: 940C0050 JMP 0x00000050 Jump
+00000006: 940C0050 JMP 0x00000050 Jump
+00000008: 940C0050 JMP 0x00000050 Jump
+0000000A: 940C0050 JMP 0x00000050 Jump
+0000000C: 940C0050 JMP 0x00000050 Jump
+0000000E: 940C0050 JMP 0x00000050 Jump
+00000010: 940C0050 JMP 0x00000050 Jump
+00000012: 940C0050 JMP 0x00000050 Jump
+00000014: 940C0050 JMP 0x00000050 Jump
+00000016: 940C0050 JMP 0x00000050 Jump
+00000018: 940C0050 JMP 0x00000050 Jump
+0000001A: 940C0050 JMP 0x00000050 Jump
+0000001C: 940C0050 JMP 0x00000050 Jump
+0000001E: 940C0050 JMP 0x00000050 Jump
+00000020: 940C0050 JMP 0x00000050 Jump
+00000022: 940C0050 JMP 0x00000050 Jump
+00000024: 940C0050 JMP 0x00000050 Jump
+00000026: 940C0050 JMP 0x00000050 Jump
+00000028: 940C0050 JMP 0x00000050 Jump
+0000002A: 940C0050 JMP 0x00000050 Jump
+0000002C: 940C0050 JMP 0x00000050 Jump
+0000002E: 940C0050 JMP 0x00000050 Jump
+00000030: 940C0050 JMP 0x00000050 Jump
+00000032: 940C0050 JMP 0x00000050 Jump
+00000034: 940C0050 JMP 0x00000050 Jump
+00000036: 940C0050 JMP 0x00000050 Jump
+00000038: 940C0050 JMP 0x00000050 Jump
+0000003A: 940C0050 JMP 0x00000050 Jump
+0000003C: 940C0050 JMP 0x00000050 Jump
+0000003E: 940C0050 JMP 0x00000050 Jump
+00000040: 940C0050 JMP 0x00000050 Jump
+00000042: 940C0050 JMP 0x00000050 Jump
+00000044: 940C0050 JMP 0x00000050 Jump
+00000046: 2411 CLR R1 Clear Register
+00000047: BE1F OUT 0x3F,R1 Out to I/O location
+00000048: EFCF SER R28 Set Register
+00000049: E1D0 LDI R29,0x10 Load immediate
+0000004A: BFDE OUT 0x3E,R29 Out to I/O location
+0000004B: BFCD OUT 0x3D,R28 Out to I/O location
+0000004C: 940E0052 CALL 0x00000052 Call subroutine
+0000004E: 940C0056 JMP 0x00000056 Jump
+00000050: 940C0000 JMP 0x00000000 Jump
@00000052: main
---- GCC_tst.c ------------------------------------------------------------------------------------
7: {
+00000052: E084 LDI R24,0x04 Load immediate
+00000053: BB88 OUT 0x18,R24 Out to I/O location
10: if(PINB!=0xFF)
+00000054: B386 IN R24,0x16 In from I/O location
+00000055: CFFF RJMP PC-0x0000 Relative jump
10: if(PINB!=0xFF)
+00000056: 94F8 CLI Global Interrupt Disable
+00000057: CFFF RJMP PC-0x0000 Relative jump
+00000058: 00FF ??? Data or unknown opcode
+00000059: FFFF ??? Data or unknown opcode
+0000005A: FFFF ??? Data or unknown opcode
+0000005B: FFFF ??? Data or unknown opcode
и висит естественно на 0x55м адресе в куске:
+00000055: CFFF RJMP PC-0x0000 Relative jump
Вопросов несколько...
а) Что не так?
б) Какого фуя 10: if(PINB!=0xFF) - 2 раза??
в) С какого бадуна он из прерываний в main заходит вызовом main по CALL??? Это у них так модно вместо rjmp колы пхать и занимать стэк, или как-то можно его вразумить?
гыгы.. 6 человек уже просмотрело и молчит. Значит ни кто ни чё не понял и бред удался!!
Останнє редагування: