Witam. Napisałem kalkulator. Kalkulator działa sprawnie. Problem polega na tym, że powinien wczytać z pliku działanie, np 3 + 5 a w wyjściowym pliku dać wynik. W tym wypadku 8 lub też 3 + 5 = 8. Oto kod programu, który napisałem: start: PutStr pytanie1 GetCh [znak] nwln cmp byte [znak],'+' je dodaj cmp byte [znak],'-' je...
1. Zapisuj kod w znacznikach MOV AL,BX[SI] CMP AL,BX[DI] JG etykieta
w takim razie chociaz moze mi powiecie jak w 51 zrobic porownanie R1 z 20 i skok do funkcji bo cmp R1,20 je etykieta nie dziala u mnie z góry dzięki
to fajnie:D a wiec naciśniecie klawisza "prawo" w akumulatorze 0B w "lewo" 0A w "dół" 0D w "górę" 0C. Teraz kombinuje żeby w rejestrach np R5 zapisać 0B w R6 0A itp a później chciałbym to porównać do akumulatora i jeśli by było równe to wykonało by dane działanie a jeśli nie to przeskoczyło by do następnego działa i by sprawdzało znów co jest w akumulatorze...
Poprawione: asm { //push ebp //Mov ebp,esp //Add esp, -0x10 Mov eax, lewy Add eax, prawy Sar eax, 1 //Jnc pierwszy //Adc eax, 0x00 Mov edx, tablica Mov ecx, [edx+eax*4] Mov v, ecx Mov eax, lewy Mov i, eax Mov edx, prawy Mov j, edx //Jmp pierwszy pierwszy: Mov ecx, tablica Mov eax, i Mov edx, [ecx+eax*4] Cmp edx, v Jge drugi...
no to spox, następny przykład (nasm) dla liczb dziesiętnych 32bit %include "asm.mac" global StrToInt SUB StrToInt, lpString mov esi,lpString xor ecx,ecx mov ebx,10 ; podstawa dziesiętna cld .next: sub eax,eax lodsb ; al=[esi] esi++ sub al,'0' jc .quit ; znak mniejszy od '0' : koniec cmp al,9 ja .quit ; znak większy od '9' :...
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...
;sampel dla 10 s mov eax,10 call Delay_seconds extrn Seconds_today:proc Delay_seconds proc pusha mov ecx,eax call Seconds_today mov ebx,eax DLY1: call Seconds_today sub eax,ebx cmp eax,ecx jb DLY1 popa ret Delay_seconds endp uffff :idea: sampel z ksiazki Asembler dla procesorow intel
hey mam w napisany program w Keilu językiem C wsadzić fragment w asemblerze i pojawi sie tu kilka problemów spowodowanych sam nie wiem czym. 1.jeśli napisze powiedzmy tak: __asm { MOV R1,R3 } to mam errora #549: variable "R3" is used before its value is set 2.jeśli jest to pomiędzy innymi instrukcjami np. tak: __asm { loop:...
Dobra, to powinno Ci trochę rozjaśnić: .model tiny .code org 256 start:mov ah,00h ;wlaczenie trybu graficznego mov al,13h int 10h kuku:MOV AX,0A000H MOV ES,AX mov DI, 99*320 + 79 MOV AL, 9 mov cx, 15 rep stosb mov ax, 01h ;wlaczenie kursora int 33h sprawdz: mov ah, 1 int 16h ; czy naciśnięto klawisz na klawiaturze? jnz koniec mov ax, 03h...
Czy ktoś obeznany w temacie mógłby mi pomóc z pewnym problemem: dość długo szukam kodu instrukcji warunkowej w pic16f628(a). Mianowicie chodzi mi o coś typu: w C++ int x; cin>>x; if(x==1) to coś tam; if(x>=1) to coś tam; else coś itp.... I tutaj moje pytanie jak coś podobnego mogło by wyglądać w asemblerze na pic16f628(a) lub podobnym. Znalazłem kod...
Witam Program, który piszę ma działać w następujący sposób: podając w linii poleceń parametry np. nazwa_pliku.txt 3 ma pobrać te parametry do zmiennych otworzyć podany plik i wyświetlić na ekranie (w zależności od podanego parametru) co któryś znak. Aktualnie zrobiłem prawie wszystko parametry pobrane z linii wiersza poleceń: mov si, 80h xor bx, bx...
Witam. Już pisałem na tym forum w tej sprawie i program z Waszą pomocą udało się zrobić teraz rozumiem jak on działa ale mam inny problem. W programie deklaruje poza asemblerem 4 zmienne które potem używam, lecz ich nie powinno być... Jak można je zmienić. Zmienne: i, j, x, v Zmieniam je następująco (przypisująch ich do rejestrów których w programie...
Witam, Mam do napisania program obliczający miejsca zerowe funkcji liniowej. Nie rozumiem tego fragmentu kodu cmp word ptr ds:[inta],0h jne jestm0 cmp word ptr ds:[inta+2h],0h je koniec W pierwszej linijce porównuję ze zmienna inta jesli jest różna od zera to jest miejsce zerowe. Dlaczego w trzeciej linijce jest przesunięcie o 2 i porównanie? Nie rozumiem...
Ja mam taki pomysł : title str.asm ;(at)(at)(at)(at)(at)(at)(at)(at)(at)(at... Makro EndProcess MACRO ExitCode mov ah, 4ch mov al, byte ptr ExitCode int 21h ENDM InitRegs MACRO mov ax, dane mov es, ax mov ds, ax mov ax,_stack mov ss, ax ENDM ;(at)(at)(at)(at)(at)(at)(at)(at)(at)(at...
nie tego się spodziewalem:) wiec moze wkleje swoje dzieło któe nie dokonca chce dzialac. pare rzeczy skleiłem z innych programów, wiec moze ktos przynajmniej pomoze opisac mi działanie niektorych komend jmp start number db 7 dup 0; n1 dw 0; n2 dw 0; n3 dw 0; res dw 0; cr dw 13,10,"$"; start mov dx,offset numer mov bx,dx; mov b[bx],5;...
wynik wypisac w postaci tablicy. do 2 ja myślałem nad takim rozwiązaniem: MOV AX, [tab+SI] CMP SI, 24 JL mnoz mnoz: MUL [tab+SI+1] ale wynik jest błędny... ale kolejnych liczb 1-13 juz pierwsza liczba po wykonaniu tego kodu jest 512, następna 1536
Witam. Napisałem sortowanie bąbelkowe pod Asemblera, lecz coś w ogóle nie sortuje mógłby ktoś z Was spojrzeć na Niego. Oto jego kod. Tablica - to moja tablica elementów do sortowania n - ilość elementów asm { //------------ edi=i, esi=j // i=0; mov edi, 0h pierwsza: //j=i; mov esi, edi; druga: //if(tablica A to jego wygląd w C++ (przerobiony aby było...
.386 .model flat, stdcall option casemap: none include \masm32\include\windows.inc include \masm32\include\kernel32.inc includelib \masm32\lib\kernel32.lib include \masm32\include\user32.inc includelib \masm32\lib\user32.lib .data tytul db ' Asembler' , 0 dane db '987654321', 0 min db '?',0 /[b]Dlaczego w apostrofach jest '0'[/b]...
Mój problem polega na tym, że na studiach wymyślili nam programowanie w asemblerze jako tak na prawdę zapchajdziurę i teraz przyszedł czas kiedy trzeba zdać przedmiot aby pójść dalej... problem tkwi w tym, że nie mam zupełnie pojęcia na temat tego języka programowania. Naszukałam się już trochę w internecie i na moje pytania właściwie nie ma za wiele...
Witam, wiem jak narysować np. prostokąt ale nie mam pomysłu jak wprawić go w ruch, kombinuje w ten sposób ze po pierwszym narysowaniu narysowałbym go ponownie ale w kolorze tła tak żeby stal się niewidoczny no i następnie znowu w kolorze np białym ale juz przesunięty o jeden piksel, myślę też o tym że fajnie by było aby figura odbijała się od krawędzi...
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...
Poprosił bym w miarę możliwości o pomoc w napisaniu kodu. Moim zadaniem jest napisanie kodu w asemblerze odpowiadającego poniższemu fragmentowi kodu w C. for(i=0; i<10; i++){ a[i]=i; } do tej pory napisałem: [syntax=asm] mov cx, 0;i=0 _for: ;poczatek petli cmp cx, 10;porownanie cx do 10 jae _end_for;goto->_end_for gdy 'i' bedzie wieksze rowne...
Witam! Jestem początkujący w asemblerze, a chcę wykonać program (właściwie 2) obciążający najnowsze procesory intela przez co najmniej kilkanaście sekund. Nie ma znaczenia co dokładnie robi ten program - ja probuję mnożenia w pętlach (w drugim programie dzielenia - chodzi o jednakową ilość cykli maszynowych tych działań). Nie mogę sobie jednak poradzić...
Prosze o sprawdzenie programu 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','$' .code start: mov ax,(at)data mov ds,ax lea ax,napis1 mov dx,ax mov ah,09h int 21h mov ah,08h int 21h mov ax,(at)data mov ds,ax lea ax,napis2 mov dx,ax mov...
Krytyka jest najlepszą formą zmuszenia do myślenia. Rzeczywiście niektóre błędy są tak proste że aż wstyd. Ogólnie w pętli głównej program ma sprawdzać ilość impulsów i wyjście komparatora informując mnie o tym diodami. Wejścia INT0 oraz INT1 będą wywoływać procedury dopiero po spełnieniu dwóch warunków z pętli głównej. Dokładność liczenia impulsów...
Mam taki problem. Chce sterować silnikiem krokowym przez klawiaturę. Zrobiłem to na Shiftach: p1: mov ah,02h int 16h and al,00001111b;caps lock, num lock... nie mają znaczenia cmp al,1 je w_prawo cmp al,2 je w_lewo jmp p1 w_lewo: ... jmp p1 w_prawo: ... jmp p1 Chce to samo zrobić na strzałkach, jednak dusząc strzałke sygnał z klawiatury jest "powtarzany"...
witam. otoz mam taki problem. zmagam sie z takim programem: mnozenie 2 liczb binarnych 16-bitowych (bez uzycia MUL i IMUL).po wykonaniu program ma wypisac na ekranie wynik w postaci dziesietnej. musze wykorzystac rejestry 32 bitowe i tablice. oto kod ktory juz mam ale stanalem w martwym punkcie: dane SEGMENT napis db 'Prosze podac liczbe 1 i nacisnac...
Dzień dobry, To mój pierwszy post tutaj, więc jeśli pomyliłem działy lub coś wykonałem niepoprawnie to proszę od razu mnie poinformować - usunę lub przeniosę swój temat. Tak czy inaczej... Asemblerem zajmuję się od niedawna i właśnie próbuję napisać program, który będzie pobierał liczbę dodatnią z klawiatury, zapisywał ją do zmiennej, a następnie dodawał...
Czy kompilator źle policzył, a może ja ? Jest też trzecia opcja - tak ma być i to działa dobrze. Naprawdę - nie podążaj drogą sugerowania, że jest błąd w kompilatorze... Wziąłem pierwszy lepszy program i również mogę zaprezentować tego typu rozbieżności. Program działa prawidłowo. Obstawiam, że w pierwszym przypadku PC nie jest podzielne przez 4, a...
Witam, mam mały problem z następującym programem. Muszę wyszukać maksymalną wartość w tablicy. Program działa w DOSBox'ie, ale muszę robić coś źle bo nic nie wyświetla (jest jakiś krzak). Jestem totalnym początkującym jeżeli chodzi o asemblera :(. Poniżej zamieszczam napisany kod przeze mnie: dane SEGMENT ;segment danych tekst_1 db ": To jest...
Witam, dostałem do napisania program w asemblerze, dla procesora 8086. Program ma być napisany w środowisku dosboxa. Cel programu to wyświetlanie wszystkich podłączonych do komputera urządzeń do których można się dostać za pomocą przerwania 11h. Opis tego przerwania jest taki: "Konfiguracja systemu, rodzaj przerwania P. wywołanie podprogramu badania...
Witam, dopiero zaczynam przygodę z asemblerem i mam pewien problem z instrukcją skoku warunkowego. Chciałbym aby po naciśnięciu klawisza 1 program przeskoczył do etykiety oraz wypisał mi odpowiedni napis ale coś nie idzie. Oto kawałek kodu: MojStos SEGMENT STACK DB 64 DUP ('Stos!!!') MojStos ENDS MojeDane SEGMENT Napis DB "Fajny ten asembler...
input_a: xor ah,ah int 16h cmp al,48 ; '0' jb input_a cmp al,57 ; '9' ja input_a mov bl,al input_b: xor ah,ah int 16h cmp al,48 ; '0' jb input_b cmp al,57 ; '9' ja input_b mov cl,al input_op: xor ah,ah int 16h cmp al,43 ; '+' je op_add cmp al,45 ; '-' je op_sub jmp input_op op_add: add bl,cl cmp bl,9 ja op_error jmp op_ok op_sub:...
Dzień dobry. Mam taki problem - otóż napisałem program w asemberze, który wypisuje imię i nazwisko, liczy powtórzenia danego znaku pojawiającego się w całym monitorze CGA oraz tenże znak zaznacza poprzez zmianę koloru jego i koloru tła. Oto kod: [syntax=asm] .MODELsmall .STACK100h .DATA imie db 'Imie nazwisko' .CODE movax,(at)data movds,ax mov ax,0b800h...
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...
Wyodrębniłem ten fragment programu do oddzielnego pliku i teraz już jestem pewny, że problemem chyba są źle stworzone tablice deskryptorów. [syntax=asm] [bits 16] [org 0x100] push cs pop ds cli ;wlaczenie A20 in al, 0x92 test al, 2 jnz after_1 after_2: or al, 2 and al, 0xFE out 0x92, al after_1: ;ponowne sprawdzenie otwarcia A20 in al,0x92 test al,2...
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...
Witam wszystkich ktorzy to czytaja, Mam problem Ucze sie programowania mikrokontrolera Hitachi H8/3048F na bazie ktorego jest zbudowany model regulatora predkosci PI ale przejdzmy do meritum:) Program jest prawie zakonczony jednakze musze zaimplementowac w nim calkowanie wartosci wychodzacej z regulatora P. Ponizej kawalek reprezentujacy regulacje P....
Witam, Musze napisać program, który będzie pobierał od użytkownika liczbę sekund po ktorych monitor przejdzie w stan uśpienia, następnie po nacisnięciu dowolnego klawisza powróci do normalnej pracy. Program, który udało mi sie napisać na chwile obecna wygląda tak: .model small .data t1 db 'Kiedy ekran ma sie wygasic? :$' .code mov ax,(at)data mov...
Po zmianie radio buttona wywołujesz SetDlgItemText i od tej pory nie wiesz co system zrobi..... 1. cmp Len, 1 2.jae wychodzimy 3. invoke GetDlgItem, hWnd, 1060 4. invoke SendMessage, eax, BM_GETCHECK, 0, 0 5. .if eax==BST_CHECKED 6. invoke SetDlgItemText, hWnd, EDIT1_ID, addr Bufor1 7. invoke SetDlgItemText, hWnd, EDIT2_ID, addr Bufor2 8. inc Len 9....
tak jak poprzednio: liczba to pointer do stringu który chcesz zmienić na int %include "asm.mac" global ToDec SUB ToDec, liczba, podstawa %define wynik ebx mov edi,dekoder mov esi,liczba xor wynik,wynik or ecx,-1 .go xor eax,eax lodsb call instr, edi, eax and al,al jz .quit dec eax push eax mov eax,wynik mul dword podstawa pop ebx add eax,ebx...
Piszę algorytm szybkiego sortowania w asemblerze a dokładniej jest to dll w asmie w projekcie z pisanym w c++ i mam pewnien problem - algortym źle sortuje dane. Oto mój algorytm w asmie: QuickSort PROC tablica:dword, ilosc:sdword start: push EAX push EBX push ECX push EDX push ESI push EDI push EBP push ESP mov EAX, 0 push EAX; lewy na stos...
Dwa, ok, można odczytując rejestr rozszerzyć go do 32-bitów, a co jeśli dane są już w rejestrze? Trzeba wykonać dodatkową instrukcję, bo MUL działa tylko na typie 32-bitowym. Poza tym te zagadnienia mnie miernie interesują, bo używam C, a do asemblera zaglądam rzadko, jako że nie jestem paranoikiem i nie doszukuję się błędów w kompilatorze. Prawdę...
Nie bardzo działam biegle w asmeblerze a muszę zmienić tylko kawałek (te dwie funkcje) kodu na 64-bit czy może ktoś mi pomóc ? function StrLPos(const Str1, Str2: PChar; Len1, Len2: integer): PChar; assembler; register; // EAX = Str1, EDX = Str2, ECX = Len1, {$ASMMODE intel} asm PUSH EDI PUSH ESI PUSH EBX OR EAX,EAX JE (at)(at)2...
Witam was wszystkich moi drodzy koledzy z forum elektroda. Obecnie w dniu dzisiejszym mam do napisania program w ASEMBLERZE. Zalozenia odnosnie programu to: W projekcie należy opracować w języku asemblera procesorów Intel aplikację konsolową (tryb 32-bitowy). Aplikacja musi implementować zadany algorytm sortowania lub wyszukiwania danych w tablicy lub...
C# jest językiem obiektowym i pojęcie funkcji w nim właściwie nie występuje. Wszystko opiera się o obiekty, nie da się wywołać żadnej funkcji/metody bez powiązania z klasą. Jeśli Ci to nie odpowiada, tzn, że wybrałeś zły język :) Jeśli chodzi o obiekty statyczne i wywołania z nich metod tak, jak podałeś, to szybkość nie ma żadnego znaczenia. Oczywiście...
w programie kompilowanym w ARm mam dwie takie funkcje zywcem przepisane z netu. Asembler ciagle się czepia do tych zapisów dając komunikat: uart.c:491: error: expected '=', ',', ';', 'asm' or '__attribute__' before 'disIrq' uart.c:515: error: expected ')' before 'restoreValue' make /cygdrive/f/temp/ccHA1aZM.s: Assembler messages: /cygdrive/f/temp/ccHA1aZM.s:744:...
Jak uruchomić STM32 z FLASH by działał później w pamięci RAM. Dedykowane dla Keil: - plik startup_stm32f10x_xx.s Ułatwię niektórym czasu i szukania w necie rozwiązań flashowania z poziomu własnego bootloadera pamięci programu. Ja przyznam szczerze nie znalazłem żadnego opisu w necie, wobec czego napisałem własne rozwiązanie. Jako że asembler ARMów to...
Spojrzał by ktoś fachowym okiem? Program ma porozumiewać się po one wire z ds18b20 mierzyć temp i gdy temp mniejsza od 40stopni to włączać grzałkę, gdy większa wyłączać ją. Chodzi mi o sprawę samego kodu. Jeszcze raz wielkie dzięki za poświęcony czas. [syntax=asm];***************************... ;* This stationery...
Stąd pytanie czy ktoś z was pisze całe programy w asm czy tylko wstawki asm w C ? Ja pisze prawie całe programy w asemblerze. Prawie całe ponieważ inicjacje mam w C ze względu na IDE w jakim pracuje - LCPXpresso. Funkcja main natomiast jest już w całości napisana w asemblerze. Pisze głównie dla układów z rdzeniem Cortex-M0 (LPC111x) ponieważ ten rdzeń...
Napisz program w asemblerze procesora Intel 8080. Zwróć uwagę, że wyraźnie chodzi mi o Intel 8080, nie zaś o zgodny z nim Z80. Należy zatem wykorzystać mnemoniki 8080. Zadanie polega na przygotowaniu programu, który znajdzie wartość maksymalną w komórkach pamięci z zakresu 0xC4A0 do 0xC4FF. Wartość maksymalna ma być zapisana pod adresem 0xC500. Oczywiście,...
Witam! Przygotowując się do wrześniowej poprawki architektury komputerów natknąłem się na następujące zadanie: Funkcja biblioteczna języka C o podanym prototypie char *strstr( const char *string, const char *strCharSet ); zwraca wskaźnik określajacy miejsce pierwszego wystąpienia ciągu znaków strCharSet w łańcuchu znaków string. Napisać podprogram w...
Możliwe że napisałeś program optymalnie i kompilator nie miał już co optymalizować :) . Przy -O3 sprawa jest prosta, wszystko co się dało masz inline , kod musi być większy. U mnie taki kod na przykład (używam SPL i nie za bardzo znam asembler) z LTO i z -Os wszystko jest inline a bez LTO i z -Os każda funkcja jest wywoływana. Na asemblerze za bardzo...
Jeśli zachodzi potrzeba takiej optymalizacji to chyba czas najwyższy zmienić procesor na lepszy :-) Nie ma znaczenia jaki procesor, na każdy chciałbym tą funkcję zoptymalizować bo chodzi o czas odpowiedzi, im mniejszy tym lepszy. Wydaje mi się, że wpadasz w płapkę permanentnej optymalizacji. Gdyby tak było to męczyłbym Was assemblerem. Sam wiesz dobrze,...
(at)ElektrodaBot Czy std::swap można użyć dla typów atomowych w C++23? Jeżeli nie, to zaproponuj inną metodę. Bezpośrednia odpowiedź Nie – w C++23 `std::swap` nie jest zdefiniowany dla `std::atomic<T>`. Powód: `std::atomic<T>` nie jest ani kopiowalny, ani przenoszalny, a standardowa implementacja `std::swap` wymaga co najmniej przenoszenia....
Cześć, od niedawna przesiadłem się na programowanie mikrokontrolerów ARM z AVR i natrafiłem na dziwne zachowanie mikrokontrolera, którego nie potrafię sobie wytłumaczyć. Korzystam ze środowiska CrossWorks for ARM oraz biblioteki standardowej (niestety - zanim się zorientowałem ilość pracy, którą musiałbym włożyć w napisanie kodu od nowa znacznie przekroczyłaby...
Wektory ? Zachodzą jakieś wyjątki ? Cyklicznie co około sekundę jest wywoływane przerwanie od timera które wysyła dwa bajty danych i mruga diodą. Oto kod tego: Poprawiłem dobór języka w tagu syntax. Proszę na przyszłość używać tagu ] do wklejania kodu w asemblerze... /syntax] . LordBlick
Glownie chodzi mi teraz o objasnienie w jezyku polskim, czym poszczegolne polecenie sie zajmuje, a o to one : Wiesz... Bez choćby elementarnej znajomości angielskiego będzie Ci trudno. Nie znam żadnego tłumaczenia opisu poleceń języka IL na polski. 1) EQU deklaracja symbolu, <nazwa> EQU <wartość> oznacza że w programie zamiast <nazwa>...
Przechodzę podobne boje z wyświetlaczem HY35A na SSD1693. U mnie nie działa procedura odczytu danych z wyświetlacza. Objaw jest taki, że procedura odczytu dany zwraca mi wartości jakie były ostatnio wpisywane (jakby pamiętała ostatni stan?). Dziwna sprawa jest taka, że na początku miałem błąd w ustawieniach GPIO i w ogóle nie aktywowałem CS wyświetlacza...
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 Napisałem program w asemblerze obliczający bubble sort. Wiem że jest tego pełno w internecie dlatego siedziałem nad nim tydzień i próbowałem naprawić sam. Problemy: 1. W Start: po "mov ds,ax" w Turbo Debugger widok segmentu danych(DS) zmienia się na segment dodatkowy(ES) 2. Nie jestem pewien ale drugi jest związany chyba z 1. a dokładnie (tak...
Witajcie, napisałem procedurki kopiujące zawartość pamięci Flash do Ram. Otóż jest problem bo procedurki pod adresem 0x20001FF8 odkładają tylko wartość 16bitów reszta pozostaje niezmieniona. czyli jeżeli wcześniej mieliśmy wartość 0xaaaaaaaa to po odłożeniu wartości 0x55555555 dostajemy zawartość komórki 0x20001FF8 równą 0xaaaa5555 Konkretnie rozkaz...
Witam Dopiero zaczynam przygodę z ARMami i mam następujący problem. Kupiłem zestaw uruchomieniowy mini2440 i dostałem do niego plik startowy napisany w asemblerze ADS. Ja używam Eclipse ponieważ jest to darmowe środowisko. Problem polega na tym że eclipse nie rozumiem asemblerowych komend z ADS'a. Chciałbym prosić kogoś kompetentnego o pomoc w przetłumaczeniu...
Cześć, dziękuję wszystkim za odpowiedzi. Generalnie problem rozwiązany, aczkolwiek muszę jeszcze zobaczyć do kodu asemblera bo wydaje mi się, że poprzedni kompilator coś nachrzanił i dlatego był taki cyrk, a w sumie ciekawy jestem. Korzystałem wcześniej z kompilatora dołączonego do CodeBlocks, jednak po tym co działo się w opisywanym wątku zmieniłem...
Kod jest w asemblerze procesora msp430 Texsas Instruments Bardzo dużo działa mi na tym procesorze i nawet dużo poleceń do flasha działa. Tutaj jest fragment który nie działa wpisuje do bufora 1 liczby 1-255, nastepnie bufor przepisuje do flasha i czytam dane z flasha otrzymuje na wyjściu liczby FFh [syntax=asm];===========================...
Problem narodził się przy czytaniu dokumentacji do wyświetlacza LCD HD44780 http://obrazki.elektroda.pl/4814900100_1... Przy inicjalizacji wyświetlacza trzeba czekać określony czas. Mogę robić pętle for która będzie wykonywana jakiś czas NOP - nic nie rób wykonuje się 1 cykl zegarowy. Jeżeli założę że LPC1343 taktowany jest 12 MHz, bo...
Witam, Na zajęciach z Architektury komputerów spłodziłem z pomocą wykładowcy program wyświetlający tekst na wyświetlaczu LCD. Teraz chciałbym napisać program wyświetlający teksty i liczniki. Napisałem w C algorytm na jakim chcę się oprzeć: Dodano po 31 Z tego co wiem powinno być: Dodano po 55 Ogólnie nie wiem jak zamodelować te dwie pętle w ASM: Dodano...
Dzięki za startupik jest fajnie opisany i napewno sie przyda z tym, że nie rozwiązuje on jeszcze mojego problemu. Chodzi o to, że w keilu funkcje przerwań wywolywane są poprostu poprzez określenie typu: np.: void podpr_obsl_przerw (void)__irq irq jest tu chyba jako makro asemblerowe tylko skąd to nie bardzo wiem pewnie ktoś mnie oświeci :D a teraz jak...
(at)Freddie no fakt, trzeba by często w to trafiać. Sprawdzę to jeszcze u siebie jak wrócę z roboty, teraz nie mam STMa pod ręką. A mimo wszystko nalegam, aby Autor pokazał kod asemblerowy programu. Dodano po 2 Data race o którym piszesz faktycznie tam jest - wczytałem się wreszcie porządnie if((zapalona) && (TIM9->CNT > 5000) ) pomaga...
Spójrz jeszcze ile z powyższych kodów zostało wygenerowane instrukcji asemblera dla wersji bez SPL'a [syntax=asm] LPC_PINCON->PINSEL0 |= (1<<4);// alternatywna 2 funkcja pinu P0.2 - TXD0 238:4a26 ldrr2, [pc, #152]; (2d4 <main+0x100>) 23a:6813 ldrr3, [r2, #0] 23c:f043 0310 orr.wr3, r3, #16 240:6013 strr3, [r2, #0] LPC_PINCON->PINSEL0...
Przeczytałem dokładnie to co napisaliście i nadal nie uzyskałem odpowiedzi. Piszecie bardzo ogólnie i krążycie wokół tematu. Może to wam ułatwi na odpowiedzenie na moje pytanie. Posiadam cartridge'a Super Game Pack III. Jest w nim EPROM 64 KB (512Kb). Dorobiłem sobie przełącznik do dumpowania cartridg'y i w ten sposób skopiowałem pierwsze 8 KB na IEC-ATA....
Witam, Moje pierwsze starcie z asemblerem na ARM i przerwaniami ... Mam taki kawałek kodu tmr0_irq stmdb r13!, {r0-r4, r12, r14} ldr r0, =TMR0_BASE ldr r1, =TMR0_RST str r1, [r0, #TMR0_TCR_OFS] ; Reset timer0. ldr r0, =FIO_BASE ldr r1, [r0, #FIO2SET_OFS] ; Read content of set register. ldr r2, =LED mov r3, #&1000000 cmp r1,...
Hej. Mam problem z zadaniem o następującej treści : http://img207.imageshack.us/img207/365/b... Muszę przedstawić owe zadanie w c++ i asemblerze. Mój kod w c++ wygląda tak : [syntax=cpp] int main() { double a,n, wynik; cout << "Podaj a" << endl; cin >> a; cout << "Podaj n" << endl; cin >> n; int f1; wynik...
Witam, zaczynam pisać w asemblerze i dostałem następujące zadanie: przy wykorzystaniu funkcji systemowych sysread i syswrite zaimplementować konwersję max 8-cyfrowego łańcucha znakowego, który miałby reprezentować liczę całkowiŧą w systemie szesnastkowym, na wartość całkowitą w rejestrze EAX. Piszę w składni AT&T. Mam problem, ponieważ próboje...
Moze ktoś mi napisać program podobny do tego model tiny .stack 2H .data napis1 db 'program sumujacy dwie liczby /nacisnij dowolny klawisz/',10,13,'$' napis2 db 'Podaj pierwsza liczbe: ','$' napis3 db 13,10,'Podaj druga liczbe: ','$' napis4 db 13,10,'wynik: ','$' .code start: mov ax,(at)data mov ds,ax lea ax,napis1 mov dx,ax mov ah,09h int 21h mov ah,08h...
asembler sortowanie diody asembler asembler kwadrat
zablokowane kapilary elektroda ferroli flybox orange
akumulatory zasadowe philips lx3700
Dwa routery w jednym pomieszczeniu: konfiguracja i porady Zębatka do pilarki Metabo KGS 255 - Wybór i wymiana