Kanał - ATNEL tech-forum
Wszystkie działy
Najnowsze wątki



Teraz jest 29 mar 2024, o 05:50


Strefa czasowa: UTC + 1





Utwórz nowy wątek Odpowiedz w wątku  [ Posty: 6 ] 
Autor Wiadomość
 Tytuł: asm i C
PostNapisane: 8 mar 2020, o 18:56 
Offline
Użytkownik
Avatar użytkownika

Dołączył(a): 04 lut 2014
Posty: 164
Pomógł: 3

Witam

chciałbym zapytać osób, które często korzystają z wstawek asemblera czy wspomagają się w pisaniu kodu jakimiś narzędziami.
Czy niezbędna jest pełna znajomość architektury na którą pisze się kod (np stm32 lub avr) aby móc wstawkę asm dodać czy istnieją np. programy które potrafią przekonwertować kod z C na asm oraz mają funkcję optymalizacji.
Mam tu na myśli procedury, przy których nam zależy aby wykonały się w bardzo krótkim czasie.

A może ktoś doda swoje doświadczenia z tym związane i optymalizacją kodu? Będę wdzięczny za podpowiedzi.

Pozdrawiam.

_________________
::::::: C ::::::::::
:::::: C++ :::::::::



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
 Tytuł: Re: asm i C
PostNapisane: 8 mar 2020, o 19:58 
Offline
Moderator
Avatar użytkownika

Dołączył(a): 03 paź 2011
Posty: 27212
Lokalizacja: Szczecin
Pomógł: 1041

Nie ma żadnych cudownych konwerterów do wstawek z C na ASM, zapomnij o tym. Po prostu trzeba się nauczyć asemblera i jeszcze tego jak te wstawki pisać. Na naszym forum kolega andrews zrobił w tym zakresie kilka fajnych poradników ale do AVR. Nie ma bowiem panie kochany jednego asemblera do wszystkich rodzin procków. Każda ma swój asembler i każdego trzeba się też uczyć ..

_________________
zapraszam na blog: http://www.mirekk36.blogspot.com (mój nick Skype: mirekk36 ) [ obejrzyj Kurs EAGLE ] [ mój kanał YT TV www.youtube.com/mirekk36 ]



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
 Tytuł: Re: asm i C
PostNapisane: 8 mar 2020, o 20:26 
Offline
Użytkownik

Dołączył(a): 11 mar 2019
Posty: 44
Zbananowany użytkownik

Pomógł: 5

Jak chcesz zobaczyć jaki kod asm Twój kompilator generuje na szybko jest bardzo fajne narzedzie do tego a nazywa się godbolt:

https://godbolt.org/

Wystarczy wybrać, kompilator, czy to np AVR-GCC czy też ARM-GCC (w arm-gcc trzeba rzucić mu flagę na jakiego cortexa kompiluje bo im wyższy M tym więcej instrukcji ma). Zanim zaczniesz pisać w ASM może warto czasem dać przełącznik do GCC na danym pliku np do 02 albo nawet O3. To co współczesne kompilatory potrafią zoptymalizować to mała głowa i nie jeden programista wymięknie. Są jednak sytuacje w których najwyższa optymalizcja nie pomaga i mus jest napisać wstawkę. Swoją drogą assembler tylko wygląda strasznie. Tak naprawdę jest prostszy od C.


Autor postu otrzymał pochwałę


Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
 Tytuł: Re: asm i C
PostNapisane: 8 mar 2020, o 20:53 
Offline
Moderator
Avatar użytkownika

Dołączył(a): 03 paź 2011
Posty: 27212
Lokalizacja: Szczecin
Pomógł: 1041

Nef napisał(a):
Jak chcesz zobaczyć jaki kod asm Twój kompilator generuje na szybko jest bardzo fajne narzedzie do tego a nazywa się godbolt:

Nef ale po co aż takie sztuczki i potrójne salto mortale ? ;)

toż każdy ma po kompilacji plik *.lss a w nim cały kod swojego programu w asemblrze ślicznie. A jeśli się załączy wyższy stopień debugowalności w settingsach to jeszcze będą wstawione fragmenty kodu C itd ... więc wszystko jest pod ręką ;)

_________________
zapraszam na blog: http://www.mirekk36.blogspot.com (mój nick Skype: mirekk36 ) [ obejrzyj Kurs EAGLE ] [ mój kanał YT TV www.youtube.com/mirekk36 ]



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
 Tytuł: Re: asm i C
PostNapisane: 9 mar 2020, o 09:12 
Offline
Użytkownik

Dołączył(a): 11 mar 2019
Posty: 44
Zbananowany użytkownik

Pomógł: 5

mirekk36 napisał(a):
oż każdy ma po kompilacji plik *.lss a w nim cały kod swojego programu w asemblrze ślicznie. A jeśli się załączy wyższy stopień debugowalności w settingsach to jeszcze będą wstawione fragmenty kodu C itd ... więc wszystko jest pod ręką


dla mnie wygodniejszy jest godbolt bo to co wpisuje mam od razu w locie kompilowane i mogę analizować jak wygląda moja funkcja. plik .lss jest według mnie mniej czytelny. Nie wiem gdzie tu jakieś salta widzisz. W dodatku jak programuje multiplatformowo to mogę popatrzeć jak wygląda moja funkcja na różnych platformach od razu. Ale może żeby to docenić to trzeba mieć otwartą głowę a nie w kółóko klepać utarte schematy.



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
 Tytuł: Re: asm i C
PostNapisane: 9 mar 2020, o 21:06 
Offline
Użytkownik
Avatar użytkownika

Dołączył(a): 04 lut 2014
Posty: 164
Pomógł: 3

Dzięki @Nef - coś takiego właśnie bardzo mnie interesowało.

_________________
::::::: C ::::::::::
:::::: C++ :::::::::



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
Wyświetl posty nie starsze niż:  Sortuj wg  
Utwórz nowy wątek Odpowiedz w wątku  [ Posty: 6 ] 

Strefa czasowa: UTC + 1


Kto przegląda forum

Użytkownicy przeglądający ten dział: Brak zidentyfikowanych użytkowników i 8 gości


Nie możesz rozpoczynać nowych wątków
Nie możesz odpowiadać w wątkach
Nie możesz edytować swoich postów
Nie możesz usuwać swoich postów
Nie możesz dodawać załączników

Szukaj:
Skocz do:  
cron
Sitemap
Technologię dostarcza phpBB® Forum Software © phpBB Group phpBB3.PL
phpBB SEO