[an error occurred while processing this directive] [an error occurred while processing this directive]
Ответ
(«Телесистемы»: Конференция «Микроконтроллеры и их применение»)
[an error occurred while processing this directive] [an error occurred while processing this directive] [an error occurred while processing this directive]

Отправлено Сергей Борщ 22 ноября 2001 г. 17:54
В ответ на: Ответ: помогите с MSP отправлено diwil 22 ноября 2001 г. 10:31

Ассемблерный _исходник_ получить можно только на лицензионной версии. В демке можно получить некое подобие, требующее обработки текстовым редактором. Project->Options->ICC430->Listing->(List file[+],insert mnemonics[+])
Насчет компиляции: что такое d? если это z1, то получается вот:
[PRE]
17 extern long z, *q;
18
19 long a(long z1)
20 {
21 long c;
22 *q = z1;
\ 0022 1E420000 MOV &q,R14
\ 0026 8E4C0000 MOV R12,0(R14)
\ 002A 8E4D0200 MOV R13,2(R14)
23 c = *q;
\ 002E 1E420000 MOV &q,R14
\ 0032 2C4E MOV @R14,R12
\ 0034 1D4E0200 MOV 2(R14),R13
24 return c;
25 }
\ 0038 3041 RET

[NOPRE]
А если это какое-то внешнее переменное, то вот:
[PRE]
17 extern long z, *q,d;
18
19 long a(long z1)
20 {
\ 0022 2182 SUB #4,SP
21 long c;
22 *q = d;
\ 0024 1C420000 MOV &q,R12
\ 0028 9C420000 MOV &d,0(R12)
\ 002C 0000
\ 002E 9C420200 MOV &(d+2),2(R12)
\ 0032 0200
23 c = *q;
\ 0034 1E420000 MOV &q,R14
\ 0038 2C4E MOV @R14,R12
\ 003A 1D4E0200 MOV 2(R14),R13
24 return c;
25 }
\ 003E 2152 ADD #4,SP
\ 0040 3041 RET
[NOPRE]

Составить ответ  |||  Конференция  |||  Архив

Ответы



Перейти к списку ответов  |||  Конференция  |||  Архив  |||  Главная страница  |||  Содержание  |||  Без кадра

E-mail: info@telesys.ru