Jak wyślesz wartość al jako znak też dasz rade odczytać mając tablice kodów ascii, ale najprościej stworzyć napis 'xx',13,10,$ i pod dwa pierwsze znaki wstawić przekodowaną wartość al na liczbe szesnastkową w kodzie ascii.
Dzień dobry. Załóżmy, że mam rejestr EDX z taką wartością 0025069C. Debugger podpowiada, że jest to ASCII "A123..." (w miejscu kropek jakieś krzaczki). Jak samodzielnie przekształcić wartość 0025069C na owe 7 znaków ASCII ? Wartości w kodzie ASCII są tutaj: http://www.asciitable.com/ Trzeba tylko sprawdzić jaki kod ASCII kod kryje się pod wartościami:...
W asemblerze używanie etykiet jest nieuniknione, jak sobie wyobrażasz np. pętle albo skoki warunkowe (odpowiednik if w C)
Tak na marginesie kiedyś był taki standard od 14-31 na polskie znaki co powoduje ze mamy tylko 7 bitów na załą tablicę ASCII
Okey, tak zrobię. A swoją drogą Debbuger mówi mi, że gdzieś w moim programie występuje dzielenie przez zero, ale nie jestem w stanie określić kiedy to może się dziać. Byłbyś w stanie pomóc z tym?
Tu http://www.elektroda.pl/rtvforum/topic17... wczoraj byl bardzo pokrewny temat walkowany. Jak sobie juz liczbe rozbijesz na czynniki ( w przykladzie jest podstawa 10, ale moze byc dowolna ) to dodaj do kazdego czynnika 0x30, i masz ASCII.
znaki ascii sa poukladane alfabetycznie zatem nalezy posortowac odpowiednnio bajty zaleznie od wartosci a to juz problem nie jest. moze jakies prosty algorytm babelkowy ?? Dodano po 1 ;przeslanie nazwiska do data mov dptr,#nazwisko mov r0,#37 transfer: mov a,(at)dptr mov (at)r0,a inc dptr dec r0 cjne r0,#29,transfer nazwisko: db 'kowalski'
Tak na pierwszy rzut oka to mi się wydaje że adres zawiera wartość w kodzie ASCII a nie wartość cyfry, czyli jeśli wpisałeś w parametrze 3 to on tam wstawia 51 (albo coś koło tego). Spróbuj najpierw odjąć 48 od tej wartości.
(at)oscil1 (at)excray Sądzicie że podpowiedzi mu coś pomogą ? Zerknijcie w historię (jak ja teraz). To kolega od zamiany Bascoma na ASCII
Najprościej będzie Ci to wyswietlać w postaci szesnastkowej. 1. Masz wartość w edx, 2. pobierasz ostatnie 4 bity (przesuwając je jednocześnie do początku), 3. konwertujesz tak otrzymaną liczbę na ASCII (0...15 -> '0'...'F'), 4 . wyswietlasz, 5. przesuwasz edx o 4 bity w lewo, 6 jesli nie zostały przesuniete wszystkie bity (8 obiegów pętli) to skocz...
Trzeba odjąć od kodu ASCII znaku wartość 030H, to co zostanie to jest wartość cyfry.
Przestaw operandy.
assembler nie jest specyficznym rodzajem kompilatora To jest bardzo historyczne spojrzenie na asembler - kiedy to był on tylko tłumaczem zbioru nazw instrukcji, liczb i etykiet (nie wiem czy kolega żył w czasach kiedy asemblery generowały na końcu pliku obiektowego tak zwaną erratę). Współczesny asembler jest złożonym językiem programowania dalece...
Przerwanie oparlem o wywolania DOS-owe XOR_BX,BX -> zerowanie BX XOR_CL,CL -> zerowanie CL POCZATEK: MOV_AH,08H -> ustawia ze odczyt klawiatury INT_21H -> wywolanie przerwania odczyty klawiatury MOV_CH,AL -> do CH znak ASCII klawisza nacisnietego CMP_AL,13 ->sprawdzenie czy ENTER JNE_DALEJ ->jak nie ENTER to skacz dalej CMP_CL,1...
To asembler 51" W załaczniku program do odbioru sygnałów z kalwiatury IBM na wyjscu mamy bufor ze znakami ASCII
Sposób który pierwszy narzuca się aby liczbę przedstawić w postaci tekstu to znaleźć ilość jednostek, dziesiątek, setek, tysięcy, itd... w danej liczbie (dzieląc przez 1000,100,10). Następnie te znaki pozostaje już tylko "przesunąć" do znaków ASCII, a wiec dodać 0x30. Dla przykładu mamy liczbę 123, liczba setek: 1, liczba dziesiątek 2, liczba jednostek...
Witam, napisz w czym to ma być Asembler, bascom, C ? Wtedy może będe mógł pomóc a jak nie ja to ktoś inny. Pozdrawiam
To nie jest cały kod i trudno powiedzieć co jest w ACC po zakończeniu procedury "INACCRS". Poza tym piszesz, że pobierasz 2 znaki ASCII i co dalej z nimi robisz (jak konwertujesz do jednego bajtu) - bo raczej tu masz problem.
Witam!!! Częśc programu która cie interesuje to: TEMPLOOP: MOV ADCMODE, #12H ; INITIATE A SINGLE AUX CONV JNB RDY1,$ ; Wait for conversion results ; conversion result ready ; a value of 80h in AD1H=0degC MOV A, ADC1H ; 80h=0, FFh=+127, 00h=-128 CLR C SUBB A, #80H ; convert to 2's comp ; FFh=-1, 80h=-128, 00h=0, 7Fh=+127 W akumulatorze pozostaje temperatura...
A jak mogę wyświetlić zawartość rejestru w konsoli, żeby nie wyświetlały się krzaki? Musisz zrobić konwersję znaków z rejestru na ASCII. Do znaków 0-9 dodajesz '0' (30h), a do znaków A-F dodajesz '7' (37h).
Witam Mam ogromna prośbę. Potrzebuje przeanalizować 2 programy które niestety nie działają poprawnie. Programy pisałem sam lecz niestety sa w nich pewne błędy które niestety nie mogę znaleźć. Po asemblacji działają jednak w programie symulacyjnym nie wyświetlają tego co powinny, wiec s to programy bardziej wychodzące z tego co ma robi dany program niż...
Witam Zamieszczam program który może pomóc. Jest on napisany w programie Keil mVision. ;---------------------------------------... ; Definicje: ; LCD_D Port D do komunikacji z LCD ; LCD_RSLinia R/~S do podłączenia LCD ; LCD_ENLinia ENABLE do podłączenia LCD ; Linia R/~W wyświetlacza LCD powinna być na stałe w stanie niskim....
Ależ sumuje dobrze, tylko żeby wyświetlić, musisz dokonać odpowiednich konwersji. Pamietaj, że wyswietlasz tylko znak o wskazanym kodzie ASCII. Dodawanie i odejmowanie od tego kodu 30h powoduje "konwersję" cyfry na kod ASCII tejże cyfry lub odwrotnie. Zatem wyswietlanie wyników >= 10 wymusza potrzebę wyświetlenia dwóch znaków: 1. O wartości ASCII (wynik...
Witam;) Jeśli chodzi o nadawanie kodu cyfr klawiaturki zestawu to pisałem jakiś czas temu taki program w ramach zaliczenia tegoż przedmiotu. Podejrzewam jednak, że chodzi o wykorzystanie np. HyperTerminal'a i podawanie znaku z klawiatury komputera. Oto program który wówczas napisałem: st7/ TITLE"starter.asm" MOTOROLA #INCLUDE "st72334.inc"...
Witam, Przyjaciele moi programiści. Przeczytałem pól książki związanej z asemblerem i oto co stworzyłem. Program oczywiście działa, dziękuje wam wszystkim za pomoc i oczywiście dobre rady. Temat uznaje za zakończony. ;Aplikacja tworzy plik \dane.txt i zapisuje do niego 100 pseudolosowych liczb .586P .MODEL flat, STDCALL ;--- stale z pliku .\include\windows.inc...
jest tam przeliczenie QW na system dziesiętny i konwersja na ASCII
Cze ! Musisz wysyłać do LCDka znaki w kodzie ASCII. np 52 to będą dwa znaki o kodach ASCII 53 i 50 (dziesiętnie).
Szkoda, że nikt (ze studentów) nie wpadł na to, że wystarczy jedna funkcja, by przedstawić wczytaną wartość w dowolnym systemie pozycyjnym. Chodziło tu o uzmysłowienie sobie ("odkrycie"), że wartość liczby nie jest trwale związana z jej reprezentacją i nie ma znaczenia to, jak liczba jest fizycznie reprezentowana w pamięci komputera. Dlatego było tak...
1. Czy cyfry mają być wprowadzane z klawiatury? 2. Jeżeli operujemy na 2 cyfrach (0-9), to czy wynik też ma być cyfrą? Np.: 9+5=14, czyli cyfrą nie jest. Zakładam architekturę 0x86. Jeżeli chodzi o wczytanie cyfry z klawiatury, można to zrobić na kilka sposobów, np.: xor ah,ah int 16h daje nam kod ASCII wciśniętego klawisza w al.
Przepraszam zapomnialem napisac chodzi o AVR asembler. Czy ktos moglby udostepnic plik ascii.def - szukam i nie moge znalezc?
Witam, Strasznie skomplikowałeś ten układ... Wystarczyło dać rejestr np. 74164 i 4 tranzystory. Nasuwa się pytanie w jakim formacie dostajesz dane (w kodach ASCII?) i co ma się wyświetlać na tej matrycy ?
aby zdefiniować w assemblerze IAR ciąg znaków: ORG 0x.... //miejsce w pamięci tekst: DB 'jakis tekst',0 teraz odwołujesz się do tego tak mov #tekst,R14 petla1: mov.b (at)R14+,R15 jnz petla1 do R15 będą wprowadzane kolejne kody ascii znaków w stringu
Jak kolega napisał musisz zamienić liczbę na odpowiednie znaki ASCII i wydrukować te znaki. Możesz napisać uniwersalną procedurę zamiany, działającą na zasadzie: dzielenie i resztą z dzielenia indeksowanie tablicy cyfr szesnastkowych (dla 10 i 2 wykorzysta mniej cyfr). Możesz też napisać oddzielne procedury i wykorzystać fakt, że na 2 i 16 konwertuje...
a czym go skompilowac ? Kompilatorem - jak się łatwo domyślić. Wejdź na stronę producenta i ściągnij sobie i czy to napeno jest asembler ? No, wiesz, jasnowidzem to ja nie jestem. Podejrzyj plik w dowolnym edytorze ASCII (jak masz Total Commander to wciśnij na nim F3) i zobacz co się pokaże na ekranie. Jeśli zobaczysz linijki zaczynające się od mnemoników...
Nie wiem czy dobrze zrozumiałem? Ale po przerwaniu 16h mogłoby być: 1 jz powrót_do_pętli_przed_przerwaniem_16h 2 cmp al,(kod_klawisza_0) 3 jb powrót_do_pętli_przed_przerwaniem_16h 4 cmp al,(kod_klawisza_9) 5 ja powrót_do_pętli_przed_przerwaniem_16h 6. dalszy kod W skórcie to tak, tylko trzeba pamiętać o opróżnieniu bufora przed odczytem...
Tematy ćwiczeń z przykłady zadań (szczegółową treść zadań określa prowadzący zajęcia) (Cwiczenia wykonywane na zestawie dydaktycznym ZD 537,) Temat 1 — MIKROKONTROLER 8051 - struktura, pamięci, proramowanie Cel — pomanie podstaw owych modułów mikrokomputera i jego struktury rejestrowej, poznanie struktury programu asemblerowego, umiejętność...
Fajny projekt, podoba się :) Miał bym prośbę, mógłbyś opublikować kod programu, albo choć procedury obsługi wyświetlacza? Jeśli to tajemnica, to trudno, szanuje takie zdanie. Osobiście też bawię się asemblerem 51 i ciekawią mnie rożne programy w celach edukacyjnych. Jeśli nie opublikujesz kodu, to odpowiedz mi na pytania. Czy komunikujesz się z wyświetlaczem...
w notatniku tylko działa ale żeby w winhexie zrobić Nie rozumie chcesz przerabiać pliki *.*.ASI , a nie potrafisz wykorzystać potencjału programu WINHEX, znajdź w sieci Dodatek do Asemblera Kod ASCII i problem rozwiązany. Na poniżej zamieszczonym obrazku zobacz jak łatwo można wpisywać z klawiatury odpowiednie znaki bez użycia klawisza ALT. http://obrazki.elektroda.pl/7322109700_1...
Widzę że ciekawa dyskusja się wywiązała, włącznie z raportami:) Generalnie racje ma i dondu i asembler. Artykuł jak najbardziej dobry, jednak wnioski wyciągasz złe. Nie w każdej sytuacji zmniejszenie zegara zmniejszy pobór mocy. Już tłumaczę o co chodzi. Atmel tutaj daje konkretny przykład i w tym jest wysłanie znaków ASCII po uarcie. Tutaj jest haczyk,...
Witaj. Podłączenie zostało wcześniej opisane a resztę to trzeba sobie napisać programowo. Musisz zdekodować adres kolumny i wiersza, później przypisać jakieś liczby i wtedy masz możliwość kombinacji. Taki nr klawisza to już jako znak ASCII na LCD wstawiasz. Jak nie wiesz jeszcze czegoś to pisz. Pozdrawiam.
Gdybys uzyl funkcji printf (jakikolwiek kompilator C) to po prostu musialbyc napisac: printf("07911356131313F311000B9... i to wyslac na telefon (pomijam to, ze wczesniej nalezy wykonac komende AT, np "AT+CMGS=140" a dlugasny PDU w printfie zakonczyc <Ctrl-Z> czyli decymalnie 26 (a nie jak mogloby...
:arrow: Elektryk masz rację ,można też pisać jak programiści ( Alt+ kod ASCII).Tak czy owak przyznasz ,że z tego nie korzystasz . A jeszcze się ździwisz kiedyś miałem potrzebe wstawienia kilku pustych znaków (0x00) w celu wyrównania pliku. Nie wiem jaki edytor ma taką funkcje. Ja dla mnie do grzebania w plikach wykonywalnych to najlepszy jest HIEW,...
Witajcie Mam nastepujacy problem, otorz mam do napisania program w asemblerze na DSM 8051 (`51-ki). Program ma wygladac nastepujaco: Wproweadzam sobie literki swojego imienia zgodnie ze znakami ASCII ,wrzucic je do pamieci DATA (30h) i posortowac rosnaco i zapoisac je do pamieci IDATA (90h). Myslalem o sortowaniu babelkowym lecz nigdzie niemoge znalesc...
Witam, potrzebuje pomocy albo rad ,cokolwiek. mam do wykonania projekt który ma polegać na nadawaniu kodu morsa za pomocą przełącznika i ten ma zamieniać znaki kodu morsa na znaki ASCII i mają one być wyświetlane na ekranie komputera . do tego wykorzystam mikroprocesor msp430 eZ430 - F2013 i będę programować chyba w asemblerze. zatem proszę o jakieś...
Witam No wiec tak, zrobilem gre w Asemblerze, taka ze sie porusza strzalkami po labiryncie, i chcialbym jeszcze dorobic licznik kroków (czy tam ruchow) ale mam z tym problem gdyz zamiast wypisywac mi liczbe kroków to wypisuje mi znak ktorego kodem ascii jest ta liczba , czyli np: jezeli jest krok 97 to wypisuje mi znak "a" zamiast tej liczby zrobione...
Bez users_db,panel_u ciezko bedzie mi znaleść błąd. Moze istnieje w tych bibliotekach? Pierwsze slysze zeby takie dziwne rzeczy dzialy sie z TP7 :/ Nie wiem co moze byc tego przyczyna. Kozystalem z niego na 486 pod win95 i 98 oraz na nowszych z winXP. Nie bylo problemow. Trzeba tylko skonfigurowac kompilator jak ktos chce uzywac asemblera i skokow.
Ale przecież Tiny15 posiada 32 rejestry a CodeVision wyraźnie wypisuje gdzie umieścił jaką zmienną: wysw -> r4 dig0 -> r5 dig1 -> r6 dig2 -> r7 dig3 -> r8 Nie rozumiem tego. Jak wrócę to spróbuje porównać asmy w obu wariantach programu. ---------- Dobra, nie znam sie na asemblerze dla AVRów, tym bardziej tym generowanym przez jakiś kompilator C. Może...
program w ibasic professional instr(x, y) szuka stringu Y w stringu X i zwraca jego index lub zero chr$(x) zmienia liczbę X na znak ascii (string) liczba: string z liczbą do konwersji; tylko cyfry i wielkie litery podstawa: 1-36 print ToDec("157", 8) print ToDec("FFFF", 16) getch() sub ToDec(liczba:STRING,...
Zakładam że dana jest wartość 8 bit a należy przekształcić ją do wydruku w kodzie ASCI HEX 1) starsze 4 bity przesuwasz w prawo x 4 czyli ( /16) 2) dodajesz kod ASCII "0" czyli 0x30 3) sprawdzasz czy wynik przekroczył kod ASCII "9" jeśli tak dodajesz 0x07 4) w wyniku uzyskujesz starszy znak wartości HEX 5) uzyskujesz 4 młodsze bity np funkcją AND 6)...
Mam do napisania program w asamblerze do 8051 oto on: Do pamięci DATA od adresu 30h zapisać kody ASCII swojego nazwiska, następnie posortować je malejąco oraz zapisać w pamięci IDATA od adresu 90h. Prosze o pomoc lub jakies wskazówki od czego zacząc i jak to wykonac. Zmieniłem temat postu!
dzieki za ZIP-a i RAR-a znowu troche wiadomosci sie zdobyło.zastanawiam sie nad sposobem H-DOC-a.ciekawy sposób- daje w końcu dla powiedzmy 1023bitów liczbe 1500 (bład o 1 ale to sie da poprawić)zapisana binarnie, czyli 101 1101 1100 (5 13 i 12)tylko jak to przetworzyć na BCD, bawiłem sie z binarnych na decymalne i hex-y oraz odwrotnie a o BCD znam...
powinno byc: ldi ZH,high(2*napis) ldi ZL,low(2*napis) - jezeli 'napis' jest w pamieci programu (napis - adres poczatku bloku z kodami ASCII) Nastepnie robisz: lpm adiw ZL,1 W tym momencie masz pierwszy kod ASCII w rejestrze r0, a wskaznik adresu (ZH,ZL) ustawiony na nastepny kod. Musisz wiec teraz przeslac r0 do LCD i wykonac nastepna petle lpm adiw...
Post Konwersja liczb większych niż dword porusza ten sam temat. Napisałem tam konwerter string -> BCD -> Hex dla liczb całkowitych 64 bitowych w asemblerze. Może będzie pomocny, wprawdzie procedury wykonują operację na rejestrach ale jest to przykład książkowy. Pozdrawiam.
Witam. Niedawno zacząłem swoją przygodę z asemblerem i po przebrnięciu przez podstawy postanowiłem się zabrać za nieco ambitniejsze rzeczy. Starałem się napisać program realizujący test Millera Rabina, ale utknąłem i za cholerę nie wiem co mi w nim nie działa, próbowałem szukać błędu przez dobrych kilka godzin, ale niestety nie podołałem i postanowiłem...
Bez asemblera 59 - 64 cykli, łańcuch może mieć wartość od "000" do "255": [syntax=basic4gl]$sim $regfile = "m8def.dat" $crystal = 16000000 $hwstack = 64 $swstack = 64 $framesize = 64 Dim Liczba_str As String * 3 Dim Liczba_array(3) As Byte At Liczba_str Overlay Dim Wynik As Byte , Temp_b As Byte '---------------------------------------...
• XOR AX, AX zerowanie rejestru AX(dla takich samych wartosci wynikiem xora jest 0) • MOV AL, '6' wpisujesz do AL wartosc kodu ASCII jaka ma 6 czyli 0x36 • ADD AL, '7' dodajesz 0x37(wartosc 7) do AL • AAA ; AX:=0103H nie mam pojecia ;) ale znalazlem cos takiego Instrukcja AAA rozdziela liczbę dwójkową w AX nie większą niż 18...
Na pewno, to to jest jakiś program ;)) Z tego co widzę, to usiłuje on wczytać dwie liczby w zakresie 0-65535 i ... nic więcej :))) Żadnego 372 tu nie ma, a za to jest martwa pętla :)) model tiny .stack 2H .data napis1 db 'Pokaz','$' napis2 db 10,13,'Podaj pierwsza liczbe: ','$' napis3 db 10,13,'Podaj druga liczbe: ','$' napis4 db 10,13,'koniec','$'...
Najprościej jest tak: do zawartości rejestru w momencie wyświetlania dodać "poprawkę" ASCII - czyli trzeba zajrzeć do tablicy ASCII i tam 0 odpowiada chyba 30hex - czyli do zawartości rejestru dodać trzeba 30hex czy coś takiego, dokładnie nie pamiętam. Ale to załatwia tylko jedną tetradę, żeby mieć liczbę np. dwu cyfrową chyba najłatwiej jest liczyć...
Nie rozpowszechniam w żadnej formie (no prawie żadnej :D) źródeł moich programów na µC na praktycznie całościowe projekty. Co do obsługi LCD'ka, to jest ona bardzo prosta i jeżeli znasz jakikolwiek język programowania, poradzisz sobie bez trudu. Zresztą biblioteki obsługi LCD'ka w C można znaleźć w necie łącznie z bibliotekami znaków ASCII. Na...
Witam Potrzebuję pomocy z programowania w asemblerze. Mam do zrobienia takie dwa programiki i nie wiem jak się za nie zabrać. 1,program: Sortowanie rosnąco. Do pamięci DATA od adresu 30h zapisać kody ASCII swojego nazwiska, następnie posortować je rosnąco oraz zapisać w pamięci IDATA od adresu 90h 2.Program: Elektroniczny termometr. Oczytać wartość...
Cze ! Opisowo wygląda to następująco: - w pętli, której warunkiem działania jest liczba16bit>0 przeprowadzasz dzielenie 16-to bitowe (mam taką procedurę) liczby16bit przez 10 - do reszty z dzielenia dodajesz 48 i masz kod ASCII cyfry (od końca) - pętla zakończy działanie gdy liczba16bit będzie równa 0 przykład: 65535/10=6553 (reszta=5) -> 5 6553/10=655...
Zadanie bardzo podobne do tego poniżej, z tym, że bez mnożenia i koniecznością zapisu kolejnych n komórek (brak trzeciego rejestru indeksowego – ix i iy są już wykorzystane – trzeba wymyślić sposób adresowania trzeciego wektora innym rejestrem np. hl) .z80 bdosequ5 aseg start:org100H ; iloczyn skalarny wektorow ; struktura wektory:...
Witam, mam w pełni działający program wyświetlający aktualną datę i czas w konsoli jednak potrzebuję przerobić go w taki sposób, aby zawierał on dwa podprogramy (jeden o daty, drugi od godziny) wywoływane z programu głównego i nie wiem jak się za to zabrać gdyż z asemblerem mam niewiele do czynienia. Proszę o pomoc. Pozdrawiam.[syntax=asm][/syntax]...
(at)ElektrodaBot Jak konwertować kod 64-bit na 32-bit? /** (at)file Copyright (c) 2025, Gelip Copyright (c) 2024, Andri Kurniawan Copyright (c) 2020, Seungjoo Kim Copyright (c) 2016, Dawid... Bezpośrednia odpowiedź „Konwersja” istniejącego binarnego modułu UEFI X64 na IA32 nie jest możliwa - trzeba ponownie skompilować kod źródłowy z ustawieniem architektury...
Szperałem forum, ale niestety nie znalazłem odpowiedzi na nurtujące mnie pytanie, O ile w necie można znaleźć gotowe rozwiązanie to ja bym chciał bardziej zrozumieć jak to działa bez tłumaczenia tego sobie z kodu na ludzki. Sprawa dotyczy 8051 i kodu w asemblerze. Potrzebuje wiedzieć jak przekonwertować 16 bitową liczbę na ciąg znaków ASCII. Chodzi...
Programowania orientowanego obiektowo - podobno - bardzo ciężko jest się nauczyć samemu. Wszyscy guru zalecają przede wszystkim znalezienie sobie mentora - kogoś, kto łagodnie wprowadzi w świat tego programowania. Z mojego doświadczenia wynika ponadto, że osobom, które programowały już proceduralnie, jest jeszcze ciężej. Bardzo ciężko jest wykorzenić...
No... jak to jak? Uruchamiasz jak każdy plik typu EXE i czytasz komunikaty na ekranie. Uruchomiony ASM51 zapyta Cię grzecznie o nazwę Twojego pliku do skompilowania i będzie czekał na wstukanie tej nazwy z klawiatury. Nazwę podajesz bez rozszerzenia .asm i wciskasz enter. Kompilator napisze na ekranie kilka linijek komunikatów i jeśli wszystko pójdzie...
Witam! Walczę z tym i za nic nie mogę tego przeskoczyć. Piszę program, który przez rs232 (9600bps) otrzymywał będzie znaki ASCII (sporą ilość nawet do 200) jego zadaniem będzie łączenie znaków w pary i przetwarzanie ich. W zasadzie algorytm jest łatwy, ale niestety mikro się nie wyrabia mimo ze wlutowałem rezonator 10 MHz. Ja napisałem to tak: Do B...
W asemblerze wstawiasz : etykieta: .db "Jakis napis",0x0a,0x0d,13,12,0 .db "dalsza czesc tego samego napisu" itd. a wyciagasz z flasha: ldi zh,HIGH(etykieta<<1) ldi zl,LOW(etykieta<<1) lpm acc,z (lub z+) Ten napis w "" zostanie przekonwertowany na znaki ASCII. Jesli kody twoich liter nie sa...
Nie rozumiem hardcorów, co nie używają możliwości asemblera od Atmela w pełni, pisze się praktycznie jak w C, też można rejestry „wołać” po ludzku i znaki pisać tekstem bez zerkania do tabeli ASCII.[syntax=asm]#define DataAcc r16 [...] cpi DataAcc, 's'[/syntax]
dzieki za rady i programiki.a ja chyba znalazłem bład w układzie. gdzieś się doszukałem na elektrodzie podobnego problemu i okazało się, że była ustawiona zła prędkość-był właczony wewnetrzny oscylator 1MHz a nie zewnetrzny a u mnie jest to samo (teraz w końcu wiem czemu PWM miał tylko 970Hz a nie 10,8kHz). ale pojawił sie problem-jak uruchomić ten...
Dzień dobry Pozwoliłem sobie porównać przekład asemblerowy dwóch funkcji wykonujacych konwersję liczby binarnej czterobitowej na odpowiadającą jej cyfrę hex. Pierwsza to wersja zaproponowana przez BlueDraco : [syntax=c] uint8_t FourBitsToHex( uint8_t bajt ) { return "0123456789ABCDEF"[bajt & 0xF]; } [/syntax] i druga moja : [syntax=c] uint8_t FourBitsToHex(...
Witam Mój problem polega na tym ,że muszę połączyć dwa programy w języku ASEMBLER. Niestety z programowania jestem słaby, a z języka niskiego poziomu to już w ogóle jest masakra. Ogólnie mam za zadanie zrobić mały projekt, który polega na tym ,że trzeba zaprogramować układ ADuC842 tak ,aby wyświetlił on na wyświetlaczu wpisany tekst z klawiatury (podłączonej...
MIKROKOMPUTER COBRA 1 Za namową kolegów Marek2006 i Coberr postanowiłem również zaprezentować swój projekt - mikrokomputer Cobra 1. Inną wersję komputera Cobra 1 zbudowaną od podstaw przez kolegę Coberr można podziwiać w wątku: http://www.elektroda.pl/rtvforum/topic25... Na wstępie chciałbym jednak podziękować wyżej wymienionym osobom, bez których...
Czy próbowałeś zbliżyć się do maksymalnej możliwej szybkości komunikacji z wyświetlaczem OLED, czyli 400 kHz? Nie, ponieważ moje procedury działają tylko na 100 kHz. Żeby zmienić ich częstotliwość działania, trzeba by je napisać od nowa z uwzględnieniem krótszych opóźnień. Wtedy na pewno nie zadziałają przy niższych częstotliwościach pracy mikrokontrolera...
Z małego Atmelka się ładnie steruje wyświetlaczem w Oplu w wersji segmentowej. Ale w asemblerze bo bascom wymięka. Gorzej jest z punktowymi ale też do zrobienia. Nawet sobie rozpisałem co poszczególne bity zapalają (jakie flagi), napisy lecą w ASCII ale tylko cyfry i duże litery oraz trochę znaków tylu - *. Fajniej jest w punktowych ale tam trzeba się...
witam troche odswierzasz temat, niestety nic nie działa :P trzeba wstawić wstawke asemblerową i recznie wpisać do rejestru Uarta. Bo niestety bascom wysyla znaki za pomocą ascii i dodaje troche od siebie jeszcze i to neizadziała, dodaj wstawke(jedna linijka) i bedzie działać
Uzylem porownania np A= 65 if($t1[64]<91) skocz do compare1 $t1+ 32, znalazlem mnostwo programow ale asemblera dosowskiego jesli chodzi o porownywanie zamienianie wielkosci :\ wklejam to co zdzialalem niestety nadal nie zamienia mi tych wielkosci, przejrzalem wszystkie rozkazy inaczej nie potrafie. [syntax=asm] .data msg1: .asciiz "\nWpisz tekst...
Chodzi o to, że standardoiwy print wysyłał liczbę jako ciąg kodów ASCII. Kumpel się nad tym sporo namęczył. Ale generalnie, jeśli deklarujesz $crystal jako 8 MHz to powinno działać. A tak kombinuj jak to deklarować, żeby było dobrze :/ A przecież BASCOM jest taki intuicyjny :P Wiem, że fabrycznie ATmega ma swoj wewn. oscylator. Jak dla mnie, BASCOM...
Witam. Jeżeli wiesz na jaki to jest pisane procesor, a napewno wiesz skoro go masz;) to użyj DIASEMBLERA tego procesora, zobaczysz cały kod asemblerowy, mozesz zmieniac i kompilowac na nowo. Edytować BINa możesz w dowolnym Programatorze który wyswietla kody ASCII i ma mozliwość ich edycji, dlatego tekst mozna bez problemu zmienić ale byłoby dobrze żeby...
Z jakiego zakresu masz tam liczby? Ja też pisze w asemblerze i jak mam wyświetlać liczby to jeśli mam np. zakres 0-999 to dzielę sobie tą liczbę najpierw przez 100 i mam liczbę setek. Resztę z tego dzielenia dzielę przez 10 i mam dziesiątki a reszta z tego dzielenia to jedności. Z tego co pamiętam to trzeba do tego wyniku dodać 48 i wysłać na wyświetlacz....
Problem w tym że nieprawidłowo sterujesz portem , uart jest urządzeniem peryferyjnym i print coś tam sprowadza sie do wysłania do właściwego rejestru wartości kodu ASCII przestawiając port na odbiór wyłaczysz nadajnik zanim skończy gadać ... tak samo trzeba odpowiednio sterować nadajnikiem od strony komputera . Przerobiłem to zagadnienie w bascomie...
jeżeli ma być jedna osoba, to wystarczy transformata Fouriera, potem normalizacja, tak, aby np. średnia wartość próbek (po transformacie) wynosiła 0.5, albo maksymalna 1, nie wiem co będzie lepsze. i potem policzyć korelację ze wzorcami sporządzonymi w ten sam sposób, ale powtórzonych 3 razy i uśrednionych. Po próbkowaniu, a przed transformatą warto...
Dlatego pytałem jak bez systemu operacyjnego mając czysty dysk, wykonać np funkcję: int a,b,dodaj; cout << "Podaj liczby"; cin >> a; cin >> b; dodaj = a+b; cout >> dodaj; i ją zrealizować wpisując bezpośrednio z klawiatury polecenia biosu lub procesora Z klawiatury niczego nie wywołasz, bo nie ma programu który by to zinterpretował...
Dotyczy budowy wyświetlacza LED dwukolorowego, problem z wyborem CPU.?? Widzę, że jesteś programistą samoukiem, bo nie potrafisz optymalizować kodu programu. W bascom da się zrobić wydajny kod, bez asemblera, ale wymaga to już sporej wiedzy i umiejętności, lecz przyznaję że np. C jest tutaj trochę lepszy. Do budowy wyświetlacza 8*80 nie trzeba szybkiego...
:arrow: danlancher Przeczytaj sobie [url=http://www.edw.com.pl/ea/asm_avr.ht... asemblera AVR a wiele rzeczy stanie się dla Ciebie bardziej zrozumiałe. Jeśli jesteś kumaty w angielskim lub niemieckim to polecam świetny kurs assemblera AVR na stronie http://www.avr-asm-tutorial.net/. Najlepiej ściągnąć całość w PDF-ie i wydrukować. Lepszego nie widziałem....
http://obrazki.elektroda.pl/5937161900_1... Chciałbym zaprezentować prosty licznik Geigera, jaki ostatnio wykonałem. Urządzenie oparte jest o powszechnie znaną radziecką tubę STS-5. Lampa ta jest ciekawa, ponieważ jest stosunkowo czuła. Jako element sterujący zastosowałem mój ulubiony mikrokontroler rodziny 8051 typu AT89C2051 z typowym...
Na początek spróbuj uruchomić odczyt temperatury na liczbach 8 bitowych (jeden bajt) - będzie łatwiej ogarnąć w asemblerze. Wynik odebrany w 12 bitach przesuwasz w prawo 4 razy i zostaje 8 bitów. clr c ; Zamien 12 bitow na 8 mov a, temp+1 rrc a mov temp+1, a mov a, temp rrc a mov temp, a clr c mov a, temp+1 rrc a mov temp+1, a mov a, temp rrc a mov...
Witam. Otóż, mam do zrealizowania projekt zaliczajacy laboratoria na uczelni (forma odrobienia nieobecnosci). Z racji zakończenia zajęć dydaktycznych, cały projekt mam zrobić w Ride7. Pewien pomysł mam, jednak nie wiem jak poradzić sobię z pierwszą częśćią zadania. Oto treść projektu, a pod nim to co do tej pory przyszło mi do głowy. "Program ma pobierac...
Witam. Najpierw drobne uściślenie. Napisał Kolega, że ma zamienić 3 cyfrową liczbę BCD na jeden „bit binarny” – pewnie chodziło o jeden bajt danych. Proponuję zacząć rozwiązywanie zadania od lektury objaśniającej, co to jest kod BCD oraz jak operować tak zapisanymi danymi na 8051 przy użyciu asemblera, konwertować na HEX itp. Odpowiedni...
domelfm, chyba walczysz z kilkoma sprawami naraz, tak się nie da. 1) listing assemblera po skompilowaniu przez gcc jest zapisywany w katalogu obj pod nazwą main.lst , o ile Twój główny program w 'C' miał nazwę main.c . W przeciwnym wypadku zamień sobie na nazwę Twojego projektu. Czytanie asemblera ma sens jeśli chcesz zobaczyć jak gcc zoptymalizował...
Odswiezam temat, bo problem sie powtórzyl, ale w nieco innym wydaniu: Dzisiaj rano nagrałem projekt w UML na inżynierię oprogramowania oraz kompilator asemblera 8051 i przykładowe pliki asemblera 8051 na podstawy techniki mikroprocesorowej. Po nagraniu plików, bezpośrednio z pendrive odpaliłem kompilator (jest to jeden plik EXE obsługiwany z linii poleceń,...
Użycie DMA ma sens jeśli robsz w miarę proste przesłanie z punktu A do punktu B, najlepiej jeśli ta operacja może odbywać się asynchronicznie w stosunku do reszty kodu i jeśli przesyłana ilość danych jest duża lub przesłąnie zależy od jakiegoś czynnika, np. pojawienia się danych na USART, SPI, czy innym wolnym ukł. peryferyjnym. W twoim przypadku DMA...
http://obrazki.elektroda.pl/4164965000_1... Witam. Od dłuższego czasu interesuję się technologią RFID i dziś chciałem zaprezentować rozwinięcie mojej dawnej konstrukcji mianowicie czytnik kart RFID ze zintegrowaną anteną na płytce PCB. Ze względu na skomplikowaną konstrukcję anteny (niewielkie odległości między ścieżkami) płytka została...
Super obudowa :D Zrobiłem krótką animację pokazującą w jaki sposób przenoszone są programy z pamięci ROM do pamięci RAM z wykorzystaniem przełącznika banków pamięci. Wobec tego jak umieścić w ROM np. taki kod. ; Program deasemblera Z80 ; Dane interpretowane przez program deasemblera PFTAB DEFB E0,0A,0E,0F,96,AF,B4,B9,BE,BD,C5,09,4C,C...
Zatem należałoby kolegów nieco uświadomić: - CLS TEXT | GRAPH jest dla wyświetlaczy graficznych posiadających wbudowany generator znaków i tym samym posiadający dwie strony pamięci: jedna na grafikę, drugą na tekst. - CLS jako, że jest komendą niezależną przywraca status sterownika tak, że korzysta on później z pamięci DATA RAM i wszystko co jest później...
:arrow: markosik20 to co przedstawiłeś, to jest algorytm, a nie protokół Stosowane protokoły w transmisji szeregowej to np.: XON-XOFF Sygnały XON i XOFF umożliwiają sterowanie zapełnieniem bufora nadawczego/odbiorczego. Transmisja przebiega w pełnym trybie dupleksowym, oprócz linii sygnałowych RxD, TxD wykorzystywana jest linia DTR. ETX-ACK Nadajnik...
http://obrazki.elektroda.pl/6130528400_1... http://obrazki.elektroda.pl/2906458300_1... Witam wszystkich. Chciałbym przedstawić na łamach forum mój projekt, który powstaje już od około pół roku. Tematem projektu jest komputer 8-bitowy oparty o procesor Z80. Założeniem jest, aby zbudować funkcjonalny komputer 8-bitowy...
#define TxtEnd 0x80 oznacza koniec textu.. jeśli da się kilka linijek po koleji to program musi mieć możliwość rozpoznać gdzie jest koniec aktualnej linijkii... częściej stosowane jest 0x00 gdyż pozwala na wykrycie zera za pomocą instrukcjii Tst oraz Cpi (0x80 można wykryć tylko przez Cpi) Z tymi stringami, jeżeli wszystkie mają stałą długość, to takie...
http://obrazki.elektroda.pl/9418966600_1... Witam wszystkich na forum. Jest to moje pierwsze publikowane DIY. Słowo wstępu… Projekt powstał z jednego, bardzo ważnego powodu: bo bardzo chciałem coś takiego mieć! Jest to układ odczytujący kod karty poprzez interface EM4095 z anteną, dekoduje, sprawdza i wysyła poprzez port szeregowy....
filtr ascii rs232 ascii tablica ascii
whirlpool kontrolka zbiornik wyrównawczy ciśnieniowy silnik rozdrabniacza
Naprawa zwarcia światła w domku holenderskim Wskaźnik paliwa rośnie po wyłączeniu zapłonu - przyczyny