nedoPC.org

Electronics hobbyists community established in 2002
Atom Feed | View unanswered posts | View active topics It is currently 28 Mar 2024 08:47



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

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


08 Mar 2012 08:36
Profile
God

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


08 Mar 2012 09:58
Profile
Banned
User avatar

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


08 Mar 2012 11:34
Profile
Maniac

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

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


08 Mar 2012 12:01
Profile
Supreme God
User avatar

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

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

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


08 Mar 2012 14:00
Profile
Maniac

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


08 Mar 2012 14:51
Profile
Supreme God
User avatar

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

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

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


08 Mar 2012 15:42
Profile
Banned
User avatar

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

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


08 Mar 2012 23:18
Profile
Supreme God
User avatar

Joined: 21 Oct 2009 08:08
Posts: 7777
Location: Россия
Reply with quote
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
Profile
Maniac

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

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


09 Mar 2012 08:30
Profile
Retired
User avatar

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


09 Mar 2012 08:35
Profile
Maniac

Joined: 14 Jul 2011 02:18
Posts: 254
Location: Гомель
Reply with quote
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
Profile
Banned
User avatar

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


09 Mar 2012 10:37
Profile
Maniac

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


09 Mar 2012 11:03
Profile
Supreme God
User avatar

Joined: 21 Oct 2009 08:08
Posts: 7777
Location: Россия
Reply with quote
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
Profile
Display posts from previous:  Sort by  
Reply to topic   [ 35 posts ]  Go to page 1, 2, 3  Next

Who is online

Users browsing this forum: No registered users and 10 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

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