| Микроконтролери и електроника http://mcu-bg.com/mcu_site/ |
|
| Стек при 8051 (F310-Silab)? http://mcu-bg.com/mcu_site/viewtopic.php?f=3&t=8479 |
Страница 1 от 1 |
| Автор: | mitko_el [ Съб Яну 15, 2011 9:40 pm ] |
| Заглавие: | Стек при 8051 (F310-Silab)? |
Значи Ram-a го разделям на 3 дяла(има и още ама не са интересни за случая). Та от 00-7FH си е един дял (в който досега си указвам от кой адрес да заредя SP). От 80H до FFH има спИциални регистри достъпни само с директна адресация. Пак от 80H до FFH има Ram достъпен обаче само с индексна адресация.Та питанката е : мога ли да задам SP на адрес "80H до FFH ".Подозирам ,че като пише и чете в стека използва индексна адресация и ще мине номера,ама нямам контролер под ръка "око да види, ръка да пипне" |
|
| Автор: | woody [ Нед Яну 16, 2011 3:08 pm ] | |||||||||
| Заглавие: | Re: Стек при 8051 (F310-Silab)? | |||||||||
Да, то там му е мястото ако '51-то има 256 байта вътрешна RAM. |
||||||||||
| Автор: | mitko_el [ Нед Яну 16, 2011 10:46 pm ] | |||||||||
| Заглавие: | Re: Стек при 8051 (F310-Silab)? | |||||||||
Мерси |
||||||||||
| Автор: | Cekins [ Пон Яну 17, 2011 9:03 am ] |
| Заглавие: | |
PIC 18fxxxx - movff 0xHHHH 0xHHHH |
|
| Автор: | head_up [ Пон Яну 17, 2011 11:29 am ] | |||||||||
| Заглавие: | ||||||||||
Уверен ли си? От времето когато пишех нещо за пик ми се върти, че отнемаше два цикъла, т.е. реално мести другаде, и после в дестинацията. Без да броим, че беше ограничена в адресното пространство. Нещо такова беше... иначе да, пишеш го така, но то май не се изпълнява така. |
||||||||||
| Автор: | Cino [ Пон Яну 17, 2011 12:17 pm ] |
| Заглавие: | |
компилатора винаги след MOVFF , слага "nop" http://www.microchip.com/forums/m267911.aspx тук е обяснено защо , но тази инструкциям като я гледам си е директно регистър в регистър |
|
| Автор: | Cekins [ Пон Яну 17, 2011 6:36 pm ] |
| Заглавие: | |
Няма как да не отнеме два цикъла, тъй като инструкцията е 32 битова (2 програмни думи), като първата съдържа опкода и адрес1, а втората NOP и адрес 2. Нопа е с цел ако имаш някаква команда от сорта BTFSS непосредствено преди това да не направи гювеч. Не забравяй за архитектурата на ПИК-а - той все пак една команда я изпълнява за 4 цикъла |
|
| Автор: | head_up [ Вто Яну 18, 2011 10:31 am ] |
| Заглавие: | |
Cekins, дай да изясним терминологията - 1 цикъл = 4 такта май е по-правилно. Да, минава през някакъв регистър, та ок - ноп-а с това обяснение минава. Но ми се струва, че има-няма ноп втория цикъл си му трябва реално за прехвърлянето. w/e казах и преди - спомените ми за пик-ове са доста избледнели. Имам спомени, че упорито избягвах да я ползвам в прекъсвания, пишеше нещо в ератата, та останах с впечатление, че "невидимия" регистър в ранните варианти на 18-ките беше някой от тия регистри, които се ползват за backup при прекъсване с FAST. Ама си беше отдавна... |
|
| Автор: | Cekins [ Вто Яну 18, 2011 11:23 am ] |
| Заглавие: | |
Мне, той нопа е 0xF000 , а в тази инструкция младшите се запълват с втория адрес. Идеята е ако попадне случайно на този адрес да не направи нищо, щото той все пак е втората част от инструкцията. Не ползва никакъв регистър - той нали си има някакъв акумулатор дето си е вътрешен на алу-то. А втория цикъл му трябва за да извлече втория адрес. Има го описано в дейташиитовете. Не съм забелязал някакви издънки с тази команда. |
|
| Страница 1 от 1 | Часовете са според зоната UTC + 2 часа [ DST ] |
| Powered by phpBB © 2000, 2002, 2005, 2007 phpBB Group http://www.phpbb.com/ |
|