Микроконтролери и електроника
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)?

mitko_el написа:
Та питанката е : мога ли да задам SP на адрес "80H до FFH "

Да, то там му е мястото ако '51-то има 256 байта вътрешна RAM.

Автор:  mitko_el [ Нед Яну 16, 2011 10:46 pm ]
Заглавие:  Re: Стек при 8051 (F310-Silab)?

woody написа:
Да, то там му е мястото ако '51-то има 256 байта вътрешна RAM.

Мерси :) . Не ща да разпалвам страсти, ама има ли друго животно(освен 51) , дето да може да пише от клетка в клетка на Ram-ta(128 клетки са де,без да ползва посредници-регистри, амумулатор)

Автор:  Cekins [ Пон Яну 17, 2011 9:03 am ]
Заглавие: 

PIC 18fxxxx - movff 0xHHHH 0xHHHH

Автор:  head_up [ Пон Яну 17, 2011 11:29 am ]
Заглавие: 

Cekins написа:
PIC 18fxxxx - movff 0xHHHH 0xHHHH

Уверен ли си? От времето когато пишех нещо за пик ми се върти, че отнемаше два цикъла, т.е. реално мести другаде, и после в дестинацията. Без да броим, че беше ограничена в адресното пространство. Нещо такова беше... иначе да, пишеш го така, но то май не се изпълнява така.

Автор:  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 цикъла :) . И напрактика минава през буфер, но той не е физически регистър. Работи в цялото адресно пространство без 4 SFR-a.

Автор:  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/