ru-dy Opublikowano 3 Maja 2006 Zgłoś Opublikowano 3 Maja 2006 (edytowane) Cześć, Jeden "pAN" profesor zadał mi zadanie odwzorowania jeżyka C do asemblera oraz zapytał się co jest trudniejsze do zrobienia: Odworowanie pascala na asemblera czy C do asemblera (chodzi o operatory, instrukcje sterujace, wywolanie funkcji oraz zmienne) Moim zdniem psacal chyba bedzie łatwiejszy do odworowania gdyż jest jezykiem chyba raczej prostrzym od C, a w c petle sa bardziej rozbudowane. Czy moze ktos potwierdzic mój tok rozumowania, bo chialbym dobrze napisać w sparwozdaniu a nie wiem gdzie szukać na ten temat informacji. Dzieki za pomoc. pozdrawiam wszytskich forumowiczów. Edytowane 3 Maja 2006 przez ru-dy Cytuj Udostępnij tę odpowiedź Odnośnik do odpowiedzi Udostępnij na innych stronach Więcej opcji udostępniania...
PelzaK Opublikowano 3 Maja 2006 Zgłoś Opublikowano 3 Maja 2006 nie wie do konca co znaczy odzwzorowania.. ale C jest bliższy asemblerowi niż pascal. Nie wiem czy przytoczę włąściwy przykład .. ale w C masz operatory przesunięć bitowych << >> odpowiednie do asemblerowych shl shr. Poza tym wskaźniki (czyli adresowanie pamięci) są czymś naturalnym i powszechnym w C... Nie wiem czy w pascalu są a jesli już to rzadko się je chyba używa... Ogólnie... asembler jest językiem najniższego poziomu ( nie licząc kodu maszynowego :D).. dalej masz C.. a pascal jest jezykiem wyższego poziomu niż C na pewno... Cytuj Udostępnij tę odpowiedź Odnośnik do odpowiedzi Udostępnij na innych stronach Więcej opcji udostępniania...
ru-dy Opublikowano 4 Maja 2006 Zgłoś Opublikowano 4 Maja 2006 nie wie do konca co znaczy odzwzorowania.. ale C jest bliższy asemblerowi niż pascal. Nie wiem czy przytoczę włąściwy przykład .. ale w C masz operatory przesunięć bitowych << >> odpowiednie do asemblerowych shl shr. Poza tym wskaźniki (czyli adresowanie pamięci) są czymś naturalnym i powszechnym w C... Nie wiem czy w pascalu są a jesli już to rzadko się je chyba używa... Ogólnie... asembler jest językiem najniższego poziomu ( nie licząc kodu maszynowego :D).. dalej masz C.. a pascal jest jezykiem wyższego poziomu niż C na pewno... dzięki, wlasnie potzrebowalem takiej wypowiedzi a nie moglem znależć nikogo kto sie zna na językach programowania, wiem tylko że np. mikrokontrolery programuje się albo w C albo w asembleze nic innego w sumie nie ma, więc C musi być stosunkowo bliski opisowi sprzętu dzieki za pomoc Cytuj Udostępnij tę odpowiedź Odnośnik do odpowiedzi Udostępnij na innych stronach Więcej opcji udostępniania...
Walonek Opublikowano 7 Maja 2006 Zgłoś Opublikowano 7 Maja 2006 No wiesz co ? oba są tak samo przekształcalne na assemblera zarówno pascal i c. W pascalu istnieją takie same operatory jak w c tylko może inaczej sie nazywają twój przykład << = shl a >> = shr :-P. Pascal i c powstały w tym samym czasie. C jest popularniejszy bo sie fajnie pisze i krócej bo tu jest np { a w pascalu begin. Podobieństwo do assemblera może jest minimalnie większe w c bo można nadpisać zmienną jednego typu typem innym kompilator w pascalu na to nie pozwoli, w asmie to jest bezproblemowe bo to jest poprostu nadpisanie mov`em :D. Wskaźniki w pascalu istnieją i się też używa, na konkursach to ani rusz bez nich :D. Można powiedzieć ze pascal jest bardziej dydaktyczny(łatwiejszy do przyswojenia i kontrola błędów) od c, ale c sie w nowoczesnym programowaniu nie używa(no oprócz konkursów i innych takich bo wystarcza i jest szybciutki), używa sie c++ ale to już jest inna bajka :D. Cytuj Udostępnij tę odpowiedź Odnośnik do odpowiedzi Udostępnij na innych stronach Więcej opcji udostępniania...
PelzaK Opublikowano 8 Maja 2006 Zgłoś Opublikowano 8 Maja 2006 mów co chcesz.. pascal z C przegrywa na całej długości... i C jest bardzo bliski asemblerowi... w odróznieniu od pascala.. nie potrafię przytoczyć konkretnych argumentów wnikając w struktury języków.. ale tak jest... :) Nie wiem np jak jest w pascalu z obłsugą stosu.. ale w C wywołanie każdej funkcji odkłada na stos pewne informacje.. niemal identycznie jak w asmeblerze przy wywołaniu procedury... Cytuj Udostępnij tę odpowiedź Odnośnik do odpowiedzi Udostępnij na innych stronach Więcej opcji udostępniania...
DiJo Opublikowano 8 Maja 2006 Zgłoś Opublikowano 8 Maja 2006 także ze zmiennymi jest chyba prościej w c: jak masz tablice tab[20] to samo tab to jest adres początku tablicy w pamięci a każde tab+i to następny el. tablicy, w strukturach chyba podobnie z adresami. Pozatym kiedyć czytałem jak zrobić własny os w c++ i wydaje sie to dość proste :) w pascalu chyba by sie nie dało. Pozatym pascal ma wbudowane funkcje, których nie da sie (imho) wyłączyć, takie jak write itp. Cytuj Udostępnij tę odpowiedź Odnośnik do odpowiedzi Udostępnij na innych stronach Więcej opcji udostępniania...
Walonek Opublikowano 8 Maja 2006 Zgłoś Opublikowano 8 Maja 2006 Nie chce sie kłucić o to co jest lepsze czy c czy pascal a pozatym c to nie jest c++, więc to już wogle dywagacje z innej bajki. Miało być porównanie co jest bardziej przekładalne na asm pas czy c :D a nie c++... A samo mówienie ze c jest bliższy asmowi bo jest nie ma sensu. Pozatym Dijo napisałeś w c++ łatwo os stworzyć, sprawdz czy tak samo łatwo jest w pascalu i asmie i czystym c :D. C jest bardziej wskaźnikowy od Pascala to fakt asm niestety chyba nie musi walisz poprostu na początku programu ze tu i tu ma być zmienna tak jak w pascalu tyle ze bez adresu. Można też przechowywać w zmiennych adres co już nazywamy wskaźnikiem więc wychodzi na jedno i to samo ze pas=c pod względem rozkładalności do asma... Podsumujmy im język udostępnia mniej poleceń obsługujących więcej cudów to jest dalszy asmowi :D c i pas są sobie równe, bliżsi asmowi są np poprzednicy b i algol bo trzeba było troche bardziej sie namęczyć by stworzyć to samo. Cytuj Udostępnij tę odpowiedź Odnośnik do odpowiedzi Udostępnij na innych stronach Więcej opcji udostępniania...
PelzaK Opublikowano 8 Maja 2006 Zgłoś Opublikowano 8 Maja 2006 (edytowane) porównujesz pascala do C? :wink: no nie wiem.... to raczej nie powinno stać na jednej półce... Pascal był dobry w latach 80 zeszłego wieku... potem przeniesiono się na C gdy zaczęto rozwijać systemy UNIXowe... więc widać pascal nie za bardzo nadawał się do pisania systemów operacyjnych... a te jak wiadomo do sprzętu mają najbliżej (jak asembler). Gdzieś kiedyś widziałem porównanie języków ale nie pamiętam gdzie... i było dokładnie wyjaśnione różnice miedzy pascalem i C. ps. kłócić - nauczmy się najpierw języka polskiego a potem będziemy się wypowiadać nt innych języków :) Edytowane 8 Maja 2006 przez PelzaK Cytuj Udostępnij tę odpowiedź Odnośnik do odpowiedzi Udostępnij na innych stronach Więcej opcji udostępniania...
Walonek Opublikowano 9 Maja 2006 Zgłoś Opublikowano 9 Maja 2006 zauważ ze tylko tak porównuje "pas=c pod względem rozkładalności do asma" Cytuj Udostępnij tę odpowiedź Odnośnik do odpowiedzi Udostępnij na innych stronach Więcej opcji udostępniania...