Jezeli chodzi o Bascom to Bog jeden wie ile sie wykonuje jedna "instrukcja". Jezeli chodzi o asembler to istnieje cos takiego jak lista rozkazow. Wymienione sa wszystkie instrukcje, co robia i ile cykli maszynowych procesora zajmuja. Nie podales co to za procesor ale zakladam ze to AVR. Wiec AVR jest procesorem w ktorym 1 cykl kwarcu = 1 cykl maszynowy...
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. 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...
Witam Czy pomoże mi ktoś rozwiązać to zadanie. A jeszcze bardziej zależy mi aby mi krok po kroku spróbował opisać co się z czym je:) 1. Jaka będzie zawartość rejestru R0 po wykonaniu programu ( odpowiedź w postali hex) .equ 1234h ld r0, #55555h rol r0 and r0, #maca 2.Jaka będzie zawartość rejestru R3 po wykonaniu programu ( odpowiedź w hex): ld r0,...
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...
witam, mam problem z takiim dwoma któtkimi zadaniami :( Czy mógłby mi ktoś podać co będzie się znajdowało po znakach "="?? Z góry dziękuję :) 1. LXI H, AAEE HL= MVI C,11 C= MOV A,C A= ORA C A= ADD A A= MOV L,A HL= MOV M,L M(HL)= 2. LXI H, EDCB HL= MVI B, 02 B= MOV A, B A= ADD A A= ORA B A= MOV H, A HL= MOV M,H M(HL)=
Witamm Mam prośbę czy mógłby ktoś zamienić fragment kodu, zamieszczonego poniżej na kod asemblera. Napewno zajmuje duzo mniej pamięci procesora niż program to samo wykonujacy w bascomie. Nie jestem w stanie tego zrobic, wiem, że w semblerze nie da się robić tak prosto czegoś takiego ja bascomie, że ustawiamy sobie kolejne bity jak chcemy. W asemblerze...
Witam, mam problem z dwoma zadaniami na tablicach w asemblerze, mianowicie: 1) ustawić bit zerowy na wartość drugiego bitu każdej liczby w tablicy 2) każda liczbę tablicy pomnożyć przez następna, występująca po niej. mam już "ramy" programu- funkcje zmieniające typ wprowadzanych liczb, pobieranie liczb do tablicy z klawiatury, potrzebuje tylko kilka...
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...
Poprosił bym w miarę możliwości o pomoc w napisaniu kodu. Moim zadaniem jest napisanie kodu w asemblerze odpowiadającego poniższemu fragmentowi kodu w C. for(i=0; i<10; i++){ a[i]=i; } do tej pory napisałem: [syntax=asm] mov cx, 0;i=0 _for: ;poczatek petli cmp cx, 10;porownanie cx do 10 jae _end_for;goto->_end_for gdy 'i' bedzie wieksze rowne...
"W segmencie D z przesunięciem $3D00 znajduje sie zbiór $4F00 slow - każde słowo składa sie z dwóch bajtów w kodzie U2. Dodaj bajty do siebie a do pierwszego bajtu zapisz wartość bezwzględną wyniku." Mam napisać taki program, a po raz pierwszy mam styczność z Assemblerem. Czy ktoś może mi pomoc? Absolutnie nie mam o tym pojęcia. Z góry dziękuję, Koledzy....
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:...
Mam do was pytanie, czy jest możliwość wykonania funkcji np. dodawania wykorzystujac listę rozkazów procesora, nie majac zainstalowanego żadnego systemu? Procesor ma na liście instrukcji ADD i może to zrobić, ale nie mając systemu opeacyjnego nie będziesz miał jak wprowadzić danych z klawiatury do rejestrów na których ta instrukcja operuje, ani nie...
tak swietnz ten tekst :P mnie nigdy nie interesowała elektornika procesory i takie tam :D zostałem zmuszony do zapoznania sie z tym na uczelni i troche zaczyna mi sie podobac :) jeszcze zeby moj angileski nie byl tak kulawy to było by swietnie
różnice.. '51 ma piny z wymuszaniem stanu 0, avr mogą wymuszać 0,1, mają pull-up i open-colector, avr wykonują instrukcje w 1 cyklu zegara, '51 (z tego co wiem/przeczytałem w dokumentacji) mają prescaler (na forum mówią że niewszystkie).. w dokumentacji 89s52 doczytałem sie o prescalerze 12x więc na 1 instrukcje przypada 12 cykli zegara.. tak więc z...
A o zaliczeniu laborki dowiedziales sie wczoraj? Ten program to chyba ok 15 linijek w asm, i zeby to napisac wystarczy powierzchowne przejrzenie noty jakiegos 8051 + lista instrukcji.
Witam szukam listy mnemoników oraz ich znaczeń dla asemblera procesorów 32bit CISC szczególnie tych które wykonują instrukcje pętli. Dziękuje za pomoc pozdrawiam
Pisano w asemblerze potem przetwarzano na postać binarną "ręcznie". Lista instrukcji procesora, sposób adresowania i przekazywania parametrów instrukcji są wystarczające do napisania dowolnego programu w postaci binarnej.
Pełna lista instrukcji i opis działania procesora wystarcza do napisania dowolnego algorytmu.
Nie znam się bardzo na asemblerze AVR ale ja bym ten kod napisał tak: Zamiast: cp r0,r16 brsh USTAW0 rjmp SPRA1 USTAW0: sbr YL,0b01000000 SPRA1: cp r1,r16 brsh USTAW1 rjmp SPRA2 USTAW1: sbr YL,0b10000000 Coś takiego: cp r0,r16 brlo SPRA1: sbr YL,0b01000000 SPRA1: cp r1,r16 brlo SPRA2: sbr YL,0b10000000 Tego BRLO nie jestem pewien,...
czemu kozystacie z jezyka C skoro w mplabie standardowo uzywa sie uproszczonego asemblera ktury jest calkiem przyjemny chocby dlatego ze lista instrukcji do opanowania miesci sie w granicach 33
Niczym szczególnym się nie różni, poza tym, że wektory obsługi przerwania mogą być trochę inne i ilość instrukcji może być troszkę większa, jeżeli chodzi o asembler. Nie wpływa to jednak na zapis programu, jeżeli zamiast konkretnych adresów używasz nazw symbolicznych definiowanych w plikach nagłówkowych, najczęściej dostarczanych razem z kompilatorem,...
Cóż, po kolei opowiem co nieco z moich doświadczeń. 1. Jak mogę poznać podstawy assemblera? (Assembler czy asembler?) Musisz poczytać nieco o architekturze procka. W zasadzie może być dowolny. Może to być standardowy procek "PCtowy" (mam tu na myśli architekturę x86). Do tego polecam książkę "Jak pisać wirusy". Jest to podstawowy kurs asemblera x86...
Witam! U mnie na stronie znajdziesz tabele z przetłumaczoną listą rozkazów dla ATTiny12. Może służyć jako podręczna ściągawka. :) http://republika.pl/rejestr/strony/downl... Pozdrawiam
Aktualnie próbuję zrobić pętlę nieskończoną pod jakimś adresem. Korzystam z asemblera dla MIPS. Problem w tym, że mam błędny opcode, albo adres i tym samym wyskakują wyjątki. Nie pamiętam, czy skok względny przyjmuje wartość -1 czy 0 dla aktualnie wykonywanej instrukcji - warto to sprawdzić. Po drugie, na MIPSach występuje coś takiego jak delay slot,...
Sądząc z twojej chęci do myślenia i czytania to pewnie jeszcze trzeba by pójść i zaliczyć za ciebie ten projekt :( :( Algorytm był już podany w tym temacie (dla ułatwienia podam, że był zatytułowany algorytm 2. Rozpisz go sobie w formie jakiej od ciebie wymagają. Inne liczby wpisujesz do R0 przed wywołaniem konwersja. Błagam nie zostawaj serwisantem...
Skoro to wstawka, to nie możesz tak: #define BARDZO_WAZNA_WARTOSC 42 asm volatile ( "ldi r16, %0" "\n\t" : /* wartosc zwracana */ : "M" (BARDZO_WAZNA_WARTOSC) : "r16" /* rejestry zamazywane */ ); Ewentualnie prościej: uint8_t stala = BARDZO_WAZNA_WARTOSC; asm volatile ( "jakas...
To bardzo slabo szukales. Taki temat pojawia sie co kilka dni. Srodowisko uruchomieniowe dla AVR-ow za darmo dostepne jest na strone producenta czyli Atmela. Nazywa sie AVR Studio i zawiera kompilator asemblera, symulator. Co do roznic to oczywiscie sa znaczace. AVR to inna architektura wiec inaczej sie robi pewne rzeczy. Do dyspozycji jest 32 rejestry...
W tej chwili piszę w ASM, ale używam kompilatora C (robię wstawki ASM) I mam pytanie czy jest jakiś dobry kompilator do ASM ? Najlepiej taki który "znał" by nazwy rejestrów, bo ciągłe sprawdzanie jaki adres ma MODER czy OTYPER itd jest troszkę uciązliwe To może poczytaj w jaki sposób pisać wstawki asemblerowe w C. gcc ma swój asembler, możesz napisać...
Wszystko zależy od tego co chcesz zrobić (jaki projekt). STM8 jest bardzo sympatycznym procesorem bijącym na głowę AVRki. Tylko trzeba wybierać te nowsze modele (polecam wersję "A" tego procesora - bardzo stabilna i nie boi się zakłóceń). Wada jest niestety taka, że nie ma darmowych kompilatorów C (są tylko ograniczone do 16k). Żeby wykorzystać potencjał...
Jeśli mogę coś polecić ze swojej strony i pod kątem pisania w Asemblerze to Kilka pozycji z wydawnictwa [url=www.btc.pl]BTC Dwie pozycje autorstwa pana A.Pawluczuka "Sztuka programowania mikrokontrolerów AVR podstawy" i "Sztuka programowania mikrokontrolerów AVR praktyka" oraz dwie książki Rafała Baranowskiego. "Mikrokontrolery AVR atmega w praktyce"...
Lista instrukcji dla procesora choćby Pentium liczy ładnych kilkaset stron: http://download.intel.com/design/intarch... Poza tym już sama architektura współczesnych systemów Windows raczej skutecznie komplikuje tworzenie programów w asemblerze. W czasach DOS czy Windows 9X ludzie pisali programy w asemblerze. Nigdy nie był to jednak...
Jak się na czymś zarabia to się nie ma czasu próbować wszystkiego. PIC ze swoją segmentacją pamięci i przełączaniem stron ma akurat jeden z gorszych asemblerów, i jest to opinia powszechna. Poza tym pisząc o assemblerze nie miałem na myśli pisania w nim programów, bo to znowu podejście sprzed 20 lat, tylko jego wydajność. Wszystkie asemblery z nieortogonalną...
dobrze koniec o pisaniu ktory jezyk jest lepszy. teraz zadam jedno pytanie jak zabrac sie za assemblera dla procesorow atmela ? w czym sie to pisze? chce sprobowac swych sil w asemblerze W assemblerze najlepiej pisać w darmowym AVR Studio dostępnym na stronie Atmela. Proponuję również pobrać dokumentację od konkretnego mikrokontrolera oraz listę instrukcji:...
Ja osobiście nie mam problemów z przenaszalnością kodu w firmowym asemblerze Atmela, nawet pomiędzy różnymi wersjami rdzenia, gdyż są w nim wbudowane definicje pozwalającej na asemblację warunkową. Przykład - instrukcja lpm , zamiast której używam następujące makro: .macro LpmPlus #if ((__CORE_VERSION__==V2E)|...
Nie znam tego urządzenia, ale z tego co widać jest to jest już najniższy poziom programowania tzw. kod maszynowy. Jeżeli chcesz jednak rozszyfrować ten kod to trzeba znaleźć w sieci listę rozkazów 8085 z ich kodami i ręcznie rozszyfrować i przeanalizować ( jeżeli system ten nie udostępnia narzędzi typu asembler, disasembler itp.-zabawa jest okropna...
Nie wiem, ile różnych procesorów programowałeś w asemblerze, ilu budowę znasz i ile sam zaprojektowałeś, odnoszę jednak wrażenie, że chyba nieco mniej ode mnie. Masz rację - nie zaprojektowałem żadnego procesora ani nawet mikroprocesora. A czy mógłbyś podzielić się listą zaprojektowanych przez siebie? Jak grunt się pali - wkraczamy w znany temat wyższego...
A możesz zdracić jaki był error podczas asemblacji pierwszego programu? Podstawową regułą używania mnemonikót LD,MOV,ST jest lista instrukcji, tam jest napisane do czego jaki służy i jakie ma warianty. Co do pamięci EEPROM to przypuszczam że wystarczy dane w pliku HEX umieścić pod jakimś określonym adresem (dyrektywą ORG), a program obsługujący programator...
Zasadniczo RISC ma niewiele prostych rozkazów (ale dużo trybów adresowania). No to rzeczywiście pora już zapomnieć o tych sądach. W 21 wieku RISC mają od cholery prostych i złożonych instrukcji - mało strawnych dla człowieka. Ruszanie asemblera poza jakimiś bardzo specyficznymi sytuacjami jest "lekko" bez sensu. A już początkującym to jest najbardziej...
Bzdury, a konkretniej powielany mit o tym, że asembler jest ekstremalnie trudny i zupełnie niezrozumiały dla przeciętnego człowieka. Ściągnąłem sobie przed chwilą ReAVR i otworzyłem jeden ze swoich projektów, nie jest tak źle. Szczególnie, że sam napisałem program, więc z listą instrukcji AVR pod ręką jestem w stanie bez problemu odczytać kod, stąd...
Twierdzisz, że złożone konstrukcje JAVA, zapisane w asemblerze, czy PASCALU będą efektywniejsze od tych samych konstrukcji emulowanych sprzętowo :?: Nie ma czegoś takiego jak "złożone konstrukcje JAVA". Java jest kompilowana do byte-kodu, który przypomina język asemblera po kompilacja. Idea jest taka że ten byte-kod jest przetwarzany na maszynie wirtualnej,...
Powiedz mi co jakiej dodatkowej wiedzy o peripherialach wymaga pisanie w assemblerze? Bo wydaje mi się, że trzeba znać dobrze tylko listę rozkazów. Nie jest to jakieś rocket science. No tu niekoniecznie bym się zgodził. Znajomość asemblera ARM na poziomie umożliwiającym konkurowanie z kompilatorem - to już prawie "rocket science" - chodzi o nieoczywiste...
A, czyli chyba procesor "domyślny" czyli architektura [url=http://pl.wikipedia.org/wiki/Asembl... Obawiam się, że bez chociaż płytkiego wniknięcia w architekturę procesora będzie Ci ciężko. To, co napisałeś nie bardzo ma sens. Po pierwsze rozkazy MOV mają po dwa argumenty - źrodło danych i miejsce docelowe. Rozumiem, że x, y, u, v i z to zmienne...
Proponuję następujące podejście to tematu. Prawdą jest że Siemens opanował ~80% rynku PLC w Europie, jak to było napisane. Skoro chciałbyś poznać narzędzia programowania PLC to Step 7 (Simatic S7 300 wzwyż) lub Micro Win (Simatik S7-200) wydaje się dobrą inwestycją. Niestety ceny zarówno sprzętu jak i oprogramowania, interface w Siemens'ie są wysokie....
Zdecydowanie polecam STM8A. Ten procesor ma dwa "zegary" (jeden zewnętrzny drugi wewnętrzny) przełączane automatycznie (gdy zewnętrzny stanie, procesor przełącza się na wewnętrzny). Odporny na zakłócenia (sprawdzone w praktyce). Oczywiście nie unikniesz zastosowania kondensatorów blokujących zasilanie i zapewnienia odpowiedniego "środowiska". AVR w...
Tym nie mniej adres powrotu Możemy się umówić, że przed wywołaniem przerwania, albo wykonaniem procedury, w liczniku adresu wyznaczany jest adres następnej instrukcji do wykonania (pomijając procedurę), zresztą tak to się odbywa w logice procesora. Czy to nazwiemy adresem powrotu, czy nową wartością licznika rozkazów, to jest tylko kwestia nomenklatury....
Gdzieś przeczytałem, że jeśli LPC 1114 jest taktowany 48 MHz, chcąc zrobić opóźnienie 1 us muszę wykonać w pętli 32 nop'y, a dla 12 MHz 8 * nop. Przestań więc czytać takie głupie źródła (; Jak chcesz zrobić opóźnienie 1us to musisz sobie ustawić timer i odliczyć 1us. Każdy inny sposób jest do niczego i co najwyżej będzie przybliżony. Kolejna sprawa...
Jak sam zauważyłeś wiele problemów rozwiązuje sprawny kompilator - gcc sam od siebie robi optymalizacje o których nawet średnio zaawansowani programiści nie wiedzą. Dlatego przykład Bascoma jakby kłóci się z optymalizacjami i szybkością. Co do braku dzielenia na AVR - kolega BluDraco to sensownie uzasadnił, ja dodam od siebie tylko conieco. Jak BlueDraco...
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...
kamyczek i excray , Macie rację !!! Nie wiem, po co ta dyskusja. BlueDraco , jeśli juz coś piszesz, to proszę, by było to coś konstruktywnego na temat, który założył autor. Ale do sedna. Jest trzeci sposób dodawania liczby czterobajtowej. 1 2 3 ...to bierzcie pod uwagę to ,że znajomość asemblera załatwia za was kompilator . Amen .. Zatem temat uważam...
Nie chciałbym tutaj wygłaszać wywodów o wyższości świąt Bożego Narodzenia nad świętami Wielkiej Nocy.Uważam jednak iż Bascom jest dopuszczalny dla ludzi ,którzy znają bardzo dobrze architekturę i listę rozkazów 51-ki.W przypadku początkujących programistów Bascom się tak sprawdza jak ominięcie tabliczki mnożenia w szkole podstawowej za pomocą kalkulatorów.Owszem...
Owszem, jeśli chodzi o ISR to sprawa jest prosta i napisanie wstawki całkowicie w asm jak najbardziej celowe. To co pisałem odnosiło się szczególnie do krótkich funkcji, które kompilator inlinuje - wtedy straty związane nie tyle z zapamiętywaniem rejestrów co koniecznością wykonania instrukcji mov, tak aby dostosować argumenty do rejestrów oczekiwanych...
http://obrazki.elektroda.net/91_12684915... El Jugador jest konsolą do gier telewizyjnych, której powstanie powiązane jest z ogromną popularnością, jaką cieszył się ten rodzaj rozrywki przez ostatnie dekady, jeśli spojrzeć na choćby NES'a i jego przeróżne klony, obecne na rynku do dziś. Konsola wykonana jest w formie modułu, zawierającego...
Kolego zobacz. Nie jestem asem asemblera, ale lubię się uczyć. Wydaje mi się, że ten kod nie jest skomplikowany :D W tym kodzie z wyjściami chwilowymi ustawiany jest jeden z bitów portu a reszta wyłączana. Odpowiadają za to instrukcje SBI - Set Bit I/O Register - Ustaw Bit w rejestrze portu CBI - Clear Bit I/O Register - Skasj Bit w rejestrze portu...
Cześć. Bawię się ostatnio STM32F103, zacząłem od poradnika ( https://obrazki.elektroda.pl/5819782800_... Jak rozumiem jest tutaj za pomocą rozkazu ldr ładowana do rejestru r3 wartość z pod adresu 0x80001d8, i tutaj jest mój problem. W poradniku pod tym adresem (oczywiście adres jest inny, chodzi mi o to że dotyczy tego samego rozkazu)...
(at)dzyszla Trudno jest mi określić jaka dokładnie pomoc będzie potrzebna, bo poblem leży niemalże we wszystkim. A mówiąc to mam na myśli to, że nie widzę sposobu zrealizowania tego co przyjdzie mi do głowy, tzn. nawet po zrodzeniu w głowie jakiejś myśli, nie wiem jak ją "przepisać" na kod. Ktoś mi kiedyś powiedział, że naszykowanie sobie wcześniej...
Kod, który podałem działa wyśmienicie;)) Jak widać jest możliwość napisania tego pod C;) Oczywiście wspomagałem się debuggerem :) Na stronach atmela jest sporo o pisaniu w C. Na avr-y w C można napisać kod odpowiadający temu w ASM. Bo avr-y zaprojektowano pod CCCCCCCCCCCC !!!!!!!!! Tak, sporo, całe dwie noty, w dodatku poświęcone raczej optymalizacji....
Cześć! Mam do zrobienia następujące ćwiczenie: Obsłuż układ z rysunku tak, by naciśnięcie przycisku S1 powodowało zaświecenie diody D1. Dioda D1 powinna od tej pory świecić, aż do powtórnego naciśnięcia przycisku S1 - wówczas dioda D1 powinna zgasnąć, a dioda D2 jednocześnie się zapalić. Oto schemat: 8874876500_1403362528|iRdN97tdaw Ponieważ na lekcji...
Witam! Próbuję uruchomić UARTA w trybie asynchronicznym w asemblerze. Debbuguję program i po wykonaniu linii: out UCSRC, R16 zmienia mi się stan rejestru UBRRH z 0x00 na 0x26. Pytanie - dlaczego? Poniżej strzępki moich asemblerowskich myśli :) .INCLUDE "tn2313def.inc" ; kwarc 8MHz .equ BAUD=51 ;predkosc transmisji szeregowej 9600bps .list...
https://obrazki.elektroda.pl/8844150300_... Sterowniki programowalne czyli PLC (z ang. P rogrammable L ogic C ontroller) na dobre zadomowiły się w przemyśle i nie tylko, dając dużą elastyczność konfiguracji urządzeń a tym samym zapewniając oszczędności i poprawiając wydajność produkcji. Idea PLC powstała pod koniec lat 60-tych ubiegłego...
http://obrazki.elektroda.net/42_12648689... Na temat projektu avr-cdc z [url=http://www.recursion.jp/avrcdc/]htt... napisano już wiele i jeszcze więcej - nie będę się rozpisywał o samej idei - można zajrzeć chociażby do wątku [url=http://www.elektroda.pl/rtvforum/to... prosta niezawodna przejściówka...
asembler instrukcja instrukcja asembler lista instrukcja
programowanie pilotów horman podłączanie radia aucie octavia przełącznik
odpowiedzialność warsztatu zamiennik 2sk2045
Skrzynie biegów do 1.6 MPI VAG – kody DUU, JHT, bez przerabiania, Seat VW Skoda Junkers ZW-14 – demontaż spinki zaworu napełniającego wodę, klips U, wymiana O-ring