Szkoda mi trochę, że nie jesteś już elektronikiem tylko programistą :-) Sam już nieco napisałem włącznie z całym własnym crypto :-) Nie używam ichniego API :-) Tak jak nie używam crypto api z windy :-) A teraz właśnie się biorę za Xcode :-) Mac mini przyszedł i można zacząć :-) Nie zajmie to za wiele chyba :-)
Szkoda, że tego nie wystawiłeś za kasę w tamtych czasach :-) Tak sobie wspominam i podobne programy były za tysiące $. Ty byś zaoferował $100 za kopię i w końcu by ci ktoś zaoferował kilkadziesiąt tysięcy $ albo i więcej za prawa :-) Człowiek był głupi :-)
Z tego właśnie powodu trzeba komentowac kod po angielsku tak żebyś był gotowy sprzedać cały projek as is. Często tak bywa, że coś produkujesz i silniejsza wielka firma oderuje ci kasę za całość. Jak będziesz przeciągał to i tak cię wykończą swoimi produktami. jak masz propozycję od zachodniej konkurencji to ani myśleć tylko sprzedać :-)
Najfajniejsza dla chcącego uczyć się programowania jest prawda. Poważny człowiek szuka rzeczowych i kompetentnych porad. A Ty wypisujesz niefajne bzdury. Może to miał być żart?
Użytkownik "Remek" snipped-for-privacy@gmail.com napisał w wiadomości news:j55lt4$lis$ snipped-for-privacy@inews.gazeta.pl...
LOL, a nie słyszałeś o przechowywaniu często używanych zmiennych w rejestrze procesora? Nawet C to potrafi. Rejestr jest równie dobrym miejscem przechowywania zmiennych, jak pamięć RAM, czy nawet EEPROM. Wszystko zależy od tego, jak często się do zmiennych odwołujemy. Zmienna to jest bardzo abstrakcyjna rzecz i może być zrealizowana na sprzecie na wiele sposobów.
A tak BTW czym się różnią tak naprawdę rejestry procesora od pamięci RAM? Głównie czasem dostępu właśnie. W AVR np. rejestry się pokrywają z pamięcią RAM. Spróbuj sobie kiedyś zapisać coś do rejestru Rx i odczytać pamięć spod adresu $x, to się lekko zdziwisz.
samochodem sportowym tez mozna jezdzic jak stara baba i w sumie o niczym to nie swiadczy.
no to przywołam przykład podany wcześniej:
koszyk = jablko_1 + jablko_2
jest mniej czytelny niż?
add jablko_1,jablko_2 //w rejestrze xx mamy koszyk
teraz popatrz na realizacje pętli, instrukcji warunkowych.
Fakt, można wiele, ale w ogólności twórca tej teorii, pisze, mowiac oględnie bzdury.
Asembler ma jeszcze tą podstawową wadę, że oprogramowanie jest praktycznie nieprzenośne pomiędzy procesorami bez przepisania. Dobrze napisany kod w HL może być stosunkowo łatwo przenośny.
Nie wspominam tu już o różnicach w asemblerze poszczególnych rodzin procesorów. Pewnie, można się nauczyć ale gdzie Ci łatwiej będzie pisać, na czymś co dobrze znasz, czy na nowo poznanym?
Asembler ma pewne zalety i to w specyficznych sytuacjach, głównie tam gdzie chodzi o szybkość i to pod warunkiem, że koder jest biegły, jednak nie te, które strał się kolega powyżej udowodnić.
Użytkownik "Remek" snipped-for-privacy@gmail.com napisał w wiadomości news:j55ikr$bov$ snipped-for-privacy@inews.gazeta.pl...
Widzę głównie assembler i C, a ty się sieroto naucz czytać ze zrozumieniem, bo ci to średnio wychodzi. Co do drugiej części pytania tak widziałem, zamienia je wszystkie na rozkazy skoków warunkowych i bezwarunkowych. Natomiast assembler PECETA mnie nie interesuje bo jest tam wiele lepszych języków programowania, od C++ poczynając, ostatnio gdy miałem do czynienia z assemblerem peceta, to przypominało to architekturę
8-bitowego procesora i się zraziłem. Jak ktoś pisał kod pod MC68K, to się później do badziewiastego intela nie przekona. Czy tam nadal wykonanie jakichkolwiek obliczeń wymaga zapisania danych do akumulatora? Bo wiesz na MC68K powstałym w latach 70-tych to operacje arytmetyczne nawet na rejestrach adresowych można było wykonywać, a coś takiego jak akumulator zwyczajnie nie istniało, bo nie było takiej potrzeby.
ARM jest raczej porządną architekturą z niezłą wydajnością a ma jeden z bardziej upierdliwych assmeblerów z którymi miałem do czynienia (duża ilość flag w rozkazach).
Twoje opinie są typowe dla ludzi nie znających asma. Takie typowe ble, ble o nieprzenośności, nieczytelności itp. A co to ma do rzeczy? Asembler to dłuto rzeźbiarskie, a HL to taśma produkcyjna. I oba te zastosowania mają swoją specyfikę i przeznaczenie. A Twoja argumentacja mnie osłabia. Programista ma rozumieć jak działa procesor, a nie jak się dodaje jabłka do koszyka. A przenośność kodu to miraż. Nie ma przenośnego kodu wynikowego. W pewnym zakresie może być przenośny kod źródłowy, ale to musi umieć kompilator.
Sam jesteś LOL :) Zrozum o co pytałem. Chodzi o zmienną w ASEMBLERZE. Jasne? Zmienna jest deklarowana w żródle i jej wartość, oraz adres są w kodzie. Co nie przeszkadza, jeśli taka potrzeba załadować jej argument, czy adres do rejestru. Tylko to są dwie różne sprawy.
Jeśli masz na temat asm wiedzę z przed potopu, to postaraj się poduczyć, albo milcz i nie obrażaj innych. To, że się zraziłeś nie upoważnie Cię do nazywania mnie epitetami. Po prostu niewiele wiesz o asm.
Podpisuję się wszelakimi kończynami, na rozmowie kwalifikacyjnej jak babeczka spytała czy umiem obsługiwać oscyloskop to musiała słowo oscyloskop napisać na kartce bo nie mogłem zidentyfikować wymówionego przez nią słowa, po sprawdzeniu mnie przez technika robotę dostałem od ręki na naprawdę niezłych warunkach, i widzę masę polaków po studiach ze świetnym angielskim pracujących za najniższe stawki na najniższych stanowiskach przez agencje.
a Ty wiesz odnośnie czego odpowiadasz? przeczytaj to coś Ty tutaj narzeźbił
4 odpowiedzi wcześniej. To Ty głosisz bzdury, że asembler jest bardziej czytelny od HL i do tego się ustosunkowuje i chyba w tym kontekście ma to wiele do rzeczy co nie?
jeżeli coś ma być dłutem rzeźbiarskim to chyba maszynowy.
przecież nie ja wymyśliłem ten przykład kolego.
a kto wspominał o przenośności kodu wynikowego? :-) Ty chyba kod wynikowy utożsamiasz najwyraźniej z asemblerem. Tylko proszę teraz się nie czepiaj że formalnie to się nazywa język asemblera a asembler to program produkujący kod maszynowy... ok?
panie kolego, program napisany w np. C jest w kodzie źródłowym. Co musi umieć kompilator? Programista znając różnice pomiędzy uC musi wiedzieć jakich modyfikacji dokonać w programie przed przeniesieniem a nie kompilator.
Użytkownik "Remek" snipped-for-privacy@gmail.com napisał w wiadomości news:j563sb$o9o$ snipped-for-privacy@inews.gazeta.pl...
Nie, zmienna w assemblerze to jest przechowywana wartość - tyle i tylko tyle. W jaki sposób sobie jej przechowywanie rozwiążesz, to jest tylko twoja sprawa.
W assemblerze nie ma zmiennych w rozumieniu np. języka C, są tylko etykiety, bloki pamięci i wartości wpisane do pamięci. Jeśli sądzisz inaczej to powiedz mi w jaki sposób w assemblerze deklaruje się zmienną, zmienia jej wartość, czy też zmienia jej typ z poziomu kodu źródłowego. To wszystko o czym piszesz to są przechowywane wartości pod określonym adres pamięci, dla uproszczenia oznaczane etykietą, a nie określonym adresem. Nic nie stoi na przeszkodzie aby dla danego adresu pamięci nadać kilka etykiet, lub też nie nadawać ich wcale i odwoływać się bezpośrednio do komórki pamięci.
Assembler to język, który za pomocą skrótów literowych symbolizuje instrukcje kodu maszynowego procesora. Jeśli sprzęt nie obsługuje zmiennych (cokolwiek to jest) to i assembler tego nie robi.
Użytkownik "Remek" snipped-for-privacy@gmail.com napisał w wiadomości news:j563sb$o9o$ snipped-for-privacy@inews.gazeta.pl...
To pokaż mi w tym assemblerze np. pętlę for? Assembler to język symbolizujący mnemonikami instrukcje kodu maszynowego wykonywane bezpośrednio przez procesor. Podstawową cechą assemblera jest zasada, że 1 instrukcja assemblera = 1 kod maszynowy procesora. To, że gdzieś wprowadzono jakieś kombajny i uproszczenia, pozwalające się mniej napisać, to jeszcze nie znaczy, że to czysty assembler.
Raczej to ty niewiele wiesz, co to assembler, dorwałeś się do jakiegoś kombajna pod windows posiadającego tysiące udogodnień i wydaje Ci się, że to assembler. Czysty assembler to zasada:
1 instrukcja = 1 kod maszynowy procesora.
Jeśli jest inaczej, to to nie jest assembler, a coś pośredniego pomiędzy assemblerem a językami wyższego poziomu.
Definicje ciągów bajtów w różnych sekcjach i ewentualnie, zależnie od argumentów kompilacji symboli linkera (które nie są częścią assemblera).
Zmienna to twór logiczny - powiązanie kontekstu z wartością.
A widzisz różnicę pomiędzy assemblerem a makroassemblerem? Ztcw przyjmuje się, że assembler operuje na mnemonikach rozkazów procesora - coś więcej to już są makropolecenia.
Np wszystkie etykiety zostaną (zarówno danych jak i kodu) zostaną na etapie assemblacji (a najdalej linkowania) zamienione na adresy/offset zależnie od kontekstu - bo one tylko tym są, a etykieta jest dla ułatwienia życia programiście. Natomiast makra zostaną rozwinięte etap wcześniej - np invoke na odłożenie argumentów na stos+call, tak samo pętla - oidp (trochę już nie pisałem w MASM) możesz ten kod spokojnie obejrzeć.
Podobnie jak my nie poslugujemy sie na codzien innymi jezykami, tzn przepraszam, akurat my elektronicy-programisci sie poslugujemy :-)
No jak to jak - propaganda, powszechne kursy, nauka w szkole. Ale widac nie bylo naporu, to sie nie przyjal.
No nie wiem - lacina w calej europie. Oczywiscie wsrod nielicznych, wyksztalconych warstw. Francuski podobnie - to po prostu nie wypadalo nie mowic po francusku :-)
To sie nie bardzo zgodze, bo zanim internet trafil pod strzechy czy nawet na uczelnie, to juz trzeba bylo umiec poslugiwac sie dosem, turbo jezykiem itp.
Co prawda w drugim rzucie to mozesz miec racje - zwykly czlowiek juz chyba mial windowsa i programy po polsku, ale przyszedl internet.
ElectronDepot website is not affiliated with any of the manufacturers or service providers discussed here.
All logos and trade names are the property of their respective owners.