FAQ | Points | Add... | Recent posts | Search | Register | Log in


wstawki assemblerowe w bascomie


Post new topic  Reply to topic      Main Page -> Forum Index -> Microcontrollers Generally -> wstawki assemblerowe w bascomie
Author
Message
kropek1985
Poziom 10
Poziom 10


Joined: 11 Aug 2004
Posts: 47
Location: Ruda Śląska

Post#1 Post from the author of the topic 09 Nov 2004 10:53   

wstawki assemblerowe w bascomie


witam! chyba wszyscy, którzy programowali kiedyś w bascomie wiedzą jak dużo pamięci zżerają programy napisane w tym języku. jednak w bascomie można robić wstawki assemblerowe. czy program skladający się z poleceń bascoma i wstawek assemblerowych będzie zajmował mniej miejsca niż taki sam program napisany tylko w bascomie??
Back to top
   
Google

Google Adsense


Post# Post from the author of the topic 09 Nov 2004 10:53   





Back to top
   
Robot_
Poziom 16
Poziom 16


Joined: 03 Jun 2004
Posts: 277
Location: Zabrzeg

Post#2 09 Nov 2004 11:11   

Re: wstawki assemblerowe w bascomie


Witam,
to zalezy jeśli użyjesz asemblera do niektorych funkcji to roznica powinna byc zauwazalna, natomiast w niektorych przypadkach niektóre komendy są bezpośrednio tłumaczone na asemblera i zysku nie będzie.
Pozdrawiam
Back to top
   
LordBlick
Poziom 23
Poziom 23


Joined: 31 Aug 2004
Posts: 3685
Location: Słupsk

Post#3 09 Nov 2004 14:57   

Re: wstawki assemblerowe w bascomie


Robot_ wrote:
Witam,
to zalezy jeśli użyjesz asemblera do niektorych funkcji to roznica powinna byc zauwazalna, natomiast w niektorych przypadkach niektóre komendy są bezpośrednio tłumaczone na asemblera i zysku nie będzie.

W każdym wypadku instrukcje Bascoma są tłumaczone na instrukcje asemblera, na tym polega standardowa kompilacja na język zrozumiały dla procesora. A zysk pisania w asemblerze (szybkość i mała objetość) pojawi się nie z faktu jego zastosowania, tylko "z powodu" dobrze napisanego kodu. Asembler to są po prostu drobniejsze klocki, a Bascom ma część tych klocków poskładane w własne polecenia, przez co do jednych zastosowań się one nadają zupełnie dobrze, a do innych trzeba szukac wydajniejszego sposobu poprzez umiejętne napisanie procedurki w asm. Pisząc procedurkę w asemblerze, można ją napisać na wiele sposobów, a najkorzystniejszy jest taki że np. 3 polecenia razem pełnią jednocześnie 5 funkcji potrzebnych w algorytmie. W końcu to odpowiednio wytrenowany mózg powinien być lepszym kompilatorem kodu, niż jakikolwiek kompilator języka wyższego poziomu, który ma tylko z góry zaprogramowaną ilość możliwych rozwiązań. Inna sprawa, to to, że myślenie też zajmuje sporo czasu, czasem lepiej poszukać na internecie, to nad czym myśleli już inni... :)
Pozdrawiam, LightI
Back to top
   
Google

Google Adsense


Post# 09 Nov 2004 14:57   





Back to top
   
kozak_sc
Poziom 19
Poziom 19


Joined: 29 Dec 2002
Posts: 635
Location: Sosnowiec

Post#4 10 Nov 2004 18:35   

Re: wstawki assemblerowe w bascomie


ja wszystko pisze w asmie juz porzucilem na szczescie bascoma. ale wstawki kiedys stosowalem. ale powracajac do pytania kolegi bo jak do tej powy nikt nie odpowiedzial wiec tak
mozna bezposrednio stosowac rozkazy asmowe w bascomie ale lepiej uzyc deklaracji :

$asm

tu program w asmie

$end asm
Back to top
   
bobeer
Poziom 20
Poziom 20


Joined: 25 Aug 2001
Posts: 1011
Location: NowyTarg

Post#5 11 Nov 2004 02:14   

Re: wstawki assemblerowe w bascomie


wlasciwie to procedury o ktorych napisales sa najbardziej pamieciochlonne
bardzo jeste ciekawy co tez robil i jak byl napsiany ten program w bascomie ze az 45% roznicy miedzy asm ??
czy to byl aby nie avr ??
Back to top
   
Google

Google Adsense


Post# 11 Nov 2004 02:14   





Back to top
   
kordirko
Poziom 16
Poziom 16


Joined: 13 Feb 2003
Posts: 300
Location: Mysłowice

Post#6 11 Nov 2004 04:03   

Re: wstawki assemblerowe w bascomie


kropek1985 wrote:
czy program skladający się z poleceń bascoma i wstawek assemblerowych będzie zajmował mniej miejsca niż taki sam program napisany tylko w bascomie??


Będzie zajmował mniej miejca.
Najwięcej możesz zaoszczędzisz zastępując pętle i IF-y
a także dodawanie/odejmowanie na zmiennych dwubajtowych.
Mnie się udawało zbić 20-30% kodu jak próbowałem się zmieścić w 4K kodu.
Tylko że źródła stają się mało przejrzyste, ciężko się to testuje
i w cholerę czasu to zajmuje.

Ale jak się kiedyś przesiadałem się na C to w ramach treningu przepisałem ten programik do C i byłem w szoku - tam gdzie w BASOMIE ze wstawkami
nie mogłem się pomieścić w 4K, to w C kod wyszedł mi poniżej 3K
Back to top
   
bobeer
Poziom 20
Poziom 20


Joined: 25 Aug 2001
Posts: 1011
Location: NowyTarg

Post#7 13 Nov 2004 02:05   

Re: wstawki assemblerowe w bascomie


tylko czy warto sie tak meczyc skoro mamy 51ki do 64kb romu ?
(szkoda ze malych 4051 niema z wiekszym romem narazie )
a avr to co mega to wiecej ?
jusz keidys o tym chyba wspominalem

jedyna zrozumiala przezemnie optymalizacja (przesiadka na asm) to pod wzgledem czasu:
szybkosci
dokladnosci
Back to top
   
kozak_sc
Poziom 19
Poziom 19


Joined: 29 Dec 2002
Posts: 635
Location: Sosnowiec

Post#8 13 Nov 2004 11:03   

Re: wstawki assemblerowe w bascomie


myslicie tak samo jak programisci komputerowi : po co optymalizowac programy ?? lepiej niech ktos kupi sobie nowego procka wiecej ramu itd.. jeszcze ktos inny na szarym czlowieczku dodatkowo zarobi ....................ludzie to jest chore wiekszosc programow na kompa po zoptymalizowaniu chodzila by na 486 !!!!

ja kiedys pisalem w bascomie potem zaczalem robic wstawki asmowe to juz duzo dawalo ale pisanie w czystym asmie daje o wiele wicej. przedgladal ktos kiedys pierwsze 100 bajtow kodu skapilowanego w bascomie ????

org 0
;
ljmp X00c1
;
reti
;
org 0bh
;
reti
;
org 13h
;
reti
;
org 1bh
;
reti
;
org 23h
;
reti
;
org 2bh
;
reti
;
org 43h
;
reti
;
org 4bh
;
reti
;
org 53h
;
reti
;
org 5bh
;
reti
;
org 63h
;
reti
;
org 6bh
;
reti
;
org 7bh
;
reti
;
org 8bh
;
reti
;
org 93h
;
reti
;
org 0a3h
;
reti
;
org 0abh
;
reti
;
org 0aeh


no i niech mi ktos teraz zarzuci ze to nie jest marnotrawstwo ?? jak czesto korzystamy z kazdego przerwania ?? niezmiernie zadko.
Back to top
   
bobeer
Poziom 20
Poziom 20


Joined: 25 Aug 2001
Posts: 1011
Location: NowyTarg

Post#9 13 Nov 2004 21:02   

wstawki assemblerowe w bascomie


godekm masz racje w 100%, choc niepodales konkretnego przykladu tego magicznie odchudzonego programu.
Umiejetnie piszac w bascomie mozna rowniez duzo zaoszczedzic
do kozaksc:
nawet jesli zostanie ci troche miejsca miedzy wektorami to nie wiem czy tak fajnie umieszczac tam fragmenty kodu ?
Back to top
   
kozak_sc
Poziom 19
Poziom 19


Joined: 29 Dec 2002
Posts: 635
Location: Sosnowiec

Post#10 14 Nov 2004 13:37   

Re: wstawki assemblerowe w bascomie


bobeer wrote:

nawet jesli zostanie ci troche miejsca miedzy wektorami to nie wiem czy tak fajnie umieszczac tam fragmenty kodu ?


nie - ale jezeli kozystasz tylko z przerwania np int0 a z innych nie to program moze ci sie zaczynac od adresu pod ktorym w jest umiezczona obsluga kolejnego przerwania co daje ci juz troche miejsca a chyba nie zbyt czest korzystasz z wielu przerwan w je3dnym programie.
Back to top
   
Xitami
Poziom 21
Poziom 21


Joined: 10 Aug 2004
Posts: 1126
Location: Gliwice

Post#11 14 Nov 2004 14:07   

wstawki assemblerowe w bascomie


Teoretycznie jest możliwe na etapie kompilacji stwierdzenie które przerwania będą odblokowane, ale tylko teoretycznie, kompilator musiał by przeprowadzić symulację działania programu, można by w zasadzie zrezygnować z wstawiania takiego „bezpiecznika” (instrukcji RETI) dla każdego możliwego poza jawnie wskazanymi, idę o zakład że w wielu przypadkach programy w Bascomie wykonują taki „dziwne” przerwania, a że to nie szkodzi to nawet nie jest zauważane.
Back to top
   
Google

Google Adsense


Post# 14 Nov 2004 14:07   





Back to top
   
kozak_sc
Poziom 19
Poziom 19


Joined: 29 Dec 2002
Posts: 635
Location: Sosnowiec

Post#12 14 Nov 2004 15:53   

Re: wstawki assemblerowe w bascomie


moze ty tego nie zauwazasz ale czas wykonywania programu rosnie i ni jest mozliwe w bascomie wygenerowanie precyzyjnego przebiegu w czasie.
Back to top
   
Post new topic  Reply to topic      Main Page -> Forum Index -> Microcontrollers Generally -> wstawki assemblerowe w bascomie
Page 1 of 1
Similar topics
Wstawki asemblerowe w C - składnia (2)
Keil i wstawki asmenblerowe. (4)
Bascom 51 a wstawki asemblerowe (10)
Assemblerowe moduły w C++Builder (3)
Wstawki ASM w Bascomie - jak to bezpiecznie zrobić? (18)
Wstawki asemblerowe w bascomie (9)
CodeVision C i wstawki assemblerowe (4)
Wstawki assemblerowe w C-KEIL (3)
Dev-c++ i wstawki asemblerowe (2)
wstawki asemblerowe w WinAVR (1)

Page generation time: 0.124 seconds


FAQ || Administrator || Moderators || Widgets and banners || Contact
elektroda.pl topic RSS feed