| Микроконтролери и електроника http://mcu-bg.com/mcu_site/ |
|
| Интерпретатор за асемблер ??? http://mcu-bg.com/mcu_site/viewtopic.php?f=14&t=3893 |
Страница 1 от 2 |
| Автор: | ji4ka [ Пет Мар 16, 2007 2:10 pm ] |
| Заглавие: | Интерпретатор за асемблер ??? |
Въпроса ми е дали има такова животно - Интерпретатор за Асемблер. Дялкам си пиковете само на асемблер и като се замисля едно такова нещо ще ми върши идеална работа. Идеята е да се изпълнява директно asm-файла ,от мястото на курсора,без да е нужна компилация. Щото сега един интервал да ударя и MPLab-а ма ръчка да прекомпилирам наново. А пък аз както мразя да ме юркат.... Нужно ми е само за логическа проверка на код, без разни там банки, пейджи и т.н. Някой срещал ли е нещо подобно? |
|
| Автор: | JoroS [ Пет Мар 16, 2007 7:42 pm ] |
| Заглавие: | |
Обичайно се въздържам от коментари, ама това изби рибата Младеж, асемблер и машинен език са едно и също нещо, само че написани по различен начин. В този смисъл, асемблерът просто няма как да се интерпретира. Това за което ти питаш по прилича на симулатор. Но! Преди да искаш бедния компютър да свърши нещо вместо теб, опитай първо да помислиш, можеш ли аджеба да го направиш същото това нещо с молив върху хартия. Ако не можеш - не го чакай и от комютъра Толкоз! Може да не отговаряш - написах го, ако би желал да се замислиш следващия път, преди да напишеш нещо такова. Не го приемай като заяждане |
|
| Автор: | ji4ka [ Пет Мар 16, 2007 9:17 pm ] |
| Заглавие: | |
JoroS, не го приемам като заяждане, просто мисля че не ми разбираш идеята. На пръв поглед звучи необичайно но не е. Това нещо наистина ми трябва с цел симулация , но не пълна ,на контролера, а само логическа, на самия код без да се симулират целия хардуер - само АЛУ,статуса и РАМ-а (може би и още 1-2 неща). Не искам да карам пика да интерпретира асемблера. Това трябва да е програма за ПК. И мисля ,че Интерпретатор е правилната дума. Например като видя някъде: bcf status,c веднага "на ум" си интерпретирам че един бит наречен "пренос" ще бъде изтрит в някой контролер някъде по-света |
|
| Автор: | bobyk [ Пет Мар 16, 2007 9:25 pm ] |
| Заглавие: | |
http://www.oshonsoft.com/pic.html |
|
| Автор: | ji4ka [ Пет Мар 16, 2007 9:50 pm ] |
| Заглавие: | |
bobyk, благодаря за връзката, но това е симулатор. А аз търся интрпретатор (въпреки че подозирам вече - няма да намеря). Да го обясня по друг начин: Например пиковете от серия 16 имат 33 инструкции, еднакви за всички, независимо от периферията и паметта им. Трябва ми програма която да интерпретира правилно тия инструкции като ги срещне в asm или даже в txt файл. Който е ползвал Правец8 например, ще се сети що е това интерпретатор и как работи. |
|
| Автор: | Dimitar [ Пет Мар 16, 2007 9:58 pm ] |
| Заглавие: | |
Интерпретатор е програма, която работи върху съответния процесор и интерпретира програма написана на език от високо ниво върху конкретния процесор. Компилатор е програма, която предварително превежда на машинен език (компилира) програма написана на език от високо ниво за конкретния процесор и после самия процесор си изпълнява директно машинния код. В твоя случай или въпроса или обяснението ти е грешно, тъй като асемблера е машинно зависим език -> съответно не му трябва итерпретатор, защото процесора го разбира тоя език. Та или махни думата "интерпретатор" от въпроса си или "асемблер" - това е причината да не можеш да намериш такова животно. Просто двете думи няма как да се употребят в едно изречение |
|
| Автор: | ji4ka [ Съб Мар 17, 2007 2:13 am ] |
| Заглавие: | |
Уфф... Виждам, че дискусията се измества към терминологичен спор. Може би следната дефиниция ще ви хареса: "Търси се симулатор на Пикове, който да работи в режим на интерпретация, а не с предварителна компилация и последваща симулация." Всъщност аз не искам да симулирам конкретен чип ,а само инструкциите на асемблера му. Асемблера също е език за програмиране, който процесора не разбира ,а трябва да му се преведе. Затова е нужен компилатор (също както при С,Паскал и т.н.). Като символен език асемблера също може да се изпълни в режим на интерпретация (ред по ред) или да се компилира до машинен език и да се изпълни по инструкции. Просто при интерпретация трябва да се създадат виртуални копия на регистрите на процесора, защото истинските ще обслужват самия интерпретатор(по-точно тия свързани с АЛУ-то и адресацията). Естествено скоростта ще е много по-ниска ,което е принцип при интерпретаторите, но за изпитателни цели това не е проблем. И няма техническа пречка подходящо написан компилатор да "преведе" асемблера на ПИК-а на машинния език на х86 процесор например. Тоест асемблера също може да е "преносим" по-принцип, но не това е целта му. Всяка преносимост намалява ефективността. В случая програма написана за х86 процесор изпълнява програма на асемблера на PIC16xxx написана в текстов файл и "нанася" резултатите във виртуален пик контролер. Всичко се прави "наужким" в писи-то, няма никакви чипове по масата!!! След като имаме изпълнение на програма(в случая асемблерна, а не BASIC например) а няма компилация, това трябва да е Интерпретатор, какво друго? |
|
| Автор: | Dimitar [ Съб Мар 17, 2007 2:20 am ] |
| Заглавие: | |
OK - обаче нещо немога да схвана каква ще е ползата от файдата от такъв "интерпретатор" - или просто си завързваш някакъв спор, колкото да разберем колко те мързи да прекомпилираш проекта като направиш някаква промяна. Нали помниш оня лаф - "накарай мързеливия на работа - да те научи как се правят нещата" |
|
| Автор: | ji4ka [ Съб Мар 17, 2007 2:41 am ] |
| Заглавие: | |
"Накарай мързеливия да работи, та да те научи на акъл" Хе,хе , че то тая поговорка движи прогреса Наистина ме мързи да правя нов проект + дефиниции на процесор + дефиниции на рам +++.... само за да изтествам някое кодче с 20-30 реда, което най-често е някаква математика нямаща нищо общо с конкретен контролер. Например bcd-конвертер или нещо друго. Мисля ,че нещо такова ще е ценно, а и ми се струва просто за реализация. Но явно никой друг не мисли така. Може и да има ,обаче като пусна "интрпретатор" Гугъла ме залива с Бейсик. Що ли не се учудвам? |
|
| Автор: | Syrius-B [ Съб Мар 17, 2007 3:31 am ] |
| Заглавие: | |
Абе, жичка, правил ли си изобщо някога нещо само на асемблер. Това С ви е изпило акъла, май |
|
| Автор: | JoroS [ Съб Мар 17, 2007 8:51 am ] | |||||||||
| Заглавие: | ||||||||||
Ами няма и защо да се учудваш, защото комай единственият интерпретатор е за Бейсик. Като не зададеш правилно въпроса, няма как да получиш отговора. Прочее, това което ти искаш е задание за курсова работа на ниво 3 курс - ТУ. След като много се нуждаеш от него, просто седни и си го напиши. Ако подготовката ти отговаря на самочувствието, едва ли ще ти отнеме повече от два дни |
||||||||||
| Автор: | bobyk [ Съб Мар 17, 2007 10:12 am ] |
| Заглавие: | |
Въпреки че или не занеш точно какво търсиш или просто такова животно нема, като че ли най близо до това което искаш е въпросния симулатор (пробвай го поне, има известен шанс да ти свъши работа). А иначе спора стана терминологичен понеже ти тъсиш интерпретатор, само че интерпретатота "работи" върху целевата машинка и просто ... (май няма нужда да обяснявам по-нататък). А щом искаш да работи върху РС и да "интерпретира" нещо си, то мисля си това ще е симулатор (някакъв). |
|
| Автор: | ji4ka [ Съб Мар 17, 2007 9:15 pm ] |
| Заглавие: | |
Syrius-B, ако знaех С това щях да си го направя за 2-3 дена, както отбеляза JoroS. А нещата си ги пиша само на асемблер. Не виждам противоречието с интерпретатора. JoroS, мисля че дотук ти единствен схвана от раз за какво иде реч. Към твоите 2-3 дена обаче прибави още 2-3 месеца в изучаване на някой HLL + IDE + борба с WinAPI и т.н. Просто в момента нямам време да ставам Виндовс програмист, въпреки ,че не ми липсва желание. Точно защото заданието е просто ,предположих че може да го има направено някъде. Но явно в ТУ не са се сетили да им дадат такова. Те програмистите все сложни неща правят bobyk, тоя симулатор го бях пробвал преди години ,но тогава беше доста дървен. Сега може да са го оправили, но не е там въпроса. Аз не искам да симулирам процесор - искам да "симулирам" асемблер! За интерпретатора си малко в грешка (и май не само ти). Инерпретирането е принцип на изпълнение на програма на символен език (какъвто и асемблера също е). Да, асемблера е "ограничен" до проста двоична аритметика и побитови опреации. Но това ,че е прост не значи ,че не е програмен език и като такъв също може да се интерпретира. И сега, за да стане още по-весело, ето едно "шокиращо" твърдение: Ех,че завъртяно се получи. Става за курсова работа, май |
|
| Автор: | Dimitar [ Съб Мар 17, 2007 10:57 pm ] |
| Заглавие: | |
JoroS - Java-та също се интерпретира на всяка машина - не е само Бейсик-а. ji4ka - извинявай много, но последното ти мнение показва как си много далеч от реалността |
|
| Автор: | Syrius-B [ Нед Мар 18, 2007 12:23 am ] | |||||||||
| Заглавие: | ||||||||||
Няма асемблер без процесор. |
||||||||||
| Страница 1 от 2 | Часовете са според зоната UTC + 2 часа [ DST ] |
| Powered by phpBB © 2000, 2002, 2005, 2007 phpBB Group http://www.phpbb.com/ |
|