tu masz liste rozkazów http://www.spectrum.8bit.pl/z80cpu/z80cp... z z80 sie nie bawiłem :) tylko 6502 :) ale moze Cie naprowadze -najpierw sprawdz znaki czy liczby są ujemne (and a,#80 ..cmp a,#80 jz xxx) -jeśli tak ustaw jakiś bit w pamieci ze tak jest ( jeśli obie to nie ma problem, jeśli jedna wo wynik trzeba na końcu też xor-owac)...
LJMP START START mov R3, #8 mov R4, #2 mov R5, #4; dotąd jest dobrze mov A, R3 ;add R3 -źle, dodawanie wymaga dwóch operandów add A, R4 ;add R4- jak wyżej add A, R5 ;add R5- jak wyżej mov R7,A ;mov A, R3-nie wiem co miałeś na myśli pisząc ten kawałek kodu(5 lini) ;mov A, R4 ;mov A, R5 ;mov A, R7 ;mov A, P1 mov B,#5 mul A, B mov B,#2 div A,...
Ale w twoim przypadku konieczna jest atomiczność modyfikacji zmiennej kolejka_r w petli głównej. Nadal twierdzisz że nie?... Czy C nie jest zależny od sprzętu?? Hehe już widzę jak kompilator kompiluje ifa do IT EQ na AVRku :P I ciekawe ile z tej instrukcji ten AVRek zrozumie. oczywiście że to, w co kompiluje się kod w C jest zależne i od kompilatora,...
Zobacz na http://www.avrbeginners.net AVR Assembler->Math->Multiple byte maths. Są tam co prawda krótkie, ale dobrze opisane przykłady operacji na liczbach 2 i nawet 4 bajtowych: dodawanie, odejmowanie, porównania itp. Pozdrawiam
Nie. Dodawanie do ZH jest potrzebne, gdy górny bajt adresu jest inny w pierwszej a inny w ostatniej komórce tabeli.. jeśli tablica ma 2 elementy o adresach 0x8FF oraz 0x900, to bez tego dodawania uzyskasz adresy 0x8FF i 0x800 (brak dodania przeniesienia).
Czasu szkoda na analizę. Spodziewałem się, że ktoś z tym "walczył". Assembler jest dla mnie w miarę prosty.
A możesz opisać, jaki był zamysł tego programu?
witam, mam problem ponieważ muszę napisać moduł w assemblerze do C, który będzie dodawał 2 liczby zmiennoprzecinkowe, wpisane w c i wyświetlane w c, moduł assemblerowy ma wykonywać dodawanie. Jakieś podpowiedzi , albo najlepiej podobne programy do przeanalizowania
Hej, mam problem z napisaniem prostego (tzn. wyglądający na prosty) "programu". Może podam dokładne polecenie: Napisać program w asemblerze dodawania 2 liczb 4 bajtowych (w zapisie U2) zapisanych w komórkach o adresach 1000-1003 (pierwsza liczba) i 1004-1007 (druga liczba). Wynik umieścić w komórkach 2000-2003. Bajty liczb rozmieszczone są jak w konwencji...
Dodawanie i mnożenie: Można wykonać na podobnej zasadzie, jak ręczne dodawanie i mnożenie dużych liczb (zapisuje się liczby jedna pod drugą i operuje na poszczególnych cyfrach). A komparator, to sprawdzasz po ile cyfr mają liczby, jeżeli różna, to odpowiedź jest oczywista, a jeżeli obie są tej samej długości, to porównujesz kolejne cyfry. W jednym bajcie...
Czesc. Mam problem, a w sumie to nawet 3 =]. Mam do napisania 3 programy w assemblerze (dokladniej bede je uruchamiac na symulatorze procesora z80). 1 zadanie. Napisz program, ktory liczbe 21H doda do liczby 42h. 2 zadanie. Za pomoca programu sprawdz czy suma tych liczb (zad 1) jest liczba parzysta. 3 zadanie. Dane sa dwie liczby. Napisz program, ktory...
A gdybym chciał się zając mikrokontrolerami, czego bym potrzebował?? Mikrokontroler (jaki?) programator (jaki?) kompilator na kompie (jaki?) hmm.. coś jescze???? _emes Na początek polecam zacząć od mikrokontrolerów rodziny AVR. Nie daj się nabrać na początki w '51 - owszem, może to i "sztandarowy" mikrokontroler, tak jak Pascal w językach programowania,...
Po co na początku (setki) dodajesz do wyniku 1000 ? Chyba nieco bez refleksji skopiowałeś ten kod z innego programu.
Mam jeszcze pytanie, jak zrobić skok do wybranego adresu? Wystarczy wpisać jmp nr adresu+offset, czy jak? Może obejrzysz przykład, np tu: http://www.elektroda.pl/rtvforum/viewtop...
To ja dam jeszcze podpowiedź ze starych czasów assemblera: Zero ascii ma kod 0x30. Potem kolejne cyferki lecą po kolei czyli 9 ascii = 0x39 Jak chcesz wyświetlić zmienną zawierającą wartość 0-9 to dodajesz do niej 0x30 lub '0', bo apostrofy tłumaczą jeden znak ascii na jego wartość, i wysyłasz na wyświetlacz (czy to LCD, czy port szeregowy/terminal)....
Nie napisałeś w jakim języku, ale to nie powinno mieć znaczenia... Generalnie masz kilka możliwości, jednak - o ile wiem - "wbudowania" tej biblioteki do Twojej nie ma wśród nich ;) Generalnie: tak, biblioteka której używa Twój plugin (i wszystkie do niej podlinkowane) musi zostać dostarczona do klienta. Chyba najprościej wykorzystać do tego instalator,...
1. Jak działają rozkazy to chyba rozumiesz, dobrze zmniejszasz literę przez dodanie 32. 2. Zamiast "li $s6, 91" użyłbym "li $t5, 91", albo jakiś inny wolny rejestr $t. 3. Nie wiem czy w ten sposób w jaki próbujesz zrobić zmniejszanie liter będzie działało, ja to zrobiłem inaczej (w "funkcji" porównującej, czyli naszym "searchstr"). Jednak problem na...
płynny efekt też mam, może to nie jest najlepiej wykonane, ale żarówka ładnie się rozjaśnia i ściemnia i oto chodziło (a prosto wykonane), mnie nie interesował pobór mocy czy jakaś dokładna regulacja obrotów silnika, ale efekt wizualny, a wiemy, że ludzie oko postrzega światło silnie nieliniowo. Ten motyw który zastosowałem w zupełności wystarcza na...
Adresy urządzeń mi nie pomogą. Dla jasności, nie znam asemblera, miałem dopiero jedną lekcję z niego.
Ten algorytm przedstawia prosta metode mozenia ktora czesto byla stosowana w procesorach nie posiadajacych instrukcji mnozenia. wykozystuje sie w nich rotacje bitow i dodawanie. Algorytm jest bardzo prosty w realizacji.
Skoro dodajesz 2 cyfry i domyslam się że są w postaci dziesiętnej to po co Ci aż 2 bajty na cyfrę? Wprowadzasz cyfry jako znaki i tak widzi je kompilator więc przy dodawaniu cyfr i zapisywaniu do zmiennych wypadałoby odjąć te 30h.
Tak, dokładnie tak samo się zamienia (oczywiście dodając). Jednak w momencie, gdy wynik będzie dwucyfrowy, co już tak się nie da. Najpierw trzeba podzielić przez 10 i wyświetlić resztę z dzielenia (dodając owe 30h), a potem pozostały wynik.
genetix: Tu masz rację. Chodziło mi o przeniesienie a napisałem dodawanie:) Ale już wszystko gra. Dzię wszystkim za pomoc.
W jakim kodzie są dodawane liczby - bin czy BCD? I w jakim kodzie ma być wynik bo jeśli w bin to dodając do siebie dwie 11-bitowe liczby potrzebujesz tylko dwóch rejestrów 8 bitowych na reprezentacje wyniku.
1.Jak wiadomo czas jest cenny i za dużo go nie mam (jak prawie każdy), ale powiedzmy,że mogę przeznaczyć na projekt max. 2 tygodnie kilkugodzinnej pracy. 2. Praktycznie nie znam assemblera, choć miałem z nim styczność (zapoznałem się z podstawowymi poleceniami, jakieś proste operacje dodawania). 3.Mógłbym zrobić coś swojego tylko obawiam się, że będzie...
"Chcesz się nauczyć asemblera pisząc w języku BASCOM Basic?" a co- bardzo fajny: $asm ... ... $end asm Samo $ASM...$END ASM nie wystarczy. Bascom dodaje też coś od siebie. Nawet jakbyś pododawał te pozostałe dyrektywy wyłączające to musisz się trzymać kilku ograniczeń. Powstaje hybryda której nie da się kontrolować w pełni, a nie o to przecież w pisaniu...
przetestowałem to wczoraj od strony działania w Avr Studio. No i w najnowszym, z pluginem od AVR-GCC. Po prostu dodaje się do projektu pliki z roszerzeniem .s, nie trzeba nic dłubać w makefile, a AVR studio samo wie, że pliki .s trzeba przejechać avr-as (assemblerem). Jest to trochę inny assembler (zapewne) od tego z avr studio, ale pisze się w nim...
Akurat robię coś podobnego, więc tak mi się skojarzyło ;) Myślę że można tu zastanowić się nad czymś, co nazywa się "architekturą plug-in". W skrócie polega to na tym, że masz program główny (nazwijmy go main.exe), do którego dynamicznie w trakcie pracy dołączasz fragmenty kodu skompilowane do biblioteki .dll (plug-in). Zobacz co Ci z tego pasuje, może...
jak zaprogramowac uC 8051 zeby dodawal liczby ktorych suma jest wieksza niz 255? ADDC ok.. ale.. czemu to nie dziala? ;przekladowe liczby MOV R2, 0xDD MOV R3, 0xDD MOV R4, #0 ;zerowanie R4 ; dodawanie do R0 kolejnych liczb ; do R1 dodajemy tylko flage przeniesienia [0 albo 1] ADD A, R2 ADDC A, R4 ADD A, R3 ADDC A, R4 END wynik .. 0xBB :/ co...
Witam. Szkielet programu asemblera na 51' zamieszczałem w poście pod koniec wątku: [url=http://www.elektroda.pl/rtvforum/vi... Dodawanie 3 liczb 8-bitowych - może się Koledze przyda. Do kompilacji najczęściej używam ASEM'a. Pozdrawiam.
Korekcji dokonujesz bezpośrednio po dodawaniu, rozkazem DA A . Zanim zaczniesz dodawać, upewnij się że flaga C jest wyzerowana, by pierwsze ADDC nie wpisywało śmieci do zerowego bitu wyniku. * W ostatniej sekcji kodu, gdzie ładujesz DPTR wartością WSKW* wczytujesz wynik do akumulatora zamiast odwrotnie.
Ok. Już wszystko jest jasne. Jednak mam problem w stronę odwrotną, a dokładniej: Mam zadeklarowaną stałą w C, w assemblerze chciałbym wyciągnąć jej adres w pamięci. Robię dokładnie tak jak podane w przykładzie podanym przeze mnie (czyli w assemblerze dodaję .extern), kompilator podmienia nazwę zmiennej na jej adres, ale jest mały problem. Adres ten...
... chciałabym jedynie uzyskać odpowiedz na pytanie, czy bezpośrednie czytanie i zapis do i rejestrów XMegi może ją uszkodzić. Czy C, czy Assembler, czy BASCOM wszystkie operują na rejestrach. Jak więc miałyby uszkodzić mikrokontroler? ... C mnie już nie interesuje. Przesiadka z BASCOM na Assembler jest krokiem odważnym i chwalebnym. Jednakże uparte...
a no nie pomyślałem, mój błąd. a ten asm to na 8086. no i z tym dodawaniem to normalnie potrafie nie wiem tylko jak to robić gdy liczba jest na 12 bitach?:( . więc apeluje z prośbą jeśli macie taki programik albo zrobienie go to dla was nic to bede bardzo wdzięczny:):)
Chyba faktycznie zaczne sie uczyc assemblera bo ten mikropascal nie ma wogóle żadnej pomocy Wiesz, powiem Ci, że aby zacząć programować w asemblerze wystarczy znać nazwy najważniejszych rejestrów, wiedzieć za co odpowiadają i mieć pod ręką listę rozkazów dla danego procka. W porównaniu z Micropascal, Microbasic, BASCOM lub nawet z C, w przypadku programowania...
Wiec tak : W szkole miałem same podstawy assemblera na uprocku bodajże 8080. Podstawy niby znam tylko ze na lekcjach robiliśmy tylko jakieś funkcje matematyczne typu mnożenie, dodawanie, odejmowanie, OR, AND, modulo dwa itd. Teraz chodzi mi o to aby wiedzę o tym jakoś pogłębić aby mi sie to przydało przy programowaniu rożnych uC czy uP. Nie mieliśmy...
add ZL,offset To pewnie nie to ale zamień to dodawanie na dodawanie pełnej wartości (całego słowa 16 bitowego - w helpie jest z addc i add) i jeszcze to: ldi ZH,high(tablica_cyf<<2) ldi ZL,low(tablica_cyf<<2) Ja tam mam przesuwanie <<1 a to <<2 to chyba przesuwa 2 razy i pewnie tu leży błąd.
Nie, takie coś, to wstawki assemblerowe w kod. Ja chcę oddzielnie zasemblerować kod assemblera (otrzymam plik .obj) i dołączyć go do buildera (Add to project). Plik się dodaje, nie ma błędów, ale w builderze nie widać assemblerowych procedur.
wartosc z ax dzielisz przez 10, reszte z dzielenia odkładasz na stos, to Co zostało znowu przez 10, reszta na stos itd aź to co zostaje bedzie rowne zero. Ze stosu wartość pobierasz, dodajesz kod ASCII '0' i na ekran, i tak az do konca stosu
albo różne pokrętne działania 6502. 6502 ma trochę rozkazów niepublikowanych. Na C-64 był monitor, dissassembler, a nawet Assembler interpretujący te rozkazy. 62C02, używany w "Szmatari", rozkazy niepublikowane miał zastąpione rozkazem NOP. Ciekawą cechą 6502 było dodawanie 1 cyklu maszynowego gdy PC przekraczał stronę (256 bajtów). W C-64, auto uruchomienie...
... zrobiłem to celowo by kod był możliwie najkrótszy choć tak naprawdę można byłoby go jeszcze skrócić pisząc w asm bo kompilator dodaje prolog i epilog ISR...robiw Nie trzeba assemblera - wystarczy ISR_NAKED: http://www.nongnu.org/avr-libc/user-manu...
Może być po angielsku, rzecz jasna. Proszę wklejać propozycje z linkami. Oj leniuszek :) Język C i/lub assembler. http://phy.ntnu.edu.tw/~cchen/ctutor.pdf http://www.cs.otago.ac.nz/cosc440/readin... http://www.iups.org/media/meeting_minute... Szukaj w Google dodając: Free PDF Bascoma chyba nie warto się uczyć? Fajny żarcik...
Dodajesz rozmiar wszystkich zmiennych pomiędzy i ci wychodzi adres z. Nie znam NASM, więc nie wiem czy jakoś te adresy może optymalizować, te, których używałem tak nie robiły (a może to tylko ja tego nie włączyłem), bo wolę sam mieć pełną kontrolę jak już schodzę na niski poziom. Skok warunkowy wykonuje się zwykle w zależności od ustawionej flagi procesora....
To działa tak samo dla dowolnej ilości bajtów. Liczbę wejściową wysuwasz z najstarszego bitu najstarszego bajtu Czyli przesuwasz liczbę 32 bitową (mnożysz przez 2). Wysunięty bit (w znaczniku przeniesienia) wprowadzasz do najniższego bitu najniższej tetrady liczby BCD. Przed każdym kolejnym przesunięciem sprawdzasz każdą tetradę czy nie jest >=5...
Ja tam pisze sobie w assemblerku. I zrobiłem w nim dwa projekty, jeden 40kB kodu a drugi 50kB kodu. Faktem jest że pisze pod MSP430 a w tych procesorkiach assembler jest bardzo przyjazy użytkownikowi. Jak zobaczyłem zestaw isntrukcji do AVR'ów to sie złapałem za głowę bo mają po 90 instrukcji i więcej a w MSP jest ich 50 a na dodatek każda może byc...
AVE... Przykro mi bardzo, ale nie umiem czytać assemblera... Soft MIDIBoxa 64E pozwala zmieniać tryb pracy każdego enkodera. Masz bodaj 6 trybów: - absolutny - enkoder działa jak potencjometr. - 40 +/- speed - zmienia parametr relatywnie o 40+kąt obrotu. Dobry do syntezatorów. - 00 +/- speed - jw. ale dla produktów Steinberga. - 40 +/- 1 - relatywny,...
Przenosisz do rejestrów x. Mnożenie w tym przypadku również musisz wykonać na rejestrze x. Choć wynik oczywiście w takim przypadku jest w dx:ax, to jednak możesz śmiało starszą część olać, jeśli wcześniej wprowadzi się tylko zabezpieczenie przed przekroczeniem zakresu. Dodawanie tak samo - na rejestrze x (wcześniej dla pewności możesz wyzerować część...
Zaczołem pisać oprogramowaine do mojgo układu. Zmieniłem także procesor na ATtiny2312. Ale niestaty program nie chce się kompilować. To dopiero początki programowania w Bascomie. Jak na razie kiepsko mi idzie. Oparłem się na schemacie załączonym w pliku dodając pamięć 24C32. Za linie SDA i SCL posłużą mi wyjści PD5 i PD6 Możecie mi pomóc. Proszę.
Musisz jeszcze pamiętać że akumulator jak i rejestry prawdopodobnie są ośmiobitowe a co za tym idzie nie możesz sobie tak bezmyślnie dodawać szesnastu liczb i trzymać ich sumy w akumulatorze bo się tam ta suma nie zmieści. Wynik musisz zapisywać na dwóch bajtach i dopiero dodawać kolejną bajtową liczbę. Zazwyczaj w asemblerze, ale to zależy od konkretnego...
Słyszałem że można jeszcze robić wstawki assemblerowskie w osobnym pliku i potem dodawać go do C w postaci funkcji.... aczkolwiek nie znalazłem nigdzie jak to się robi :) proszę: http://www.nongnu.org/avr-libc/user-manu... http://www.nongnu.org/avr-libc/user-manu...
Witam Władziowek coś Cie boli Raspberry jak widzę .... Ktoś następny spyta czemu Atmega skoro lepiej na PICu. A tak ogólnie to chciałbym widzieć jak robisz na płytce uniwersalnej serwer webowy z podłączeniem 81 termometrów DS18B20, chciałbym nawet zobaczyć jak rysujesz schemat serwera, tylko o zgrozo nie używaj gotowych płytek LAN do Arduino tylko zrób...
Widzę, że nikt nie ma odpowiedniej wiedzy. Po grzebaniu na necie i testowaniu wyszło mi następujące rozwiązanie (dla potomnych ;) ): - należy utworzyć pakiet (assembly), który jest FullyTrusted. W metodach, które będą wywoływać kod niezarządzany należy dodać atrybut SecuritySafeCritical jeżeli chcemy umożliwić uruchamianie ich przez metody transparentne...
Mam pytanie może ktoś mi pomorze. Od kilku dni "bawię" się programem CATIA (który kilka lat temu miałem na studiach)Co do rysowania prostych brył ich wyciągania modelowania problemów nie mam natomiast mam problem ze stworzeniem jednego elementu składającego się z takich samych części. W module Part tworzę sobie profil kwadratowy, natomiast w module...
Witam wszystkich, mam za zadanie napisać program w języku assemblera na DSM51 jako stoper bez użycia timerów. Mój aktualny program wygląda następująco: [url=http://www.wklejto.pl/666153?fbclid... Z tego co zauważyłem nie da się wyświetlać jednocześnie na dwóch wskaźnikach innych liczb....
Mirko51 Udzielasz fatalnej odpowiedzi. Dodawanie w kodzie BCD musi uwzględniać rozkaz korekcji dziesiętnej DA A Tu masz przykład (podprogram SUM) sumowania BCD dwóch dowolnie długich wartości umieszczonych w ramie gdzie końce pól są w R0 i R1 a długość (identyczna) jest w R2. Sumowanie odbywa się do pola, którego koniec jest w R0. [syntax=asm] SUM:...
No to całość mi się od niedawna posypała.... jak dodaję plugin DSD plus to SDR SHARP (<add key="DSD" value="SDRSharp.DSD.DSDPlugin,SDRSharp.D... /> nie chce się uruchomić wywalając mi komunikat: https://obrazki.elektroda.pl/7185409400_... Szczegółowe informacje na temat wywoływania debugowania w trybie JIT (just in time) zamiast...
push es mov ax,0000h ;segment mov es,ax mov di,0000h ;offset cld ;adresy rosnace mov al,ffh ;dane stosb ;zapis al do es[di] i inkrementacja di ;mov al,55h ;ew.kolejne dane ;stosb pop es mem[] tyczy się pamięci, a w asm 'out' do przestrzeni I/O.. to tak jak byś hciał wydrukować text za pomocą instrukcji dodawania :)
AVE... Firma mikroElektronika oferuje też kompilatory mikroPascal i mikroBasic - używałem obu. Używałem też kompilatora PICBasic. Korzystałem też z platformy Pinguino, czyli Arduino dla innych mikrokontrolerów - w tym przypadku dla PIC18F45K50, który ma wbudowany interfejs USB 2.0. Przerzuciłem się jednak na rodzinę XC8/16/32. Kompilatory nie mają żadnych...
powiem tak: RTFM w terminie 'FM' zawiera sie datasheet procesora i instrukcja do assemblera MPASM. obydwa do znalezienia na stronie microchipa (to drugie masz na dysku pewnie zainstalowane wraz z mplabem). a jak nie chcesz uzywac linkera, to nie dziw sie ze twoj kod nie dziala. to nie jest kwestia chcenia czy niechcenia, tylko koniecznosc. pliki naglowkowe...
W najnowszym RealView chyba jest odwrotnie, czyli chyba tylko mogę zastosować embeded http://www.keil.com/support/man/docs/arm... Heh miałem nadzieję, że nie będę musiał zagłębiać się w assemblera, ale mówi się trudno :) Mam pytanie odnośnie zwracania w r0. Pod hasłem Embedded assembler syntax(http://www.keil.com/support/man/d...
Operacje arytmetyczne i logiczne w procesorze wykonuje jednostka arytmetyczno-logiczna (ALU). Generalnie ma dwa wejścia i jedno wyjście (np 32bitowe dla procesora 32b) i współpracuje z rejestrami procesora o takiej szerokości. Dodatkowo ma wejście i wyjście do przerzutnika przeniesienia, przerzutniki flag (informacja o przepełnieniu w ostatniej operacji)...
Już kiedyś pisałem tutaj o konwersji bin->bcd. Są na to specjalne algorytmy. Ponieważ nigdy mi się nie chce ich szukać, konwersję przeprowadzam metodą łopatologiczną: 1. Odejmuję od zadanej liczby 1000 tyle razy, aż uzyskam wynik ujemny. Liczba odejmowań (pomniejszona o jeden) daje cyfrę tysięcy. 2. Koryguję liczbę po odejmowaniu (dodając z powrotem...
(at)margas60 Ponawiam pytanie, czemu STM? Da się nadal kupić stare AVRy, da się nowe, są Arduina na mniejszych i większych AVRkach. Chcesz się nauczyć STMa? Bo argument z początku tematu o tym że wyzionie ducha i koniec świata jakoś do mnie nie trafia. Bawiłeś się jakimś Arduinem? Co do STMów możesz na to pisać używając HAL - hardware abstraction layer...
Innymi słowy - "takich szopek" nie ma nigdzie. No skoro nagle wszystkie ARM7 mają jakiś VIC, no to faktycznie problem nie istnieje :] Ale z tego co pamiętam, to nie wszystkie procki ten VIC mają... Być może, jednak możliwość dodawania conditionali do KAŻDEJ instrukcji w trybie ARM jest bardziej oczywista, bardziej logiczna, bardziej prosta i bardziej...
Dyrektywa .thumb jest dla assemblera. W końcu w przypadku C możesz zdecydować czy ma to być thumb, ARM, czy może kod na dowolną istniejącą platformę, tak w wypadku konkretnej funkcji w assemblerze raczej nie ma wyboru - ona musi być w konkretnym "języku", który dodatkowo podajesz wyżej, bo jednak pewne instrukcje są wspólne tekstowo (mov, ldr, str,...
A konkretnie to co z tego jest niezrozumiałe (po zajrzeniu do opisu instrukcji 51)? Może ujmę to tak : Chciałem opisać każdą linijkę co oznacza , jestem serem z assemblera dlatego nawet jeśli przeczytam definicje funkcji np add - ADD A, #dana · do akumulatora dodawany jest argument stały (8-bitowa liczba) to Jakbym dostał pytanie co się dzieje...
Gdy dodałem jako atrybut do funkcji "weak" żeby kompilator nie dodawał na wejciu odkładania na stos Atrybut "weak" służy do zupełnie czego innego. To o co Ci chodzi to atrybut "naked" - funkcja z tym atrybutem w zasadzie powinna zawierać tylko assemblera. Co do plików których używasz, to ja mogę polecić jak zwykle to samo, czyli mój szablon dla STM32F1...
Mnóstwo instrukcji assemblera nie może być wykonanych w jednym cyklu zegara... w sumie wszystkie wykonywane są w tej samej liczbie i zależy ona od PIPELINE'u... pobranie instrukcji, dekodowanie, wykonanie, zapis do pamieci, akumulacja wyniku. To jest taki najprostszy pipeline i umożliwia on właśnie wykonywanie instrukcji w "jednym" cyklu zegara.......
Z tym językiem angielskim to różnie jest to co wyszukałem push - zapisuje na stosie dwa rejestry r30 i r31 (które stanowią Z) ale po co przecież są puste? ldz - wpisuje do rejestru obie pozycje z kody7seg ale które ? add r30,r16 dodaje oba rejestry, a wynik wpisuje do r30 (to rejestr do którego w programie głównym wpisywane są cyfry od 0 do 8) brcc...
pytales o konwencje, a nie o przyklad <: konwencja to konwencja, a przyklad to przyklad [; w swoim pliku assemblerowym definiujesz sobie etykiete, ktora bedzie nazwa funkcji, w ciele funkcji robisz sobie co ci sie podoba, pamietajac o tym, co opisane jest w rozdziale ktory wspomnialem - ktore rejestry mozesz uzyc, ktore musisz zachowac, w ktorych...
wchodzisz na strone microchipa i nie umiesz sobie znalezc dokumentacji procesora? zartujesz? no chyba ze z twoim angielskim jest tak cienko, ze nie wiesz co to znaczy '8-bit PIC® Microcontrollers' ... ale wtedy to juz raczej nie ma nadziei zadnej. MPLAB domyslnie wyposazony jest jedynie w interpreter assemblera. mozna dodawac rozne pakiety z jezykami...
Witam wszystkich. Mam problem i to poważny. Potrzebuję kogoś, kto zna się na pisaniu programów w asemblerze. Niżej podaję treści takiego zadania: 1. Napisz program, który oczyszcza ekran, umieszcza wskaźnik w wybranym miejscu, prosi użytkownika o podanie dwóch wartości, dodaje je i wyświetla sumę. Użyj procedur Clrscr,Gotoxy,Writestring,Readint i Writeint...
Adresy pod którymi znajdują się kawałki kluczy nie mogą być zapisane w pliku. Adresy pod którymi kawałki kluczy będą się znajdowały dla bezpieczeństwa będą dynamiczne oraz wrzucane do odpowiednich komórek plików(ukryte w plikach, ale nie naruszające danych z pliku i nie powiązane z plikiem). AVR ma tylko poskładać odpowiednie bajty w aplikację zgodną...
Dziękuję za odpowiedź:) Jeśli jest tak jak mówisz to brzmi to baaardzo zachęcająco i budująco. Jednakże przyznam się szczerze nie widzę "Prequisities"... Mam jedynie wyjustowane pliki widoczne do skopiowania.. Czy byłbyś tak uprzejmy dokonać upload screena albo filmiku na screencascie jak to zrobić? Byłbym wdzięczny:) Czy edycja Prequsities się sprowadza...
he he powracaja zabytki :) Az sie lezka w oku kreci :) Ale fakt plyty glowne z zlaczem ISA to fajna alternatywa, nie koniecznie trzeba trzymac sie tylko LPT. Wykonanie plytki pasujacej do slotu ISA nie jest obecnie trudne, a obsluga jest banalnie prosta. W elektronice wystarczy kilka TTL-i jako bufory i dekoder adresu... Dla zapalencow dodaje troche...
Zależy co chcesz tym assemblerem programować. Jeśli chodzi o takie niskopoziomowe oraz w oparciu o system DOS, procesory x86, to "Jak pisać wirusy" jest ciekawym podręcznikiem... Ale wiesz, że na ASM daleko nie pojedziesz? Owszem, jest to najszybszy z mozliwych języków programowania lecz wymaga szerszych umiejętności i wiedzy, którą lepiej byłoby zdobyć...
Stringi w pascalu zaczynaja sie od 1. Na bajcie zerowym jest dlugosc stringa. maxymalna dlugosc stringow w pascalu, wlasnie z tego powodu to 254 znaki. W delphi zostalo to poszerzone do 32 bitow o ile sie nie myle. Problemem z dodawaniem stringow bedzie to, ze readln czeka na CR, wiec bedzie trzeba dwa razy klepac enter. Natomiast czytanie znak po znaku...
zrobiłem taki program ale on tylko dodaje 2 zmienne i nie wiem jak dalej zrobic zeby napierw przemnożył x razy 5 i z razy 4 : [bits 32] lea eax, [ebp-4] push eax lea eax, [ebp-8] push eax call do_scan db "%i %i",0 do_scan: call [ebx+4*4] add esp, 12 mov eax, [ebp-8] add eax, [ebp-4] push eax call wypisz_wynik db "wynik: %i", 0xa, 0 wypisz_wynik: call...
Program skompilowany w wersji z symbolami debugowania ( która część źródeł odpowiada instrukcjom ) może być uruchomiony bez podłączonego debuggera, analogicznie sesją debugowania można się podłączyć do zwykłego programu na MCU - wystarczy wprowadzić dodatkowe instrukcje. what? (; Nie no, sorry - naprawdę nie wiem o czym Ty piszesz... Co chcesz porównywać...
ściągasz: http://www.mikrocontroller.net/downl... wypakowujesz np. do /home/"nazwa usera"/ i wydajesz polecenie: echo 'export PATH=/home/"nazwa usera"/arm-gcc/bin:$PATH' >> ~/.profile które dodaje linijke: export PATH=/home/"nazwa usera"/arm-gcc/bin:$PATH do pliku ".profile" w twoim...
...umie ktos to zrobic ? bede wdzieczny za pomoc ... Ta może bez zbędnych ceregieli "podam na tacy" gotowca , a Ty spróbuj zrozumieć jak toto działa :D .include "8515def.inc" .def zero = r0 .def bcd = r16 .org 0x0000 rjmp start .org INT_VECTORS_SIZE start: ldi bcd,low(RAMEND) ldi r17,high(RAMEND) out SPL,bcd out SPH,r17...
Ten Bascom i assembler na pewno się czymś różnią. Który jest łatwiejszy? Który ma większe możliwości? Tymi programatorami co podałeś link to mogę zaprogramować w obu językach czy tylko w Bascom'ie, bo na razie tak z grubsza przeleciałem i nie widziałem nic o assembler'ze W każdym języku, ponieważ ten programator służy tylko i wyłacznie do przesłania...
MOV DPTR, #TAB ; i od tego momentu nie wiem co sie dzieje i po co do DPTR ładowany jest początek adresu tablicy. MOV A, #0 ; czy ktoś mógłby wyjaśnić troszke idee działania zerowanie akumulatora A MOVC A,(at)A+DPTR ; tego programu wpis do akumulatora A danej z komórki pamięci programu o adresie A+DPTR JMP $ skacz sam do siebie tutaj procek w zasadzie...
Nie wiem czy ktos w Polsce zadal SOBIE na tyle trudu aby dokonac tlumaczenia czegos co sluzyloby INNYM... (obie srony za darmo). ktoś przetłumaczył dokumentację do ATmegi16 (fakt, nie zdanie po zdaniu, ale gdzieś w 80-90% najważniejsze rzeczy). Pytanie do autora: czy to ma być czynność powtarzająca się na okrągło, czy może rzadko i dodatkowo w tym...
Wydaje mi się że tak: [syntax=asm] ;Wyświetlasz sumę (ORL) rejestrów A i B ;Pomocniczy rejestr C,D ;Rejestry A,B,C i D (dowolne rejestry R0-R7) nie mogą ulec zniszczeniu w operacjach dodawania, i wyświetlania danych na porcie ;CARRY - oczywiście flaga C ;klamry {} są tylko po to aby lepiej było widać poszczególne pętle ;=======program========= start:...
Jak już pisałem są inne opcje, oprócz -Os, które powodują dalsze zmniejszenie kodu... Co do dołączania plików - najprościej sobie to wyobraź w ten sposób, że include powoduje, że w miejscu w którym jest nagle pojawia się cały plik, który includujesz - coś jakby copy/paste. Jeśli pliki są dodawane do makefile to są kompilowane oddzielnie jako oddzielne...
W załączniku cały projekt. W tej wersji działa wszystko ok. Jeśli jednak w pliku WaveSmpl.asm wyciągnę spod komentarza kolejną tablice z próbkami to w ogole nic sie nie kompiluje, nie tworzy się plik .hex ani .obj ani też nie ma żadnych komunikatów o błędach. Kiedy spowrotem usune lub zakomentuje tą tablice wszystko wraca do normy, tworzy się plik .hex...
Do opoznien tez masz biblioteki. Programowales kiedys AVR czy zaczynasz w ARM od razu? Ja na ARM dopiero bede siadal za pare tygodni ale ogolnie to w C masz na architekture biblioteki do opoznien. W C dodajesz plik naglowkowy: #include <avr/delay.h> np. i mozesz uzywac funkcji _delay_us(), _delay_ms() itd. Te funkcje i tak sa tlumaczone na assembler...
Stary post ale , jest sposob aby przerwania od timera wystepowaly w rownych(co do jednego cylku) z gory okreslonych odstepach. Przy kwarcu 12MHz aby odmierzac rowne czasy np 20ms wystarczy na poczatku przerwania wpiac taka procedurke ktora modyfikuje odpowienido rejestry TL0 i TH0 i uwzglednia opoznienie czasowe. t0VAL equ 20000 ; czas miedzy przerwaniami...
Witam Po pierwsze trzeba załadować plik technologii ( jumper_h.sf albo jumper_v.sf ) Następnie trzeba zmienić warstę TOP z Routing na Jumper http://obrazki.elektroda.net/68_12347815... Potem w menu Jumper Settings, musisz dodać footprinty dla jumperów i wyznaczyć długość zworek ( jest to troche nie logiczn, bo footprinty mają stałą długość...
Nie używam w ASM liczb zmiennoprzecinkowych, różne algorytmy można napisać bez nich, przez co działają 10x szybciej. Pisanie programu to przekładanie rzeczywistości na liczby i w tym jest problem, kto umie to w głowie przetworzyć, ten jest programistą. Jak mam jasno i szczegółowo skonstruowany algorytm, to napisanie programu jest banalne, bez różnicy...
Witam! Otóż zwracam się tutaj po pomoc dotyczącą gry BFH Revive. Po ustaleniu folderu docelowego i startu instalacji wyskakuje mi błąd z certyfikatem .NET framework (tak uruchamialem jako administrator), probowalem doslowanie wszystkiego, debugowania, przywracania framework do stanu wyjscowego, wylaczania skryptu debugowania, usuwania debugowania, dodawania...
Jak wyliczyć (Wykonać) dokładnie opóźnienie np. 500ms Nie chcę tego robić na timerze ! Chodzi mi o to jak wyznaczyć taką liczbę cykli procesora które zajmie pętla for tak aby wykonała się dokładnie w 500ms Do dokładnego odmierzania czasu służą timery. Jeżeli nie chcesz, to masz złe podejście. Nie chodzi mi o czysty assembler tylko o wykonywanie pętli...
Czy ktoś z was używał V-USB z pamięcią zewnętrzną RAM ? Ja mam 64k na mojej płytce z atmega128 i niestety gdy używam pamięci zewnętrznej dla stosu i/lub sekcji danych to nie działa mi V-USB. Jestem przekonany, że ma to związek z funkcjami napisanymi w assemblere w plikach usbdrvasmXX.S bo jest tam napisane, że liczba cykli poszczególnych funkcji myśli...
Prawda, należało tam zmienić ścieżkę kompilatora. Można również pomóc sobie dowiązaniem symbolicznym. Jeżeli mamy kilka kompilatorów w systemie i chcemy szybko dokonać wyboru którego z nich chcemy użyć, to można nieco zmodyfikować makefile'a dodając coś takiego: [syntax=c] # ----------------------------------------...
Uffff ... Miejscami dobrze gadasz, miejscami się ślizgasz. > Jeżeli dobrze rozumiem język programowania to taki zbiór funkcji które kompilator lub maszyny wirtualna ma przełożyć na asemblera lub prosto na kod maszynowy. No nie. To nie jest definicja języka programowania, i domysł o warunkach wykonania też nie jest śćisły. Tu jest pora pomedytować, co...
Dla mikrokontrolerów Atmel AVR wygląda to następująco: buton1: ldi ZH,high(2*tablica) ldi ZL,low(2*tablica) ;ładownie tablicy do pamięci programu adiw ZL,1 ;dodawanie do adresu elementu tablicy lpm ;odczyt z tablicy do r0 - zawsze tam znajdzie się dana mov temp,r0 ;kopiowanie danej do rejestru ogólnego użytku sbiw ZL,1 ;odejmowanie od adresu elementu...
www.maxim-ic.com <-- spróbuj poszukać tego twojego "MAX"a... poza tym. skoro masz juz sc16311, to po co ci inny/dodatkowy/zamienny driver do VFD? Dodawać RTC? zalezy czy chcesz go dodać :] To jest typowo konstruktorskie pytanie, no a ze to twoj uklad, to musisz zdecydowac sam... Do budowy zegarka pod driver sterowany jakas badziewna magistrala szeregowa...
http://windsave.com/ dane ze strony producenta-głównie chodzi mi o układ "dodawania" energiia nie o "wynalazek" WS1000 PRODUCT SPECIFICATION AC Input (Mains): 230 Volts (nominal) ac, (at) 50Hz Power Input (Mains): 6 Watts (Note 2 ) Rated Power Output: 1kW (at) rated wind speed (Note 3 ) Rated Wind Speed: 12.5 m/s (Note 8 ) Cut-in Wind Speed: 3.5 to...
Napisałem takie plik konfiguracyjny: An unhandled exception of type 'NHibernate.MappingException' occurred in NHibernate.dll Additional information: No persister for: projekt.Produkt Czy takie mapowanie ogranicza mi możliwość dodawania Produktów do bazy tylko do przypadku wpisania ich do kolekcji znajdującej się w klasie Zamówienie ?
dodawanie asembler dodawanie godzin dodawanie czynnika
schematy projektorów atmel 24c64 toyota radio zasilać
sterowanie roletami blaupunkt bn32h1012eeb
Budowa łopat turbiny wiatrowej 24-łopatowej – profile, materiały, parametry, wyważanie Kawasaki FJ180V – luz zaworów, regulacja, wartości serwisowe, szczelinomierz