Skocz do zawartości
ru-dy

Odwzorowanie C Lub Pascala Do Asemblera

Rekomendowane odpowiedzi

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 przez ru-dy

Udostępnij tę odpowiedź


Odnośnik do odpowiedzi
Udostępnij na innych stronach

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...

Udostępnij tę odpowiedź


Odnośnik do odpowiedzi
Udostępnij na innych stronach

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

Udostępnij tę odpowiedź


Odnośnik do odpowiedzi
Udostępnij na innych stronach

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.

Udostępnij tę odpowiedź


Odnośnik do odpowiedzi
Udostępnij na innych stronach

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...

Udostępnij tę odpowiedź


Odnośnik do odpowiedzi
Udostępnij na innych stronach

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.

Udostępnij tę odpowiedź


Odnośnik do odpowiedzi
Udostępnij na innych stronach

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.

Udostępnij tę odpowiedź


Odnośnik do odpowiedzi
Udostępnij na innych stronach

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 przez PelzaK

Udostępnij tę odpowiedź


Odnośnik do odpowiedzi
Udostępnij na innych stronach

Dołącz do dyskusji

Możesz dodać zawartość już teraz a zarejestrować się później. Jeśli posiadasz już konto, zaloguj się aby dodać zawartość za jego pomocą.

Gość
Dodaj odpowiedź do tematu...

×   Wklejono zawartość z formatowaniem.   Przywróć formatowanie

  Dozwolonych jest tylko 75 emoji.

×   Odnośnik został automatycznie osadzony.   Przywróć wyświetlanie jako odnośnik

×   Przywrócono poprzednią zawartość.   Wyczyść edytor

×   Nie możesz bezpośrednio wkleić grafiki. Dodaj lub załącz grafiki z adresu URL.

Ładowanie


×
×
  • Dodaj nową pozycję...