Zaintrygowany Qmexx postanowiłem dorzucić beczkę dziegciu do tej łyżki miodu niemniej kolega mnie uprzedził i zamknął temat. Chciałbym zapytać o jeszcze dwie dziwne przypadłości z którymi się spotkałem w czasie mojej zabawy z avrgcc. 1. xpos = (xpos%8); i voila! Kompilator potraktował zmienną i operacje na niej jako char. Czemu wcześniej nie chciał?...
Witam, Wiem, że w sieci jest tego pełno ale nie mogę znaleźć dobrego programu do procesu assemblacji, albo nie działają wogóle albo uda się sworzyć plik obj, ale w drugim kroku na hex nie udaje sie.. Chce zaprogramować AT89C4051 i szukam sprawdzonego na 100% działającego "kompilatora". Przeniosłem z Programowanie Ogólne - krzychoocpp
Pilnie poszukuję kompilatora assembler-a do mikrokontrolerów z rodziny LPC2000. Pozdrawiam
Witam! W trybie pilnym potrzebny jest mi kompilator assemblera do procesorow 8051 8751 8951 (krotko mowiac seria mcs-51), a takze jakis programator z oprogramowaniem do niego. Problem w tym ze caly soft MUSI BYC FREEWARE, zadne crack'owane dema i sharewary nie wchodza w gre. W sieci znalazlem tylko wersje demo i shareware :-( Chodzi mi o soft pod windowsa...
Witam, Pytanie do praktyków. Chciałbym zbudować sobie układ np. sterujący wyświetlaczem i z czasem go uzupełniać o kolejne pomysły, oparty na 8052 jakoże znam od teoretycznej strony programowanie go (interesuje mnie tylko assembler). Pisałem programy i testowałem w prostych układach np. w Electronic Workbenchu (który umożliwia to ale w ograniczonym...
Jaki możecie mi zaproponowac fajny, dobry i łatwy w obsłudze kompilator assemblera, przydał by się jeszcze jakiś symulator też łatwy i dobry !!!
Witam.... Pisze program w assemblerze na 51, uzywam Keila 3 v3.30a i nagle pojawil sie problem z ograniczeniem 2kb <mam wersje domo!> :/ , moze ktos by mi pomogl uporac sie z tym problemem, doradzic jak przerzucic caly projekt do innego programu, albo cos innego :) Jesli ktos chce zaproponowac "cos innego" niech napisze na priv :) Bede wdzieczny...
Witam Ostatnio zająłem się procesorem Intel8080. Mam już trochę pojęcia o assemblerze do niego tylko pojawił się problem czym to skompilować? Chce użyć pamięci serii 27xx bo posiadam odpowiedni programator pod rs232 i brakuje mi kompilatora żeby przerobić asm na maszynowy kod tego procesora. Czy ktoś robił takie rzeczy? Proszę o pomoc;) Pozdrawiam AW
Witam! Mam następujący problem, po ściągnięciu kompilatora TLINK i TASM i późniejszym rozpakowaniu ich do folderu gdzie zainstalowany jest mój assembler dale nie mogę' budować projektów' a MPLAB.assemblera. Jestem w tym bardzo zielony i byłbym bardzo wdzięczny gdyby ktoś mi to wszystko wyjaśnił. Pozdrawiam
Jak w temacie, poszukuję jakiegoś darmowego kompilatora działającego pod windowsem, który skonwertował by mi program napisany w notatniku do formatu hex. Z góry dziękuję.
Witam was. Orientuje sie ktoś może jaki kompilator jest najlepszy na zamianę tych oto dwóch języków? Asm na hex. Szukałem już dlugo ale żadnego nie moge znaleźć.. potrzebuje skompilować program napisany w assemblerze na język hex dla procesora 8051.
(at)Elektroonik Dzięki trocszke tego jest i troszke potrwa zanim to przerobie :D. -------EDIT--------- OK. A możecie mi tylko jeszcze podać jakiś kompilator assemblera dla AVR bo wiem że dla windows jest NASM\TASM a pod AVR??
Jeśli chodzi o kompilator assemblera , to jest on taki sam może trzeba jeszcze dodeklarować dodatkowe rejestry w programie Co do programatora , to program pod windę można było ściągnąć kiedyś ze strony producenta ... Ale wydaje mi się że potrzebna będzie jakaś przejściówka dla zestawu z ST6225 do proca ST6265 , bo chyba ma programowanie na innych pinach......
Ścieżki:: $(ProjOutDir)\ reszta pusta Analiza:: Tryb.. :Object Pascal - deflaut.. zaznaczone opcje skladni: operatory w stylu jezyka C.., Pozwalaj na instrukcje LABEL, GOTO (-si), INLINE w stylu C++, Assembler style: domyslne Kod:: OPtymalizacje - Poziom 1; reszta odznaczona, Łączenie:: zaznaczone tylko Wyświetl numery lini.., Aplikacja graficzna win32.....
pierwsza sprawa to fakt że nie produkty nie są porównywalne. Kompilatory GNU (tak naprawde zestaw programów do kompilacji kodów) daja tylko pdzbiór funkcjonalności produktów IAR, czy Keil. Programista często widzi kompilator jako IDE które "automatycznie" robi cały proces budowania (edycje, kompilację, linkowanie, obróbke do postaci wynikowej/potrzebnej...
Nie umarł i nie umrze, aczkolwiek może zostać "zdegradowany" do pozycji języka, który jest potrzebny tylko do napisania kompilatora. Stanie się tak, jeżeli pojawi się jezyk wysokiego poziomu, a właściwie to kompilator takiego języka, za pomocą którego będzie można uzyskać kod równie wydajny. Chociaż i tak zawsze pozostanie grupa entuzjastów asm. Znajomość...
Czyli wystarczyłoby zapamiętane zawartości rejestru status oraz W? Jednak w tym przypadku tego nie widzę. A co ze stosem i używanymi rejestrami? Domyślnie (tak jak pisałem) kompilator C dba o zachowanie rejestrów wykorzystywanych przez niego samego. Jest to nieoptymalne, ale uniwersalne. Gdy (przykładowo) kod przerwania ma zmienić 1 bit zapamiętywanie...
Hej. Właśnie probuje się nauczyć programować AVR-y ale mi nie idzie (mam AT90S8535). Wygrzebałem jakiś kurs nauki programowania w C i sam kompilator. Napisałem coś takiego : #include <io.h> #include <inttypes.h> uint8_t stan; int main(void) { outp(0xFB,DDRC); //pc3 = 25 pin LED //pc2 = 24 pin BUTTON for (;;) { stan = bit_is_set(PORTC,2);...
Nie ma uniwersalnego asemblera do wszystkiego ... będziesz chciał programować AVR to zerkasz do datasheet, ale 8051 to znowu inne instrukcje , kompilator. Będziesz chciał się pobawić na swoim PC znowu trzeba się przystosować do innych reguł. W niektórych mało co się zmienia, w innych znacznie. Mam kurs pod PC (intel 8086 i większe) -> Jeśli chcesz poszerzyć...
Używając etykiet w .eseg nie zastanawiasz się nad fizycznymi adresami, robi to za ciebie kompilator. Tym niemniej aby operować na tych danych należy oczywiście użyć "okienka podawczo - odbiorczego" w EEDR, zgodnie z notą katalogową ( ). Wszystko z .eseg ląduje w pliku .eep, którym możesz za pomocą programatora programować EEPROM niezależnie od pamięci...
sposoby adresowania mogą zależeć od architektury procesora i samego kompilatora. W przypadku x86 odwołania adresowe mogą być chyba tylko w rejestrze BX. Ale czemu nie umieścisz w DX po prostu przesunięcia dla zmiennej, jak wcześniej?
W programie C++ deklarujesz zmienną w specjalny sposób: extern "C" int wynik=0; extern "C" powoduje że zmienna ma nazwę taką jak podałeś, ale z dodatkowym prefiksem: _wynik. Bez tego zmienna będzie zawierała w nazwie typ zmiennej plus różne dziwaczne znaki, a całość będzie zawsze inna w różnych kompilatorach. Standard "C" zawsze (i tylko)...
#define LCD_DATA_WR (*(unsigned char *)(0x02fff2)) to masz stałą kompilatora.. on wstawi tą wartość do wszytskich plików które przetworzy.. kompilator gcc nieprzetworzy plików asm a więc tam tego niewstawi.. plik asm jest łączony z plikiem C (oba w formie object file) dopiero na poziomie linkera.. p.s. 0xfff2h fajnie to wygląda.. "0x.." to jest znacznik...
Piszesz w asemblerze następnie kompilacja ,oczywiście dla danego mikrokont jaki posiadasz ,wybierasz to opcjach kompilatora.otrzymujesz plik wynikowy i wysyłasz go do prtu pod który masz podpięty programator .Teraz już masz zaprogramowany układzik .A tera problemy dlaczego to niestety nic nie robi .Szukasz błędu poprawiasz i wracasz do kompilacji .Zeby...
No dobra, udalo ci sie polechtac moja proznosc wiec moze zrobimy tak. Opisze tutaj przykladowego mekafile-a z nastawieniem na WinAVR, Atmega8 i STK200 tak aby inni tez cos z tego mieli. W zasadzie wszystko jest opisane w angielszczyznie no ale jakby kto nie umial to daje po polsku. # Hey Emacs, this is a -*- makefile -*- #---------------------------------------...
Witam, robię projekt "sterownik cd" z EP2002/7 i próbuje skompilować podany kod, niby wszystko się kompiluje dobrze. Analizując plik ""hex"" w AVRstudio wykryłem że kompilator pozbył się skoków do funkcji "SetAdress..." oto kawałek kodu w C oraz wynik już skompilowanego kodu: u08 SetAddress(u08 cs, u08 adr) { u16 i; if (cs==CTRL)...
Makefile # Hey Emacs, this is a -*- makefile -*- #---------------------------------------... # WinAVR Makefile Template written by Eric B. Weddington, Jörg Wunsch, et al. # # Released to the Public Domain # # Additional material for this makefile was written by: # Peter Fleury # Tim Henigan # Colin O'Flynn # Reiner...
Może stara wersja kompilatora albo inna architektura procesora? Jak się błąd wpisze w wyszukiwarkę to daje się znaleźć podejrzenia że składnia się zmieniła. Żeby sprawdzić wersję można wpisać komendę: gcc -v plik.c Wersja którą sprawdziłem że działa to GNU assembler version 2.29.1 (x86_64-pc-linux-gnu) using BFD version (GNU Binutils) 2.29.1 W wyniku...
Witam, czy ktoś z kolegów ma jakąś instrukcję jak poprawienie skonfigurować Keila'a? zainstalowałem taką wersję: Keil uVision4 ale nie moge jakoś tego programu ogarnąć. Problemy pojawiają się już przy tworzeniu projektu. Daję nowy projekt wybieram mikrokontroler pojawia się plik STARTUP.A51 ale przy próbie otwarcia pojawia się komunikat: "Encountered...
Mógłby mi ktoś wytłumaczyć co muszę zrobić aby móc z niej korzystać? ? 1. Użyć assemblera, aby przetłumaczyć plik z kodem assemblerowym na język maszynowy. 2. Użyć kompilatora, aby przetłumaczyć plik z kodem w C na język maszynowy. 3. Użyć linkera, który skonsoliduje oba porzednio utworzone w 1 program. Na pewno zadziała. I z Eclipse i bez. Nawet jak...
bez urazy, kolego olekewaagata, zanim zaczniesz kogoś pouczać przeczytaj tekst ze zrozumieniem! ;)) Autor wątku miał problem z propagowaniem przeniesienia - moja odpowiedź dotyczy DOKŁADNIE zalecenia, jaką instrukcją uwzględnia się przeniesienie. A podany przeze mnie przykład dotyczy sumowania, z jakim ma problem autor - czyli dokładnie liczby _16bit_...
Hmm, moze to sie przyda. Przy okazji wyprobuj i napisz co to i co da sie za pomoca tego zrobic, bo ja nie mam czasu na assembler, 8051 w szkole mi wystarczy. Moge tylko stwierdzic po krotkiej zabawie ze ladujemy flaszke i edytujemy ja w assemblerze.
W praktyce wychodzi, że znajomość asemblera + języka wyższego poziomu się opłaca. Ja w tej chwili dziobię głównie w C, ale do asemblera też sięgam. Najczęściej w dwóch przypadkach: 1. trzeba sprawdzić jaki kod generuje kompilator. AVR GCC na przykład lubi mi namieszać w pętlach opóźniających. W takich przypadkach bardzo przydaje się umiejętność czytania...
To wszystko prawda, aczkolwiek wydaje mi się, że różnie to widzą różne kompilatory. Ofszem Acc jest nazwą rejestru SFR i można ją używać jak każdej innej zmiennej czyli w rozkazach z adresowaniem bezpośrednim (direct). Oczywiście jeśli to możliwe to lepiej jest korzystać z rozkazów wykonywanych na akumulatorze. Ale czy każdy kompilator zrozumie inc...
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...
Na prawdę do kopiowania nie ma sensu zaprzęgać ASM. Można albo zrobić to właśnie tak, że "skompilować" BATa, albo poleceniem kopiowania plików czy to w TP/FreePascal czy TC++ czy QBASIC (jeśli ma się kompilator, do DOSa 5.0 był dołączony jedynie interpreter). Rozwiązań jest sporo w takiej sytuacji. Oczywiście kompilatory dla DOS! (nie mylić z kompilacją...
Program z napisany na ATMega168. Chiałbym go przenieść na ATMega16. Oryginalny kod (dla mega168) kompiluje się pod AVR Studio bez błędów. Większość kodu jest napisana w C tylko jeden plik w assemblerze (driver.s). Program kompiluje się z wyjątkiem tej jednej lini: ; Clear interrupts (if any happened). sbi _SFR_IO_ADDR(TIFR), OCF1A Błędy...
To po co jest rozróżnienie? Kompilator GCC powinien być w teorii identyfikowany przez kilka parametrów - generalnie architekturę i system operacyjny. Tutaj mamy ARM i nie mamy systemu, jest więc ARM i none, a EABI to takie dookreślenie interfejsu binarnego stosowanego przez kompilator (EABI - standard wprowadzony przez ARM). Chodzi właśnie o to, jak...
Nawet przyspieszenie kodu, jakie daje pisanie w asm jest mocno wątpliwe. Dzisiejsze procesory posiadają rózne cache, potoki, rdzenie itp. Natomiast kompilatory C posiadają optymalizację. Naprawdę trzeba znać na wylot daną architerkturę by napisać w asmie kod lepszy niż wygeneruje kompilator z włączoną optymalizacją. A i tak w gre wchodzi przyspieszenie...
Kiedyś to była podstawa, programy w DOS'ie mimały wstawki assemblerowe i używały przerwań, których parametry wpisywane były do rejestrów, - prehistoria. Java i C# w 100% nie ma sensu nawet wiedzieć o czymś takim jaki assembler bo to są kody wykonywane przez wirtualne maszyny, taki is własny assembler. W świecie mikrokontrolerów i systemów wbudowanych,...
Nie w 8051 nie ma takowych. Sa to dodatki kompilatora jezyka w ktorym piszesz. Pewnie jest to asembler, wiec podaj nazwe kompilatora asemblera to pogoglamy.
Nazwa zmiennej gryzie się z instrukcją assemblera.
Witam! Postanowiłem że zajmę się również innym językiem niż C++ i spróbuje swoich starań w Assemblerze. No to wiadomo wklepałem w google o jakiś kurs i znalazłem. Jednak nie wiem czy tam jest wszystko aktualne, ponieważ nie można tam pobrać kompilatora TASM i TLINK. Czy są jakieś inne dobre programy do pisania w assemblerze ? I czy będą one zgodne z...
Wejdź [url=] tutaj i ściągnij sobie assembler Metalink (jest na samym dole). Skompiluje Ci program do HEX albo do BIN (wedle życzenia). O, jest również [url=] u nas. Poszukaj w połowie strony: Assemblery - darmowe assemblery. Bardzo dobry jest również Turbo Assembler (kilka linijek niżej). Uważaj, różne assemblery mają różną składnię dyrektyw (np. EQU)....
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...
Możesz użyć praktycznie dowolnego kompilatora (to nie jest kwestia kompilatora czy są okienka czy nie), możesz nawet a assemblerze napisać. Nie wiem czemu uważasz, że w VC się nie da (sam dawno temu popełniłem jakieś proste projekty w WinAPI w C i kompilowałem kompilatorem w VC). Pod windowsem możesz również użyć portu GCC (polecam [url=]MinGW-w64,...
Może ktoś zna dobry compilator i symulator do at89c2051 i większych Atmeli do pisania w assemblerze. Basscom trochę mi nie odpowiada. Ja urzywam bardzo fajnego programik. Jest najlepszy jaki znam. Typowy kompilator (dosowy) wersja nie pelna (ograniczenie do 2500B) Rozbudowana pomoc. Spardz.
Witam! Jak powinien zaczynac sie program w assemblerze i jak konczyc..Tzn jak powinien wygladac typowy szkielet programu?? Chodzi mi konkretnie dl kompilatora TASM. Parzylem po różnych kursach i wszedzie jest onaczej..O co w tym wszystkim chodzi...Dziekuje za Pomoc :)
To jest zdaje sie plik naglowkowy assemblera a nie plik naglowkowy (nie wsadowy) kompilatora C. Taki plik mozesz sobie spokojnie stworzyc sam opierajac sie na dokumentacji procesora i kompilatora (byc moze sa jakies pliki do innych typow procesorow z ktorych wiele moglbys sciagnac).
Witam. Do tej pory głównym moim zajęciem jest tworzenie układów mikroprocesorowych na '51 ale one powoli umierają :cry:. Myślę że to ostatni dzwonek kiedy jeszcze mój umysł może czegoś się nauczyć :D (przeuczyć) więc postanowiłem przesiąść się na Atmegę (wstępnie) o którą będę opierał swoje nowe projekty ponieważ '51 są już przestarzałe a znam je na...
Dawno, dawno temu.....Był system CP/M, miał klony na 8080,8085,Z80 ale była na niego cała masa narzędzi. Nawet TurboPascal i TurboC Borlanda. Potem owstała nawet cała emulatorów natywnego CP/M na 8080 ale dla IBMPC na 8086. Mozna było na dosowym komputerze odpalic taki zestaw i normalnie operować jak na 8080. Ale są też inne drogi. Cross-assemblerów...
Hey, dopisz w swoim pierwszym poście o który assembler chodzi, to będzie łatwiej odpowiedzieć z przykładem. Jeśli to NASM to możesz liczyć na mnie. ** ok, po krótkiej konsultacji wyszło że chodzi o 16 bitową hybrydę C+ASM. Ze skompilowaniem asm i linkowaniem do 16 bitowca nie ma problemu, pozostał jednak problem z brakiem 16-bitowego kompilatora C,...
mov wX, [wY+wZ] adresowanie pośrednie z offsetem. Wcześniej musisz do wY załadować adres RxBuf, a do wZ - RxPtr offset (bajtowy!) w tablicy. Co do wykorzystania zmiennych z C w assemblerze, to - jak już zauważyłeś jest to problematyczne, ale gdy próbowałem to zrobić, to nie było problemu... Lektura dokumentacji do kompilatora C30 wystarczyła. 4\/3!!
Witam. Problem wygląda następująco: Mam do napisania program w assemblerze, który wczyta ze zrobionego pliku 2 liczby dwucyfrowe w nim umieszczone następnie doda je i wyświetli w konsoli wynik. Np: w pliku znajduje się "23+14". W konsoli ma wyświetlić zawartość tego pliku i po znaku "=" wyświetlić wynik dodania tych 2 liczb. Wynik ma być podany w 3...
Nie sądzę, że w asemblerze wygenerujesz coś znacząco lepszego niż kompilator, za to powinieneś ułatwić życie kompilatorowi. Zacznij od zadeklarowania wszystkich zmiennych roboczych jako 32-bitowych - to już coś powinno przyspieszyć. Potem popraw nagłówek pętli: int32_t i; for (i = 31; i >= 0; i --) Zamień kolejność & i >>: red = SWAP(*pixels) >> 10...
Może tak: W c++ wyglądałoby to np. tak: A w Assembler: ... Pewnie mało efektywnie ale tak by kompilator przetłumaczył ten konkretny kod, te konkretne rozwiazanie Nie rozumiem, co kombinujesz z tym asemblerem. Tu taki, tam, zupełnie inny (korzystając z b. standardowej C++ - jaki to assembler). Bez sensu. Masz się "wykazać"?
No to po kolei: [syntax=x86asm] .MODEL SMALL Dane SEG DL_TABLICA EQU 15 Tablica DB 01h, 02h, 00h, 10h, 12h, 33h DB 15h, 09h, 11h, 08h, 0Ah, 00h Dane ENDS Najwieksza DB ? W jakim to będzie segmencie? Proponuję w Dane. Kod SEGM ASSUME CS:Dane, DS:Kod, SS:Stos Nie ma segmentu Stos Start: mov ax, OFSET Stos Po co to? mov ds, bx Co ładujesz do DS mov al,...
Witam, Procesor PIC16F57 Środowisko MPLB-X 5.45 Assembler XC8 PIC ASM 2.31 Mam problem ze zdefiniowaniem adresu wektora reset tak aby nie było błędu kompilacji. Minimalna wersja programu która powoduje wygenerowanie błędu kompilacji/linkera. PROCESSOR 16F57 PAGEWIDTH 132 RADIX DEC #include <xc.inc> config WDT = OFF ; Power-On-Reset entry point...
Fast Assembler autorstwa chyba jakiegos Polaka :) z tego co wiem jest nawet wersja tego kompilatora pod 64bit. Ja próbowałem męczyc 32bitowy FASM pod xp64 i szedł jak burza....
witam. Zamierzam zrobić projekt na atmedze początkowo chcę spróbować z bascomem, teraz moje pytanie. Czy można używać w kompilatorze bascoma - assemblera albo C? Projekt chciałbym zrobić w C albo w Asmie ale coś czuje ze mnie to może przerosnąć z braku czasu i na razie chciałbym spróbować w Bascomie, ewentualnie potem krokowo "zamieniać" bascomowe polecenia...
1. Nie prościej kupić sobie jakiegoś klona STK500v2 z międzymordziem USB, niż szukać (bezskutecznie) jakiegoś wydumanego środowiska? AVRStudio działa z nim bez kłopotu (dla klonów bez opcji HID). 2. Uruchomić szare komórki i wyszukiwarkę by skleić sobie samemu edytor tekstu z możliwością wywoływania zewnętrznych narzędzi (np. Programmers Notepad, CodeBlocks...)...
odp: ze strony kapitgnu jak zmienić __evenaccess >> The Renesas complier supports compiler directive _evenaccess. >> What are the equivalents in GNU? The _evenaccess keyword guarantees access in the size of the variable type. In the GNURX toolchain, you may use the "volatile" keyword to declare the variables. This will ensure that the variables are...
Dla kompilatora C pojęcie "wolne rejestry" nie istnieje. I to jest jeden z wielu mankamentów kompilatora. Autor wątku nie posługuje się assemblerem więc po co mieszasz? Zgadza się, lecz sam wiesz, iż kompilator nie jest doskonały. Nie zapanujesz nad nim :( Wstawki ASM są stosowane bardzo często. Ja podałem jedynie przykład. Inna kwestią jest stosowanie...
asemblera uczyłem się oddzielnie, nawet przed C a jesli chodzi o C to najpierw nauczyłem się pisac programy na kompa z typowych książek do C (można kupić zwykłe ćwiczenia za kilka złotych, w prockach C nie jest aż tak zaawansowane), a potem trzeba zajrzeć do helpa konkretnego kompilatora i zauważyć tylko drobne różnice
ASM to przerost formy nad trescia... jak dla mnie C + wstawki w ASM, i wydaje mis ie to najlepszym rozwiazaniem, gdyz szkoda troche tarcic czasu na czyste ASM. Czy napisałeś cokolwiek w assemblerze i ci działało ? A może nie wiesz dokładnie o czym mówisz ? O tym, że C + wstawki w "przeroście formy nad trescia" to najlepsze rozwiazanie ? Co rozumiesz...
Dosyć wygodnie ćwiczy się asemblera z poziomu języka C. To znaczy, że piszesz sobie jakiś tam progamik w C a potem zastępujesz fragmenty kodu wstawkami asemblerowymi. Ponadto ten sposób umożliwia podglądnięcie, co generuje kompilator C a to również bardzo pouczające informacje.
Żaden kompilator nie rozpozna tego co nie ma wbudowane "na sztywno" (jak opkody) lub zdefiniowane w "inkludzie". Nie pochwaliłeś się jaki masz procesor dokładnie, nikt przecież nie bedzie przeszukiwał wszystkich datasheet'ów odmian z rodzinki '51, żeby rzucić tobie koło ratunkowe... ;) Wróżki piętro wyżej.
Jeżeli tak jest to musi być wina kompilatora Bascom(może tylko tej wersji co posiadasz)... Pod AVRStudio u mnie działa. Rozumiem jednak że trzeba by zaradzić twojemu problemowi, więc moja propozycja jest taka : $asm [...] ldi ZH,high((Dane+1)*2) ldi ZL,low((Dane+1)*2) lpm Dane: .DB 1, 2, 3, 4, 5 [...]...
Takie rzeczy są zależne od użytego kompilatora.... Sprawdź w dokumentacji. A tak ogólnie to po co łączyć jedno z drugim? Jeżeli dostatecznie dobrze znasz architekturę kontrolera, to jesteś w stanie wygenerować kod w C będący o 5..10% wolniejszy niż w asemblerze. Oczywiście napisanie (oraz przetestowanie) tego samego kodu w C zajmie ci jakieś 10 razy...
Dziękuję za dotychczasową pomoc, ale chyba robię coś źle??: w ProEmulator2beta5c jako kompilator wybieram ASEM 8051 Cross Assembler, jako System Intel 8051 Microcontroller a w Loaded Peripherals 8-Segment LED. Otwieram projekt kloszi.prj i pojawia się "ERROR loading the selected processor plugin" (?) Co prawda program kompiluje się ale nic nie wyświetla:(...
:arrow: zumek Wiem, że potrafi to wygenerować kompilator assemblera. Listing z mojego poprzedniego postu to CYTAT z wypowiedzi kolegi jony15 . A moje pytanie wynikło stąd, że też ten kompilator wydał mi się kiepski, i chciałem się dowiedzieć jaka to wersja. Sorry za nieprecyzyjne pytanie. Ja używam (a raczej używałem, teraz jeśli już piszę na '51, to...
AVRStudio to tylko IDE z asemblerem, kompilator można śmało sobie skopiować i używać oddzielnie.
moze ktos juz pisal program na arm'a w asmie , chodzi mi o konfiguracje i obsluge przerwan zewnetrznych dodam ze napisalem to w c ale niestety jest zbyt wolne prosze o jakies sugestie , moze ktos ma jakis sprawdzony kompilator do asm pod arm7 etc
polecam kompilator MASM32: i do tego srodowisko winasmstudio: i jak jestes ambitny mozesz nawet pisac drivery:
Nie analizowałem poprawności danych ładowanych do rejestrów SFR a tylko prześledziłem sekwencję programu i zaraz zauważyłem bład po etyliecie skok: Dochodząc do niej program sprawdza w pętli czy bit TI=1 i jeśli nie skacze do samego siebie, a przecież ten bit nigdy nie będzie jedynką bo przed nim nić nie zostało wysłane. Czyli innymi słowy najpierw...
Cześć, mam pytanko następującej treści: czym sie różnią, jeśli chodzi o składnie, te dwa kompilatory(Nasm i Tasm)? Czy istnieje jakiś program do przetłumaczenia programu napisanego w Nasm na Tasm i odwrotnie? Pozdrawiam. Dodano po 48 ...a i jeszcze jedno... co to oznacza w Nasm: ;dane smiecitimes 54db 0 paletatimes 768db 0
Jak w asemblerze (Pentium) uzyskać resztę z dzielenia liczby 64 bitowej przez 32 bitową, iloraz mnie nie interesuje. DIVL owszem działa, ale tylko wtedy gdy iloraz jest mniejszy niż 2^32 Asembler mojego kompilatora nie lubi DIV RAX.
Chore :?: To jakby winić młotek , o rozkwaszenie naszego paluszka :D Hehe. NIe winiłbym młotka o to że uderzył mnie w paluszek. Ale ten młoteczek - AVR-GCC jest taki że trzeba mu pokazywać w którą stronę jest wektor przyspieszenia będący wynikiem przyłożenia do niego siły mojej ręki. GCC jest taki że trzeba mu powiedzieć: "Kochany młoteczku teraz będziemy...
Jako ciekawostę wrzucę Ci prosty sterowniczek do RS-a na PC mojego autorstwa. Możesz go lekko przerobić i używać na PC do wysyłania określonych sekwencji ;) ;---------------------------------------... ;Sekcja dyrektyw kompilatora ;.model tiny = program i dane musza sie zmiecic w obrebie ; 1 segmentu pamieci (64 kB) ;.stack 100h...
napisalem kod lecz nie kompiluje sie kompilator zwraca 4 bledy dla warosci za # w liniach: mov CMH0,#FFH mov CML0,#E6H mov CTRELH,#FFH mov CTRELL,#CDH jako niezidentyfikowana nazwa w czym moze tkwic problem
Moge napisac dla kompilatora MASM32, powiedzmy 3zl za zadanie :) Przy okazji jesli chcesz, zeby ktos Ci napisal jakis program to polecam Pod koniec tego tygodnia bedzie nowy wyglad strony (ladniejszy) Zapraszam :)
Mozesz zuzyc jeden rejestr na przechowywanie 5 zmiennych bitowych. np r25. .DEF rBity=r25 .EQU bBit0=0 .EQU bBit1=1 itd. az do 7 No i teraz robisz sobie tak: sbr rBity,(1<<bBit0) ; ustawia bit 0 cbr rBity,(1<<bBit0) ;zeruje bit 0 sbr rBity,(1<<bBit0)|(1<... ; ustawianie wielu bitow na raz.....
Wogóle nie działa ten program trzeci wienc nieweim co to ma wspólnego z tym co jest napisane. Ostatni rozkaz byl blednie zapisany ma byc JR NZ,przesuniecie lub JP NZ,adres etykiety. Oczywiscie w wersji ze skokiem wzglednym kompilator musi wyliczyc wartosc przesuniecia jaka ma byc umieszczona w kodzie na podstawie podanej etykiety. L1 i L2 to liczby...
Jest wersja eval Ride dla 51' (bardzo przyzwoite srodowisko, do 2kB kodu, wiec styknie dla 2051) a caly kurs wlasnie dla tego kompilatora po polsku w EP archiwalnych. Moge znalezc w ktorych jesli chcesz (mam tylko wydruki skanow). Bf
No to po koleii: - w "czystym" AVRstudio można pisać tylko i wyłącznie w asemblerze; jest tam dołączony także kompilator asemblera i programator (programator nie obsługuje wynalazków jak ze strony www.lancos.com); - do programowania polecam zaopatrzyć się w jeden z bardzo wielu programatorów dostępnych na Allegro (najlepiej szeregowych), lub zrobienie...
Po pierwsze A jest rejestrem procesora o rozmiarze 8 bit. Błędnie interpretujesz zapis #high(xx) i #low(xx). to wyznacza wyłacznie starszy bajt i młodszy bajt STAŁEJ okreslonej w programie. dlatego gdy uzywasz "A" to masz błąd, bo nie jest to stała a identyfikator akumulatora, natomiast jezeli uzywasz napisu "B" to jest on (w wielu kompilatorach domyślnie)...
Powiem szczerze, że nie do końca rozumiem o czym mowa.... Jeśli ktoś ma juz gotowe (sprawdzone przez siebie) implementacje obsługi i2c, ADC, timerów, SPI i czego tam dusza zapragnie, to połączenie tego w gotowy program nie potrwa znowu tak długo, a pewność optymalizacji kodu jest dużo większa niż przy jakimkolwiek kompilatorze C/C++ etc. Podejrzewam,...
Pierwszy sposób działa, natomiast wstawienie drugiej linii do źródła skutkuje komunikatem: "undefined symbol : staz" Co jest źle? Zła jest idea, bo kompilator nie wie że lea bx, KOWALSKI mov al, Pracownik ptr [bx].staz
biorac pod uwage, ze czasem w assemblerze mozesz napisac x instrukcji, ktore realizuja dokladnie to samo co 3*x instrukcji, ktore wygenerowal kompilator, mozna raczej zalozyc, ze: a. bedzie to dzialalo niezdefiniowanie (ale jednak) szybciej b. bedzie zajmowalo mniej miejsca dla niektorych to wazne, bo sa perfekcjonistami 3: volatile unsigned int...
Tablica to nic innego jak ciągły obszar pamięci ;) Mozesz stworzyć tak: DB tablica 0,0,0,0,0,0 Jeśli masz te same wartości inicjacyjne lub wszystkie nieznane, to kompilatory pozwalają dawać dupy: ;) DB tablica 10 DUP(?) A odwołujesz się najczęściej poprzez pamięć: MOV SI,1 MOV BX,offset tablica MOV AL,[BX] INC BX MOV AH,[BX]...
Witam, Dopiero zaczynam zabawę z mikrokontrolerami, napisałem juz kilka softów. jednak w większości wyskakiwały błędy przy zapisie na kostkę. Błędy te wygladają tak: Napisze program, za pomoca kompilatora, tworze plik .hex, i następnie wrzucam na kostke za pomoca programatora z PE, jednak wyskakuje błąd np w 200B. wiec uruchamiam kaukulator, zamieniam...
Jeśli ręcznie rozmieszczasz zmienne w pamięci, to możesz tablice (mające do 256 bajtów) porozmieszczać tak, aby wszystkie komórki w jej obrębie mały górną część adresu taką samą, przez co w kodzie możesz pominąć dodawanie do ZH. Niestety jeśli zmienne rozmieszcza kompilator, który traktuje całą pamięć jako przestrzeń liniową i nie czyni żadnych dodatkowych...
asm do ARMow jest w sumie tez bardzo prosty [; a tabelki producentow komercyjnych kompilatorow to sam wiesz ile sa warte <: wiadomo ze gcc nie jest najlepszy, ale: 1. nie jest tez najgorszy 2. jest za darmo [; 4\/3!!
Spróbuj z innym rejestrem niż r25 - może występuje konflikt w użyciu rejestrów pomiędzy asmem i bascomem (nie znam kompilatora bascoma, więc tylko spekuluję). Inna możliwość, to odkładanie r25 na stos. Jeśli nadal nie będzie działać, to wrzuć skompilowany kod na deasembler i na forum, wtedy powinno się coś wyjaśnić (w kodzie wrzuć kilka nop'ów żeby...
To później:) chciałbym Asemblera sie nauczyć:) Większe korzyści przyniesie Ci C a jak sie wzrośnie "skill" to uzupełnisz wiedzę o Assembler gdy pare miesiecy wstecz podobnie jak dzisiaj kolega nathiel , pytalem sie na forum o asma to dzieki takim milym ludziom jak BugsBunny omal nie nauczylem sie pozal sie boze badziewiego pascala,zamiast asemblera...
Czy procedurę o etykiecie "timer0" masz daleko od początku programu? A może jej w ogóle nie masz? W zasadzie dla procesorów o tak dużym Flash'u powinno się używać rozkazu "jmp", a nie "rjmp" (dlateg adresy w tablicy przerwań są co 2 bajty), ale tak jak napisałeś może też być, pod warunkiem, że nie zostanie przekroczony zasięg rozkazu "rjmp". Wówczas...
Czasami rozkazy LPM,SPM dzialają z rejestrami ZL,ZH (R30,R31) ld r30,.... ld r31.......... LPM lub LPM r16,Z No właśnie u mnie "ZL" i "ZH" nie działają. Sam zauważyłem przeglądając inne strony ,że często zamiast nazwami rejestrów ludzie posługują się czymś takim. U mnie gdy próbuje czegoś takiego użyć zamiast nazw rejestrów kompilator wyrzuca błędy.
Sorry, że tak wprost ale zapytam - co tam? kto pyta nie błądzi? hmmm tak całkiem z pamięci piszesz ten program na zaliczenie ? .... przy okazji - sam nie możesz sprawdzić? choćby skompilować? ..... i zobaczyć ile błędziorów kompilator ci wywali? A wystarczyłoby po kolei czytać te błędy i po kolei je poprawiać - więc po co ktoś tu na forum ma to za ciebie...
hej dzieki wam bardzo za wszytskie wypowiedzi nie było mnie i dlatego dopiero teraz odpisuje zabieram sie do pracy. Mam pytanie jeszcze czy ten kompliator jest najlepszy do asmeblera?: kompilator asm51 MetaLinku.
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.