nedoPC.org

Electronics hobbyists community established in 2002
Last visit was: 06 Jun 2024 02:30
It is currently 06 Jun 2024 02:30



 [ 35 posts ]  Go to page 1, 2, 3  Next
программа в озу 
Author Message
Maniac

Joined: 14 Jul 2011 02:18
Posts: 254
Location: Гомель
в каких атмега-8 подобных мелкоконтроллерах можно загрузить программу в озу и переслать туда управление? (знаю что так можно делать и делается во всяких арм и всяких х86 а что доступно для нас)


08 Mar 2012 08:36
God

Joined: 02 Jan 2006 02:28
Posts: 1388
Location: Abakan
Post 
На сколько я помню, в атмегах нельзя использовать внешную память программ. Издержки гарвардской архитектуры. Кстати уже обсуждалось где-то тут на форуме. Только байт-код. Как вариант - семейство MCS51, там несмотря на гарвардскую архитектуру можно ставить внешную память программ, которую можно внешне логически объединять с памятью данных.


08 Mar 2012 09:58
Banned
User avatar

Joined: 20 Mar 2005 13:41
Posts: 2141
Location: От туда
Post 
В случае с AVRками не сколько издержки гарвардской, сколько издержки RISC и однотактового доступа к памяти программ. Ибо, у MCS51 тоже память программ отдельная, однако можно соединить ее с памятью данных.


08 Mar 2012 11:34
Maniac

Joined: 14 Jul 2011 02:18
Posts: 254
Location: Гомель
Post 
а хотябы не во внешнюю а в свою озу шку допустим атмеги8 можно такую операцию сделать? узнать адрес начала озу и переслать управление туда

и так на всякий случай где можно найти систему команд х8086(с байт кодами + код на ассемблере + описание)


08 Mar 2012 12:01
Supreme God
User avatar

Joined: 21 Oct 2009 08:08
Posts: 7777
Location: Россия
Post 
7400 wrote:
...где можно найти систему команд х8086(с байт кодами + код на ассемблере + описание)

Возьми вот здесь:
Описание системы команд микропроцессоров Intel

Почему-то не нашел в Интернете этой подборки... :( запускай _index_.htm


08 Mar 2012 14:00
Maniac

Joined: 14 Jul 2011 02:18
Posts: 254
Location: Гомель
Post 
спс довольно не плохо но там нету компилированной команды :(


08 Mar 2012 14:51
Supreme God
User avatar

Joined: 21 Oct 2009 08:08
Posts: 7777
Location: Россия
Post 
7400 wrote:
спс довольно не плохо но там нету компилированной команды :(

(с) "...неблагодарный... ему ещё и колёсики!" :D

Ну тогда сам ищи в Инете электронный справочник TECH Help.


08 Mar 2012 15:42
Banned
User avatar

Joined: 20 Mar 2005 13:41
Posts: 2141
Location: От туда
Post 
Lavr wrote:
Ну тогда сам ищи в Инете электронный справочник TECH Help.

В течхелпе мало асма. Нужен Хелппц. Энивей, доставлено!


08 Mar 2012 23:18
Supreme God
User avatar

Joined: 21 Oct 2009 08:08
Posts: 7777
Location: Россия
Post 
7400 wrote:
...но там нету компилированной команды :(

Я может чего не понял, "компилированной команды" - это ты имел в виду код команды?

Может быть таблицы справочников и сподручнее, но код любой команды,
тем более что для х8086, очень просто и быстро увидеть под утилитой DEBUG.
Пишешь в ней конкретную строку в мнемонике - и тут же получаешь код команды.

А справочники любят погрешить описаниями типа - код: ddXXXYYY где XXX - номер
регистра приёмника, YYY - номер регистра источника, dd - код операции.

Смотри сам, как тебе удобнее...


PS. Озадачился сам, не кончился ли у М$ debug.exe?... погуглил:
Quote:
- В Windows XP debug.exe присутствует.
- В ответ на попытку ввести 'debug' у себя в Windows7 получил сообщение об отсутствии такой команды.
- Насколько я понял, стоит Windows7 x64 ? Потому как в 32 разрядной версии Windows 7 он присутствует (сам проверял).


09 Mar 2012 04:13
Maniac

Joined: 14 Jul 2011 02:18
Posts: 254
Location: Гомель
Post 
ну это ладно я книгу нашел в ней более 200 страниц команд с описанием и с кодами команды :D

главный вопрос выбор команды через case либо еть другой способ?


09 Mar 2012 08:30
Retired
User avatar

Joined: 25 Jul 2011 00:14
Posts: 1331
Location: WWW
Post 
почему-то вспомнились вилки, хлеб и троллейбус


09 Mar 2012 08:35
Maniac

Joined: 14 Jul 2011 02:18
Posts: 254
Location: Гомель
Post 
кстати книга довольно неплохая
В.И. Юров Assembler 2-е издание

в приложении есть все команды IA-32 с описанием , машинной командой , изменяемыми флагами
озу на все регистры думаю должно хватить а вот пзу на описание наврятли... мега 32 наверное как минимум нужна

дач подскажите как оформить выборку команды ? ну вот допустим
if cm[1] = 37 then \\команда AAA
begin
if (((AL <<4) >>4) > 9) or (AF =1) then
begin
AL:=AL+6;
AH:=AH+1;
AF:=1;
CF:=1;
AL:=AL AND 0fh;
end
else AL:=AL AND 0fh;
end;
ну собственно таким образом все команды организовать
как думаете получится?


09 Mar 2012 09:26
Banned
User avatar

Joined: 20 Mar 2005 13:41
Posts: 2141
Location: От туда
Post 
Это смотря что ты хочешь получить. Если дизасм - то можно тупо кейсом. А для i8080 очень хорошо подходит побитовое разложение команды.


09 Mar 2012 10:37
Maniac

Joined: 14 Jul 2011 02:18
Posts: 254
Location: Гомель
Post 
а можно поподробнее ?
типа такого
если 1 бит = 1 тогда
{
если 2 бит равен 0 тогда {}
если 2 бит равен 1 тогда {}
}
ну собственно такая вложенность или я что-то неправильно понял?


09 Mar 2012 11:03
Supreme God
User avatar

Joined: 21 Oct 2009 08:08
Posts: 7777
Location: Россия
Post 
7400 wrote:
а можно поподробнее ?
типа такого
Code:
если 1 бит = 1 тогда
{
если 2 бит равен 0 тогда {}
если 2 бит равен 1 тогда {}
}

ну собственно такая вложенность или я что-то неправильно понял?

Ну да - я тебе и привел пример: код: ddXXXYYY где XXX - номер
регистра приёмника, YYY - номер регистра источника, dd - код операции.

Code:
если dd = 11 тогда
команда = MOV
{
если XXX  равен 000 тогда {это регистр АХ}
если YYY равен 010 тогда {это регистр ВХ}
}

примерно так, что собственно мы разбирали где-то как парсинг кода команды.

Мне только на Паскале твоём это непривычно несколько.
Но почему бы и нет.

На ассме я бы сдвигами и масками стал делать, ну и таблицы можешь попробовать заюзать.


Last edited by Lavr on 09 Mar 2012 20:42, edited 1 time in total.



09 Mar 2012 11:30
 [ 35 posts ]  Go to page 1, 2, 3  Next

Who is online

Users browsing this forum: No registered users and 5 guests


You cannot post new topics in this forum
You cannot reply to topics in this forum
You cannot edit your posts in this forum
You cannot delete your posts in this forum
You cannot post attachments in this forum

Jump to:  
Powered by phpBB® Forum Software © phpBB Group
Designed by ST Software.