|
Виж темите без отговор | Виж активните теми
Дата и час: Пон Юли 27, 2026 4:28 pm
Транслатор от високо ниво към ASM за контролери :)
| Автор |
Съобщение |
|
tgi
Ранг: Форумен бог
Регистриран на: Нед Юни 10, 2007 2:22 pm Мнения: 6492 Местоположение: София
|
Всъщност идеята е добра, ако и да не е пряко практична.
Компилатори има достатъчно - но да напишеш нещо, което не си
писал досега е друга работа, добиваш знания и опит, които си нямал
и инак няма откъде да получиш.
Така че ако ти е интересно и можеш да отделиш време давай смело, пък като
имаш нещо покажи резултатите. Цял живот съм действал така, бил съм и богат,
и беден, и в крайна сметка и в много враждебна среда съм успявал да
намеря някого да иска да ми плати за да направя нещо, което другите
не могат.
А ако ще вампирясваш и погваш някого - в случая Никола де - свиркай да
идваме да гледаме  .
_________________------------------- www.tgi-sci.com------------------- http://www.flickr.com/photos/didi_tgi/
|
| Нед Юли 20, 2008 2:48 pm |
|
 |
|
solenoid
Ранг: Минаващ
Регистриран на: Чет Ное 02, 2006 1:13 am Мнения: 88
|
Време нямам излишно. Нито имам кой да ме издържа, или да ми плаща да си пиша неща за кеф. Говорех хипотетично и ей така, лаф да става. Понякога ми се приисква, но само си говоря.
|
| Нед Юли 20, 2008 8:29 pm |
|
 |
|
Syrius-B
Ранг: Форумен бог
Регистриран на: Пон Яну 30, 2006 2:48 am Мнения: 1248 Местоположение: София
|
Минаха времената, когато ни плащаха, за да правим, каквото ни е интересно.
Сега правим каквото иска клиента, и само за колкото си плаща.
И мен понякога ме сърбят ръцете, но времето все не стига ..... 
|
| Пон Юли 21, 2008 1:00 am |
|
 |
|
tgi
Ранг: Форумен бог
Регистриран на: Нед Юни 10, 2007 2:22 pm Мнения: 6492 Местоположение: София
|
Ами всъщност на мене никога някой не ми е плащал, за да правя това, което аз съм
искал. Успявал съм да продам продукти, които съм правил и са ми били интересни,
след като съм ги имал направени, правенето си е било на мои разноски и риск.
Ако на човек наистина нещо му е интересно и иска да го направи,
намира време - никой не работи 100% от времето си, за да се прехранва.
Инак животът ще си мине в чакане на момента, в който да стане интересно... Това
е съдбата на повечето (почти всички?) хора, разбира се, и алтернативата е трудна.
Обикновено човек знае силите си и се захваща с неща, които вижда как ще докара
до край.
В случая един написан компилатор би бил бая добавка към биографията на всеки
от форума - ако човек наистина го направи, де - и вероятно би се изплатил в дългосрочен
план.
_________________------------------- www.tgi-sci.com------------------- http://www.flickr.com/photos/didi_tgi/
|
| Пон Юли 21, 2008 3:08 am |
|
 |
|
Syrius-B
Ранг: Форумен бог
Регистриран на: Пон Яну 30, 2006 2:48 am Мнения: 1248 Местоположение: София
|
Прав си, разбира се, но някои идеи си искат и времето и ресурсите, които не винаги можеш да намериш просто така, между другото...
Пък и с годините човек почва да се изморява 
|
| Вто Юли 22, 2008 12:50 am |
|
 |
|
Zdrav
Ранг: Форумен бог
Регистриран на: Сря Яну 26, 2005 2:01 pm Мнения: 1952 Местоположение: Варна
|
Струва ми се много хора се подведоха по заглавието на темата или по собственото си тълкуване на заглавието. А в "Безумни идеи" совите не са това което са.
Според мен на solenoid-a му трябва оптимизатор не транслатор. Но ако на някой не му харесва какво е надробил компилатора има и други начини за измъкване. Например inline assembler. На мен рядко ми се налага да пиша на асемблер и в тези редки случаи обикновенно това е част от код, който трябва да се интегрира в останалата част от С сорса. В много от случаите една добре обмислена inline функция вътре в тялото на която се ползва inline assembler върши точната работа. Разбира се всичко зависи от случая, възможностите на компилатора и възможностите на програмиста.
От колеги заклети екстремисти писачи на асемблер съм чувал, че ползват макроси. Правят си един вид собствен език от по-високо ниво. Без да им се налага да пишат собствени развойни средства. Щото то хубаво, че ще се сблъскаш с нови неща, когато седнеш да пишеш компилатор, ама най-добре е ако навреме разбереш дали възможностите ти в момента са достатъчни да бъдеш писач на компилатори или не. Например кофеиновата диета може да не ти понесе добре.
_________________ Най-опасният враг на истината и свободата е мнозинството.
|
| Вто Юли 22, 2008 10:45 am |
|
 |
|
bongo-bongo
Ранг: Почетен член
Регистриран на: Нед Юли 29, 2007 2:41 pm Мнения: 610
|
А бе вие ще се хванете ли да пишете или само ще ми късате нервите?
Те хората ако мислеха колкото вас нямаше да има грам GNU Software.
---------------------------
И не плачете колко е трудно, нали е за шоуто...
Пак се сетих как писах DOS за Правчо8 в 16 битовата ера. Направо хвърчеше - всички драйвъри бяха пренаписани на най-елементарно ниво. Хардуерът се използваше до дупка. Дори бях измислил и интерфейса - нещо като GUI ама без истинска графика, максимално любезен. Е, за самият интерфейс щеше да ми трябва далеч повече време ама не над 6 месеца.
И после ме подгони службата, после гладът, после излезе Windows и всички днес си патим заради няк'ви си 6 месеца 
_________________ Тя простотията по хората ходи
|
| Вто Юли 22, 2008 10:11 pm |
|
 |
|
solenoid
Ранг: Минаващ
Регистриран на: Чет Ное 02, 2006 1:13 am Мнения: 88
|
Захванах го днеска следобяда, и му нахвърлях един прост парсер / токенайзер.
Това е кода на импровизираното С
А това го вади транслатора към асемблер. Не съм проверявал дали работи, само дали се компилира. На вид ми изглежда ОК
Ей го как изглежда засега
|
| Чет Юли 24, 2008 12:20 am |
|
 |
|
solenoid
Ранг: Минаващ
Регистриран на: Чет Ное 02, 2006 1:13 am Мнения: 88
|
Малко синтакс-хайлайтинг , вложени цикли и иф-ове. Блоковете if, for и while могат да се влагат един в друг до безкрай. Това е само началото. Фунцкции, структури, макроси, стрингове, флоат-ове и т.н. от самия ези, и после и ПИК-библиотеките, прекъсвания , ЛСД-та, ЛЕД-ове и тем подобни.
Тестовия Ц код ;
И генерирания асемблер  |  |  |  | Код: LIST P = P16F84 , R=DEC #include <P16F84.inc> PadRam EQU 0x20 x EQU PadRam + 0 wtf EQU PadRam + 1 i EQU PadRam + 2 ORG 0x00 GOTO Start Start CLRF i CLRF x CLRF wtf BANKSEL TRISB CLRF TRISB BANKSEL PORTB MOVLW b'01000110' MOVWF PORTB BANKSEL PORTB CLRF PORTB MOVLW 0 MOVWF i L_01: MOVLW 255 SUBWF i ,0 BTFSC STATUS, C GOTO L_11 L_02: MOVLW 10 SUBWF x ,0 BTFSC STATUS, C GOTO L_12 ;add code here INCF x , 1 GOTO L_02 L_12: L_21: MOVLW 1 ADDWF i ,1 GOTO L_01 L_11: BANKSEL PORTB MOVLW 1 SUBWF PORTB, 0 BTFSC STATUS, C GOTO L_03 ;add code here BANKSEL PORTB MOVLW 0xFF MOVWF PORTB L_03: CLRF i CLRF x L_04: MOVLW 255 SUBWF i ,0 BTFSC STATUS, C GOTO L_14 ;add code here INCF i , 1 GOTO L_04 L_14:
END
|  |  |  |  |
|
| Съб Юли 26, 2008 12:37 am |
|
 |
|
ji4ka
Ранг: Форумен бог
Регистриран на: Чет Фев 01, 2007 4:04 am Мнения: 1539
|
...Ще му вървя аз да му оправям нещата. Натряскало BANKSEL-и през 2 реда и все вдига и сваля накакви битове там... 
|
| Съб Юли 26, 2008 11:28 am |
|
 |
|
solenoid
Ранг: Минаващ
Регистриран на: Чет Ное 02, 2006 1:13 am Мнения: 88
|
Това са бели кахъри.  Виждам го тоя проблем(и още доста други) и го имам в предвид, като му дойде времето за оптимизации. Сега е важно да бачка там..Банките не би трябвало да са проблем, ако знам каква е текущата банка и я сменям само при регистри дето са другаде.
То и сега има начални наченки на оптимизации. Като видя, че се просвоява нула- направо CLRF. Като видя че се вади или прибавя 1 -incf,decf( в текущата версия)
|
| Съб Юли 26, 2008 1:16 pm |
|
 |
|
ji4ka
Ранг: Форумен бог
Регистриран на: Чет Фев 01, 2007 4:04 am Мнения: 1539
|
Просто ти намеквам ,че ако вървиш по утъпкана пътека, ще стигнеш докъдето са стъгнали и другите, само дето ще си закъснял.
Твоята идея от "обща" бързо си я свел до нещо като "полукомпилатор на Ц за ПИК". За тия които пишат на Ц е твърде недостатъчно, а за тия които пишат на асм хич не им върши работа. Ти всъщност на кои искаш да помогнеш?
|
| Съб Юли 26, 2008 1:42 pm |
|
 |
|
solenoid
Ранг: Минаващ
Регистриран на: Чет Ное 02, 2006 1:13 am Мнения: 88
|
Чакай сега, аз не съм благотворително дружество и не искам да помагам на никой. Просто си чеша крастата. Проекта ми е интересен и едновременно с това си е упражнение.
Иначе съм закъснял, да. Няма вече ентусиасти да вземем да спретнем един изтънчен компилатор като сръбското микроС 
|
| Съб Юли 26, 2008 2:42 pm |
|
 |
|
ji4ka
Ранг: Форумен бог
Регистриран на: Чет Фев 01, 2007 4:04 am Мнения: 1539
|
Жалко за тебе защото много хора са готови даже да си плащат за получената помощ.  Ако продукта ти не помага на никого значи е безполезен. Гледай поне на тебе да помогне , че да не е без хич.
|
| Съб Юли 26, 2008 2:57 pm |
|
 |
|
Nikola Kirov
Ранг: Форумен бог
Регистриран на: Нед Окт 31, 2004 9:19 pm Мнения: 4464 Местоположение: Stara Zagora
|
"изтънчен компилатор като сръбското микроС"
Не че те хваля ама като прочетох тази фраза ми идва наум само думата полуидиот  :)
Всъщност излъгах.
Полу го сложих после за благозвучие 
|
| Нед Юли 27, 2008 3:28 pm |
|
|
Кой е на линия |
Потребители разглеждащи този форум: 0 регистрирани и 1 госта |
|
Вие не можете да пускате нови теми Вие не можете да отговаряте на теми Вие не можете да променяте собственото си мнение Вие не можете да изтривате собствените си мнения Вие не можете да прикачвате файл
|
|