Niedawno zrobiłem mały egzamin tej 'inteligencji', marnie wypadła ze znajomości avrów ;) (nie można zagnieździć bold w code, więc będzie rozlazłe) procesor avr ze stosem sprzetowym ChatGPT Procesory AVR, takie jak te z rodziny ATmega, są wyposażone w stos sprzętowy, który jest używany do zarządzania wywołaniami funkcji, przerwami oraz przechowywaniem...
Chodzi mi o to żeby tak, jak zrobiłem to w przypadku funkcji do enkodera podejrzeć wartości zmiennych w danym momencie programu i świetną sprawą byłoby śledzić program linijka po linijce, skoki do funkcji, powroty z funkcji, stan stosu, wywołanie przerwań i ich wykonanie. Wiem, że dla PICów programowanych w asemblerze jest coś takiego, a przynajmniej...
Raport z postępów: brak ;P (chociaż rozgryzłem to haszowanie częściowo - w programie easyhash pod nazwą crc-16(x25) - nie moge tylko zmusić swojej funkcji żeby poprawnie hashowała - nie jest podany wielomian haszujący...) o adapterze: Adapter który posiadam kupiłem gotowy na allegro, schemat: jak z tego wybrnąłem? układ FTDI232R może pracować w trybie...
Co do samego tematu: Szybkość kodu w asemblerze wynika z tego, że pisząc w nim kod wykorzystujemy wszystkie założenia dotyczące projektu - założenia są podstawą optymalizacji, a jeśli ktoś nie wykorzystuje wszystkich założeń, niech pisze w C, mniej się narobi, bo i tak nic nie zoptymalizuje - i tak: - można niektóre warunki uprościć (założenia dotyczące...
Z tego co mi wiadomo jest już dostępna beta LPCXpresso pod linuksa. Co do asemblera ja stosuje wywołanie funkcji i dorzucam plik z rozszerzeniem .s do projektu. A w pliku w którym wywołuje tą funkcje wstawiam coś takiego: extern int clock_init(); a później w wybranym miejscu w pliku z rozszerzeniem C daje coś takiego: clock_init(); Jeśli...
Witam Mam funkcje napisana w asemblerze i wykorzystuje ją w pliku "C". funkcja używa dwóch argumentów, są to zmienne GLOBAL w asemblerze "x1" i "x2", w pliku h mam zadeklarowane extern do tych zmiennych i funkcji "test" Program wygląda tak: main(void) { x1=2; x2=3; test(); } funkcja wykonuje operacje na x1 i x2,a wynik tych...
Tak. Na początek wyrzucić RET po RJMP Piksel_rowna_sie_jeden. A następnie, analizując ten zestaw instrukcji napisać równoważny kod: [syntax=armasm]Piksel_rowna_sie_zero: RET [/syntax] Skoro kasujesz R16 instrukcją CLR R16, to po co ładujesz tam literał przez LDI R16,0? Bez sensu. Skoro w R16 jest zero, które wymusiłeś, to po co sprawdzać warunek czy...
Pisze programy w asemblerze na mikrokontrolery lpc111x (lpc1114). Ponieważ korzystam z takiej płytki - .syntax unified .cpu cortex-m0 .align2 .globalsystick_init .thumb .thumb_func systick_init: //wyzerowanie rejestru SYST_CVR movs r1, #0 ldr r0, =0xE000E018 str r1, [r0] //wpisanie wartosci odliczanej do rejestru SYST_RVR movs r1, #1 lsls...
Dziękuję za odpowiedź Wpisałem do programu _delay_ms(x) i wielkość kodu po tym wpisie podskoczyła prawie pięć razy, pierwsze wywołanie tej funkcji daje +~3k Idę o zakład, że x jest zmienną. Spróbuj wpisać tam zamiast x jakąś konkretną wartość, żeby była znana już na etapie kompilacji. Akurat pisałem program, który używał _delay_ms i w całości miał...
PO. : ad 1/ avr'y są ośmiobitowe, ale obsługa zmiennych 16-bitowych jest optymalna. W przypadku średnim obsługa zajmuje 2* więcej czasu: podstawienie pomiędzy rejestrami (2*mov=2 cykle lub w szczególnym przypadku movw=1 cykl), inkrementacja (subi+sbci = 2cykle, odejmowanie wartości ujemnej, gdyż nie ma dodawania o stałą podaną bezpośrednio; w przypadkach...
void keyboardHandler(void) { if((AT91F_PIO_GetInput(AT91C... & AT91C_PA19_FIQ)) { AT91C_BASE_AIC->AIC_SMR[AT91C_ID_... = AT91C_AIC_SRCTYPE_EXT_NEGATIVE_EDGE; AT91F_PITDisableInt(AT91C_BASE_PITC&... //readKeyboard(); keyboardTrigger = 1; } else { AT91C_BASE_AIC->AIC_SMR[AT91C_ID_...
Mam zbudowany układ z Atmegi8 i dwóch rejestrów przesuwnych: http://obrazki.elektroda.pl/9505521200_1... Jeśli ktoś nie wie jak działa rejestr przesuwny, można podejrzeć http://obrazki.elektroda.pl/1770969900_1... W C jest to całkiem proste i można zrobić to w ten sposób: [syntax=c]#include <avr/io.h> #include <avr/interrupt.h>...
A zamieniłeś wszędzie , miejsca gdzie było 'dword ptr i' na 'edi', a 'dword ptr j' na 'esi' ? Poza tym, czemu wywaliłeś 'add esp, 0x0c' za wywołaniem funkcji???
Witam. Może ktoś mi pomoże napisać funkcje w assemblerze, która po kompilacji i dodaniu jako zewnętrzny plik do projektu będzie działać w avr-gcc. Przykład taki znalazłem na stronie: http://winavr.scienceprog.com/avr-gcc-tu... Niestety w przykładzie tym funkcje nie mają żadnych argumentów, a mi zależy...
Musze napisac komentarze do takiego programu. Może mi ktoś w tym pomoć i to zrobić? *387 CODE SEGMENT ASSUME CS: CODE, DS:CODE ORG 100H; START: MOV AX, CS MOV DS, AX; FILD A; FSIN; FMULST, ST(0); FILD A FCOS; FMULST, ST(O); FADDP FISTPB MOV AX, 4COOH INT21H A DQ 10 B DQ ? CODE ENDS END START
Witam. Na wstępie chciałem zaznaczyć że jeżeli chodzi o Asemblera to jestem kompletnie zielony, a pech chciał że musze wykonać dwa zadania z nim związane, więc będe wdzięczny za każdą wskazówke i okazaną pomoc ;) Zad 1) Napisz kod w asemblerze odpowiadający fragmentowi kodu w C z wykorzystaniem TYLKO instrukcji MOV, SHL, SHR, SUB, JZ, JNZ, POP i PUSH...
Moglby mi ktos powiedziec jak wywolac funkcje asemblerowa w programie napisanym w C? Z gory dziekuje za pomoc.
Witam, Gdzieś kiedyś czytałem - ale że dawno (znowu) nie robiłem nic w C to jakoś mi to umknęło - a wiem, że można - hmmm chyba chodzi mi oto aby można było napisać sobie funkcję w asemblerze - a później korzystać z niej AVR GCC wywołując ją z paramertami. Dokładniej mówiąc znalazłem fajną notę AVR304 - to jest software UART, niewiele linijek kodu -...
czy ktos wie jak robic wstawki asemblerowe w programie napisanym w C oraz jak wstawic funkcje napisana w C do programu asemblerowego?
mam problem z asemblerem :/ jak sie w devc++ stosuje wstawki asmeblerowe? mecze sie z tym juz dluzszy czas i nie mam juz pomyslow:/ probuje wstawic cos takiego: __asm{ mov dx, adr mov al, slowo out dx, al } za kazdym razem dostaje komunikat : parse error before "{" jak to zrobic? pomozcie
Witam. Moje pytanie dotyczy sposobów wygodnego dołączania kodu napisanego w asemblerze do programu napisanego w C. Żeby nie przynudzać podam konkretny przykład: Mam taką procedurkę napisaną w asemblerze: USART_FlushRX: sbis UCSRA, RXC ret in temp0, UDR rjmp USART_FlushRX Chciałbym móc ją wywoływać z poziomu C. Oczywiście nic nie stoi na przeszkodzie...
Witam, potrzebuje wyjaśnienie poszczególnych rozkazów asemblera, tzn co robi "mov", "jump" itp, jest mi to bardzo potrzebne. Za wszelką pomoc serdecznie dziękuje. Pozdrawiam Damian
Witam, kiedyś bawiłem się mikrokontrolerkami AVR w Bascomie - ciekawa sprawa, ale po jakimś czasie zaczął mi się nudzić :). Postanowiłem więc spróbować sił w Asemblerze. Korzystam z kursu na stronie mikrokontrolery.net - ciekawy, ale trochę za mało jest wyjaśnień, dlatego bardzo proszę o pomoc :) Mam problem z układem czasowym, tzn. działa mi, ale ja...
Witam. Ma może ktoś jakiś program co przełącza sie w tryb chroniony i wykonuje jakieś proste operacje, chociażby samo wyświetlenie napisu 'hello world'. Albo jakieś inne materiały, najlepiej z przykładowymi programami, ponieważ muszę nauczyć sie pisanie kodu pod trybem chronionym..Znalezione przeze mnie programy w internecie nie działają poprawnie....
Witam ! :D Pytanie tak jak w temacie, w jaki sposób mozna powiązać zmienną uzywaną przez program assemblerowy ze zmienną w C++? Np. mam program, który oblicza sumę dwóch liczb, wynik działania jest zapisany w DataSegment, który chcę skopiowac do zmiennej int x w programie napisanym w C++ (podczas wykonywania obydwóch podprogramów).Z góry dziękuję za...
Czytam dokumentacje SDCC i jest tam napisane jak wywoływać procedury napisane w assemblerze z poziomu języka C. Niestety nie mogę sobie z tym poradzić :/ Mam przykładowo taką prostą funkcję napisaną w assemblerze: .globl _asm_func _asm_func: MOV C,P1.1 CPL C MOV P1.3,C RET i powiedzmy, że chciałbym ją użyć w programie napisanym w C: #include <at89s8252.h>...
witam Co może być w tym kodzie nie tak?? .MODEL SMALL .DATA ;Segment danych Table DW 100 dup(?) ;Tablica danych .CODE ;Segment kodu ;Na wejściu procedura otrzymuje rejestry SI i BX, które wskazują na cześć tablicy ;poddawaną sumowaniu AddEm PROC lea bx,Table[si+bx];wyznacz w BX adres efektywnego pierwszego słowa xor ax,ax mov cx,20 aloop:...
Witam wszystkich forumowiczów, Czy ma ktoś pojęcie w jak i sposób skorzystać z całych funkcji napisanych w asemblerze w języku C? Czy mógłby ktoś mi wytłumaczyć to w prosty sposób? Chodzi mi o to, czy muszę robić coś poza samym AVRStudio (jakaś może kompilacja plików asemblera)? Jak na razie to wiem tylko, że kod asemblera powinien być w pliku z rozszerzeniem...
:arrow: - to lepiej zrobić w asemblerze, najprościej zapisać wskaźnik stosu do zmiennej i wywołać funkcję w C bez argumentów, która użyje zapisanej wartości wskaźnika stosu, aby się dostać do argumentów programu. A jeśli chodzi o syscall() i __syscall_error - można użyć pierwszego z biblioteki libc, i dopisać swój __syscall_error() w asemblerze (konieczne,...
http://www.elektroda.pl/rtvforum/topic87... tu masz opisane wraz z dzialajacym przykladem ;) To akurat mój wątek, ale dotyczący innego problemu. Zresztą mam go już za sobą. Tym razem chodzi o wywołanie funkcji z własnej biblioteki napisanej w asemblerze. Jestem już krok dalej. Funkcję już umiem wywołać. Problem jest z przekazaniem argumentów...
(at)JarekC To niekoniecznie musi być problemem, bo: - w większości AVR stos ustawiany jest podczas resetu na koniec SRAM, więc nie trzeba go inicjalizować (ale warto sprawdzić, czy w użytym w symulatorze modelu tak jest), - funkcja się wywoła, bo asembler umieści ją począwszy od adresu 0, czyli wektora resetu, - skoro to symulacja i na końcu jest breakpoint...
Czy są jakieś ograniczenia w bascomie na skok wykonywany przez instrukcję gosub?? Chodzi mi o to czy może skoczyć np. do etykiety oddalonej od wywołania funkcji gosub o 300 linijek?? W asemblerze jest coś podobnego o ile wiem na funkcję ljmp? Proszę o pomoc. Pozdrowienia limatorek
A w czym on jest jak nie w asemblerze?:P Pierwsza część jest cała w nim (prócz może wywołania funkcji). Druga część to wersją robocza, która przetłumaczyłem na asemblera. Zmienne są zadeklarowane w odpowiednich "portach"(nie wiem czy tak to się nazywa) Co do powtarzania to nie widziałem go jeszcze. A to mój program a nie kogoś i jakoś nie chce "zrzynać"...
marcel333 --> stos nie jest czymś co zostaje ustalane a raczej jego wielkość w procesie kompilacji czy optymalizacji ;) ..... stos to dybamiczny twór, który zwiększa się dynamicznie i zmniejsza w trakcie działania programu. Niestety trzeba o tym poczytać a najszybciej zrozumiesz o co chodzi ze stosem jak poczytasz jakąkolwiek książkę o chociażby początkach...
Jaki masz zegar w układzie (częstotliwość)? Twoja procedura opóźniająca zajmuje około 256*256 cyklów, a to najprawdopodobniej za mało. Możesz np. wywołać funkcję CZEKAJ w analogicznej pętli, odpowiednią dla Twojego przypadku, liczbę razy.
W procedurach wlasciwie wszystkie 32 rejestry sa uzyte, a nie bardzo wiem gdzie wsadzic dane przed skokiem do procedury i gdzie bedzie wynik po powrocie. AVRgcc interface: All functions use the AVR-gcc function call interface : double func( double A [, double B] ) A := R25:R24:R23:R22 with R25 holding sign and...
I teraz nie wiem czy mikrokontroler wykonuje moja funkcję SystemInit czy tą "standardową" ? Podglądnij kod asemblera :) Wystarczy, że wrzucisz przed main Jeśli konsolidator nie krzyczy, to znaczy, że widzi jedną funkcję SystemInit. Jeśli oryginalna zstała zadeklarowana jako WEAK, to podłączył Twoją. Pewnie nie krzyczy dlatego, że w pliku system_LPC13xx.h...
ważna jest dla niej latencja Jeśli to jest naprawdę ważne, to zostaje raczej tylko asembler. ie wywołuje innych funkcji poza funkcją inline i _delay_us (jest niezbędna) ale one nie są wywoływane tylko wprowadzane w miejscu wywołania To wcale nie jest takie oczywiste, inline nie wymusza osadzenia kodu, jest tylko sugestią.
Nie znam mozliwości w tym zakresie Bascoma. Jedno jednak jest pewne. Każdy program tego typu może działać sekwencyjnie. Oznacza to, że wywoływanie kolejnych procedur w procedurze działać musi. Jest jednak tzw granica zagnieżdzeń. Może ona wynika z możliwości samego kompilatora (programu tłumaczącego - w tym wypadku Twoim nie sądzę aby tak było), albo...
Witam Asembler Masm32 W programie mam wywołanie funkcji CheckDlgButton. Program działa prawidłowo W Windows 98 SE. Natomiast w Windows 2000 wykonuje nieprawidłową operację: "Kalc.exe wygenerował błędy i będzie zamknięty... Tworzony jest dziennik błędów." Jaki jest powód błędu? Gdzie szukać owego dziennika błędów? Zakomentowanie wywołania tej funkcji...
Witam, Na wejściu mamy 40-bitową liczbę binarną, potrzebujemy ją skonwertować na zapis przy podstawie 10. Chcemy tego dokonać bez angażowania 'dużej biblioteki'. Najlepiej jest tego dokonać metodą kompensacyjną. [syntax=C] /* niezbędne deklaracje np. uint8_t arr[5]; itp. Także kolejność lsb..msb bardziej pożądana, ale nie niezbędna */ /* Tablica użyta...
Przeniosę to przerwanie i tablice do plików .c. Ale wtedy w pliku głównym .c mam includować plik przerwania .c? Myślałem, że tam inkluduje się tylko pliki .h Nie musisz include'ować pliku .c, a nawet nie powinieneś. W Makefile dopisz go tylko do plików źródłowych (SRC = $(TARGET).c przerwanie.c inny_plik.c itd.) a linker odwali resztę roboty. Zostało...
Można to zrobić jako macro lub podprogram choć wygodniej jako makro i wywołać je z odpowiednim parametrami masz wtedy uniwersalną procedurę która możesz wykorzystać do dodawania dowolnych zmiennych
Chyba to jest błąd samego Windows, bo wywoływane są wyłącznie funkcje systemowe. Wszystkie w konwencji stdcall, czyli powinny same wyregulować stos. Ostatnia mozliwość, to błąd Masm'a. uwielbiam tego typu stwierdzenia :D zapewniam Cię że błąd oczywiście jest po stronie Twojej aplikacji. Sprawdzasz stan radio buttona bezpośrednio w głównej pętli DlgProc...
Ale jest generowanie ciągłe przerwanie - jedno po drugim. Program się zawiesza. Dodam że program nie wchodzi do funkcji z pliku .c - fatfs. Pada na styku wywołania funkcji z kodu .c Przy czym w asemblerze istnieje jakby dobry adres wywołania funkcji: 0x080009b6 <_ZN4mysd4testEv+22>: bl 0x80001fc <f_mount> A oto cały kod disasemblera...
dobry pomysł asembler, ale odkryłem że jednak wszystko działa. dwukrotne wywołanie funkcji USART_Transmit() rozwala kod. nie mam zielonego pojęcia dlaczego tak się dzieje. w innym układzie ten kod działa - pozatym jest prosto z datasheeta więc nic dziwnego. podsumowując kostka jest sprawna. przeżyła naprawde ostre grzanie hotairem i grotem i nic jej...
Jeśli w przerwaniu byś zrobił taką pętlę, to czy z volatile czy bez, będzie kaplica. no zdecydowanie tak - jeśli w przerwaniu zrobić taką pętlę to jasna sprawa. Tylko to już chyba tylko czysto teoretyczny przypadek bo raczej takich pętli to w przerwaniach się nie spotka? Ja tylko pokażę jeszcze asemblera z tego przykładu co opisywałem na blogu bo może...
wynik wyswietli sie 2x, a nie trzy, pytanie - dlaczego? Na to pytanie, odpowiedź jest prostsza :-) Kiedy wywołujesz return 0, funkcja main powraca (to ogólnie nie najlepszy pomysł). W asemblerze, wywołanie funkcji main wygląda tak: 48:32 d0 rcall.+100 ; 0xae <main> 4a:4e c1 rjmp.+668 ; 0x2e8 <_exit> Po zakończeniu funkcji main wykonany...
Jeśli to ma być złączenie tylko na ekranie to po prostu dwukrotnie wywołaj odpowiednią funkcję. Jeśli chcesz złączyć w pamięci - musisz zarezerwować zmienną o stosownej wielkości i przekopiować do niej ciągi pomijając za pierwszym razem znak $ (lub nadpisując go drugim ciągiem).
Nie znalazłem tematu, który by rozwiewał moje wątpliwości, przepraszam, jeśli takowy już istnieje. Programowałem już wcześniej uC Analog Devices w c. Tam odpowiednie przerwania miały swoje numery i po prostu pisało się funkcję obsługi danego przerwania. Czy dobrze rozumiem, że programując PIC w asemblerze po instrukcji org 0x04 ma nastąpić programowe...
A co do uwag na temat książki to tylko to, że jak dla mnie to za mało info o łączeniu asemblera z C. A jak połączyć C z asemblerem to w tej knidze nie ma nic. Może i to dziwny pomysł, ale akurat jak na złość taka konieczność mnie dopadła. Pozdrawiam. No to proponuję jednak jeszcze raz przeczytać rozdział 28 :) Masz tam przykłady chyba wszystkich możliwych...
Witam. Mam problem z funkcją wywołaną w przerwaniu wektoryzowanym - zawiesza arma (nie mam jeszcze jtaga) void Delay1(unsigned int del_time) { for(abc=0;abc<del_time;abc++)... } void Timer0Handler(void) { IO1PIN ^=(1<<16); Delay1 (200); T0IR = 1; VICVectAddr = 0; } Działa jeżeli zrobię...
Używanie argumentu "bo taka jest konwencja" nie różni się niczym od stwierdzenia "bo tak". Przeczytaj jeszcze raz uważnie ten link, bo użyłem zupełnie innego argumentu. The cdecl (which stands for C declaration) is a calling convention that originates from the C programming language and is used by many C compilers for the x86 architecture. Registers...
Jak powinien być zakończony program PLANSZA.asm ? END? HALT? RET ? Zdecydowanie podprogram musi kończyć się RET (o czym za chwile dłużej) a nie może HALT. Mam dla Ciebie niedobrą wiadomość: nie da się postąpić dalej jako tzw "praktyk", bez czytania. RET i HALT to instrukcje, są przenoszone do kody wynikowego *), ale END to tylko "wtręt organizacyjny",...
ad. 2. W asmemblerze MC68k :], a co? jak dowolny, to dowolny :] (asm x86 nie znam za bardzo) Założenia: argument funkcji podawany jest przez stos (wskaźnik stosu - rejestr A7, stos rośnie w dół) Wartość (wskaźnik) zwracana jest w rejestrze D0. Reszta rejestrów pozostaje niezmieniona. Za obsługę stosu odpowiada funkcja wywołująca, więc po powrocie z...
To teoria a tu widze praktykę którą nijak sie nie da algorytmem okiełznać. Nie da, ponieważ Light-I zakłada, że ten drugi styk jest ustabilizowany, a on także drga w momencie wywołania przerwania przez styk 1 :) Dodatkowo ten podłączony do przerwania drga czyli wywoła kilka przerwań za 1 krokiem impulsatora.
ldi R16,200 ldi R17,1 start: ldi R22,0x00 out PORTC,R22 call Czekaj_ms ldi R22,0x01 out PORTC,R22 call Czekaj_ms rjmp start Nie wiem którą implementację funkcji Czekaj_ms konkretnie używasz, ale jakąś tu oglądam i widzę że akurat ta nie zachowuje wartości rejestrów R16 i R17. Moja sugestia byś R16 i R17 ustawiał przed każdym wywołaniem Czekaj_ms i...
Witam, piszę z prośba o wytłumaczenie mi jak liczy się opóźnienie w sekundach. Procesor to at89s4051 z zegarem 24Mhz. kod opóźnienia: lcall delay delay: mov R0,#0xff mov R1,#0xff mov R2,#0xff petla: djnz R0,petla djnz R1,petla djnz R2,petla ret i teraz tak wiem że lcall 2 cykle, mov 1 cykl, ret 2cykle, djnz 2 cykle, jak policzyć czas opóźnienia wywołany...
A pomysł o skompilowaniu kodu z C++ i wyswietlenie w Asm - większej bzdury nie słyszałem zdajesz sobie sprawę ile kompilator dorzuci kodu !!! Nie czytasz uważnie. Nikt nie mówił o jakimś wyświetlaniu. Jeśli jesteś taki obeznany (a twierdzisz, że jesteś) to znasz także proces disasemblacji, który niejako rozbiera programy pisane pod jezykiem wysokiego...
Hmm... No to nie jest tak prosto. Po pierwsze, gdy Winavr generuje listing, to najczęściej nie jest tak, że pokazana linijka kodu w C dotyczy dokładnie kodu w asemblerze poniżej. Czasami przełożenie nie jest jednoznaczne (np. z uwagi na optymalizacje), a czasami sobie, chyba, po prostu nie radzi. Po drugie, w main() kompilator rozwinął (inline) wywołania...
1. Ja zaczynałem od pisania na peceta. 3. ...i od książki Kernighana i Ritchiego (ale to ciężkostrawna lektura). Nie mam żadnej literatury ani o mikrokontrolerach ani o pisaniu w C na mikrokontrolery (ale nie twierdzę że to jest dobre - po prostu szkoda mi było kasy na to). 2. pisałem najpierw w MS Visual C++, żeby się przyuczyć (fajne środowisko no...
Jak chcesz sprawdzić czy tak się stało dla drugiego przypadku to trzeba porównać asemblery Chyba nic innego być nie mogło, skoro w jednym wypadku jest przepełnienie po kilkuset wywołaniach, a w drugim nie ma przepełnienia po dziesiątkach tysięcy. Rzeczywiście skoro każde wywołanie odkłada na stos adres, to w drugim przypadku efekt powinien być taki...
Tylko czemu oryginalny kod nie ma tej zmiennej przecież nawet starszy winavr też źle kompilował , chyba że kod był kompilowany bez optymalizacji. Może był kompilowany bez optymalizacji, a może optymalizacje były mniej zaawansowane. Nie byłby to pierwszy w historii przypadek kodu działającego przez przypadek... Z całym szacunkiem dla dobrych chęci poprzedników...
Witam mam pewnie dla większości forumowiczów banalne pytanie ale jakoś poradzić sobie z tym nie moge.. Musze napisać program w Keil-u który wykorzystuje przerwania zewnętrzne INT0 i INT1, jak nazywa sie funkcje do których program skacze po wywołaniu tego przerwania? czy może jest to robione jakoś inaczej? Druga sprawa jak zrobić wstawkę w asemblerze...
Tylko że "+" to też może być funkcja zewnętrzna... Wydaje mi się ze jest to instrukcja asemblera Ja się pogubiłem, jeżeli komuś takie coś zadziała proszę o przykładowy kod i listing/opis jak kompilować Dobra daj tu jakoś funkcje, albo co ona ma robić, możemy zrobić przykład 1. Dwa projekty,jeden główny, w drugim tylko funkcja to wywołania 2. Z głównego...
wywołanie funkcji napisany asemblerze zegar asemblerze
pompa paliwowa peugeot windows update naprawa atmel studio programator
blaupunkt limited bialoruśka wymiana pompy
Awaria pompy wody w piecu Termet Ecodens Silver 25kW - przepalanie bezpiecznika Klawisz M w radiu BMW E39: Funkcje i zastosowanie