#assembler najlepsze najnowsze

placebo_ 2025-09-30 20:55:50 +1
W tym memie mnie jedno zastanawia zawsze jak go widzę; czy programy napisane w asemblerze nie są przypadkiem niezdatne do uruchomienia na innych architekturach wbrew temu co sugeruje mem? #gry #assembler
Polinik 2025-09-30 21:01:47 +0
niezdatne do uruchomienia na innych architekturach wbrew temu co sugeruje mem?

@placebo_: mem nic takiego nie sugeruje. Mem mówi o takim zoptymalizowaniu, żeby chodziło na słabszych podzespołach - wolniejszym procki, karcie graficznej czy mniejszej ilości ramu.
r.....a 2024-12-30 13:04:27 +0
Poza samą znajomością języka, jaką wiedze trzeba posiadać, żeby se tworzyć jakieś proste biblioteki do c++ w #assembler ?
#programista15k
walokid 2024-12-30 13:39:04 +1
@recesja: żadną szczególną. zależy co to biblioteka ma robić. Pyzatym to masochizm, i jest nieefektywne. Lepiej napisać libe do cpp w cpp. Kompilator to na 99% lepiej zoptymalizuje niż ty
klamkaodokna 2024-02-13 04:06:01 +0
w x32dbg probuje ustawic conditional breakpoint gdy ST(5) == 0. niestety zarowno przy wpisywaniu warunku "st5==0" jak i "@st5==0" breakpoint zalacza sie niezaleznie od wartosci ST(5) a w dzienniku wyswietla sie "Error when evaluating break condition.". ktos wie co moge robic zle?
#assembly #assembler #reverseengineering
klamkaodokna 2024-02-13 04:12:34 +1
@Przegrywzyciowy0: w jezyku nerdow
QuaS 2024-02-13 04:21:13 +1
@klamkaodokna nie wiem, nie znam się. Kombinuj z różna semantyka.
https://reverseengineering.stackexchange.com/questions/22599/x64dbg-break-when-a-register-contains-a-value

Po za tym to chyba 128 bitowy rejestr i nie porównasz go sobie od ręki z liczba - ale nie znam sie
pokaż komentarze (4)
marcus777 2024-01-11 11:12:33 +4
Pierwszy raz nie mieszczę się w limicie pamięci i muszę stawać na głowie by optymalizować co się da pod kątem ilości kodu maszynowego, nie performance i czytelności. Każdą funkcję czytam w Disassembly Listing i zmniejszam co się da
#programowanie #mikrokontrolery #c #assembler #microchip #mplab
Saly 2024-01-11 11:15:04 +4
@marcus777: próbowałeś -Oz i -fwhole-program? Optimizer ma duże większe pole do popisu, jeśli widzi wszystko. Oczywiście jak masz jeden plik .c w projekcie to nie ma to sensu

Jak twój kompilator nie ogarnia -fwhole-program to zawsze możesz dać wszystkie funkcje w jeden plik, tylko trzeba pamiętać o tym, żeby funkcje były static przez co kompilator nie musi zakładać, że funkcja musi powstać i może ją np. zinlinować
marcus777 2024-01-11 14:31:17 +2
@Saly: Heh, nie w Microchipie to:
main.c:1:0: warning: Compiler option (Optimize for size) ignored because this feature requires the MPLAB XC8 PRO compiler
Wszystko co da się na darmowej licencji powłączane

@zetisdead: Projekt własny więc nie będzie takich który by chcieli, ale i tak komercja więc więcej to w kolejnej rev

@To_ja_moze_pozamiatam tinyAVR® 1-series, MPLAB-X
pokaż komentarze (6)
jakismadrynickpolacinsku 2023-12-23 22:40:32 +0
Do jakich zastosowan dzis jest Assembler? Bo słyszałem, że do programowania mikrokontrolerów i do hackingu.
Ale raczej pracy po tym nie ma? (traktuje to jako ciekawostkę). #naukaprogramowania #programowanie #assembler #komputery #hardware
j.....e 2023-12-23 22:42:42 +2
@jakismadrynickpolacinsku: sterowniki się w tym pisze to bardzo niskopoziomowe programowanie
Krolik 2023-12-24 10:17:42 +3
@jakismadrynickpolacinsku: kompresja/dekompresja, przetwarzanie obrazów /video, kryptografia, uczenie maszynowe, systemy baz danych. Nikt nie pisze oczywiście wszystkiego w assembly, ale to są tradycyjnie dziedziny gdzie trzeba bardzo dobrze rozumieć co się dzieje na poziomie sprzętu i assembler służy do optymalizacji niskopoziomowych.
pokaż komentarze (5)
Mati365 2023-03-05 18:23:05 +10
W końcu udało mi się wyświetlić hello world ( ͡° ͜ʖ ͡°)

https://github.com/Mati365/ts-c-compiler

#programowanie #chwalesie #assembler
assninja 2023-03-05 20:24:41 +5
@Mati365: asm() w pętli w C w typescript w przeglądarce w czymś to wygląda jak emulator x86 w js?
Mati365 2023-03-05 20:41:18 +0
@assninja: Tak, zamierzam odpalić w tym dosa i w nim silnik JSa. Ogólnie pisanie kompilatora C w JSie nie jest wcale takie głupie - pisanie backendu do takiego kompilatora pod jakąś magiczną architekturę jest o niebo prostsze niż rzeźbienie z LLVM. Ofc kosztem jakości wygenerowanego kodu.
Canova 2023-01-08 17:58:38 +0
Mirki znacie jakieś polskie lub angielskie źródła o x86-64 Assembly?
Szukam jakiegoś info dokładnie do czego są poszczególne rejestry rax, rbx, rcx itp i jakoś nie mogę trafić
#assembler #programowanie #it
groman43 2023-01-08 19:06:26 +0
Canova 2023-01-08 20:29:46 +2
@groman43 Nie wiem jak to sie stało, przepraszam za usunięcie wpisu. Jak najbardziej dokumentacja Intela do dobry pomysł, dziękuje.
@mp107: również dzięki za info, zainteresowanie jest stąd że mam kilka ctfów z RE do zrobienia i jest to dla mnie temat kompletnie nowy.
pokaż komentarze (1)
PlytaGnojowa 2022-10-23 17:24:41 +0
Trafi się może jakiś Mirek programista znający assemblera i z doświadczeniem w programowaniu mikrokontrolerow (infeon c166). Mam kod, jedynie potrzebowałbym pomocy w zrozumieniu jego działania.
#assembler
#elektronika
zetisdead 2022-10-23 17:26:05 +2
@PlytaGnojowa: wklei i nie czaj się. C166 to straszny antyk, ale to nie komputer kwantowy, żeby był z tym problem.

Lista instrukcji: https://www.keil.com/dd/docs/datashts/infineon/c166ism.pdf
zetisdead 2022-10-23 19:13:12 +3
@PlytaGnojowa:

Flagi warunków masz na stronie 38 w pdf:
cc\_UC - skok bezwarunkowy
cc\_z - skok gdy jest ustawiona flaga Z w rejestrze stanu PSW

Flagi są ustawiana przez instrukcje testujące, arytmetyczne.
Zwróć uwagę, że przez skokami warunkowymi masz w programie np. cmp

cmp dpp0, #0x38 - ustawia flagi w PSW
jmpr cc\_z, func4 - wykonuje skok gdy jest ustawiona flaga Z
pokaż komentarze (13)
mateusz-zahorski 2022-09-05 13:52:16 +0
#programowanie #programista15k #asembler #assembler

Mam w asemblerze za pomocą koprocesora obliczyć y, np. y=1/2*3
Robię to następująco:
Fld1
Fld1
Fld1
Fadd
Fdiv
(Mam 1/2, teraz 3 i mnoże)
Fld1
Fld1
Fadd
Fld1
Fadd
Fmul

To akurat jest prosty przykład, mam trudniejsze i czy jest możliwość żeby zrobić jakiś program w asemblerze który będzie mi liczył, sprawdzał czy dobrze zrobiłem te instrukcje na koprocesorze?
zwei 2022-09-05 15:32:52 +1
@mateusz-zahorski: musisz przede wszystkim powiedzieć, jaki to asembler. Po drugie najlepiej, żebyś napisał sobie po prostu kod, który ci wyświetli wynik. Ale żeby to zrobić, to musisz wiedzieć, co to za asembler XD
mateusz-zahorski 2022-09-05 19:37:21 +1
pokaż komentarze (4)
techniczniej 2022-07-05 00:03:21 +2
Assembler x86(-64) Tutorial cz. 2 - Rejestry Procesora -> https://techniczniej.pl/post/assembler-x86-64-tutorial-cz-2-rejestry-procesora

Rejestry ogólnego i specjlanego przeznaczenia + Darmowy fragment książki!
Po przeczytaniu dowiesz się:
- Czym są rejestry ogólnego przeznaczenia w assemblerze
- Jakie przeznaczenie mają poszczególne rejestry
- Czym są rejestry segmentowe
- Czym jest rejestr flag i czemu on służy

#programowanie #programista15k #naukaprogramowania #assembler #informatyka #it
mateusz-zahorski 2022-06-15 18:28:31 +1
#asembler #assembler #programowanie #programista

Dalej walczę z asemblerem, mam to co po lewo a muszę mieć to co po prawo, czy to da się zrobić edytując ten kod czy tu trzeba bufora i procedur?
KOD: https://pastebin.com/jzWb5QRi
Bleck 2022-06-15 21:18:02 +0
@mateusz-zahorski no dobra, ale jak to ma wyglądać dla n=10? bo po prawej jest dla n=7
Jaka treść zadania wariacie?
Bleck 2022-06-15 21:29:16 +0
@mateusz-zahorski daj treść zadania to pomyślimy, bo jak tylko ma wypluwać różniebl wypelnione kwadraty 7x7 to można to mądrze zrobić
pokaż komentarze (1)
techniczniej 2022-06-05 12:29:12 +10
Jak Nauczyłem Się Assemblera - Assembler Wstęp Dla Początkujących -> https://techniczniej.pl/post/assembler-tutorial

- Programowanie Niskopoziomowe
- Czy C/C++ Jest Niskopoziomowe
- Rejestry Procesora
- Pierwszy Kod Assemblera
- Kompilacja Assemblera

#programowanie #programista15k #naukaprogramowania #assembler #it
T.....d 2022-06-05 12:43:20 +0
@techniczniej: akurat poczebne ( ͡° ͜ʖ ͡°)
zwei 2022-06-05 14:29:45 +4
Każdy 64-bitowy procesor posiada rejestry 64-bitowe, które dzielą się na 32-bitowe, te na 16-bitowe, a te na 8-bitowe.

@techniczniej: Nie każdy. Rejestry ARM64 dzielą się co najwyżej na 32-bitowe. I pewnie inne architektury niż x86-64 mają jeszcze inaczej.

Kompilator, z którego będziemy korzystać to NASM.

Nie kompilator, a asembler. Wiadomo, że są to rzeczy dość podobne pojęciowo,
szczególnie jeśli chcemy uprościć tekst, ale może wypadałoby zaznaczyć jaka
jest różnica?

Ogólnie, artykuł wydaje mi się napisany mocno po łebkach i początkującemu zbyt
wiele nie pomoże, bo co mu po tym, że załadował 0 do ebx i 1 do eax?
Nie ma wytłumaczenia, dlaczego tak się dzieje, i że jest to powiązane z konwencją
wywołań, która dla każdego systemu operacyjnego jest inna.

Operacja elementarna - jest przykładowo operacją porównania dwóch liczb ze sobą.

Czy to tłumaczy, czym jest operacja elementarna? To tylko jakiś jednostkowy
przykład.

Poza tym, z tej sekcji czytelnik może wyciągnąć jakiś pokrętny wniosek, że
skoro cmp eax, 3 tłumaczy się na 83 F8 03, to cmp=83, a eax=F8.
Nie ma żadnego wytłumaczenia, dlaczego operacja elementarna składa się z
3 bajtów. Czy każda operacja składa się w takim razie z 3 bajtów?

Biorąc pod uwagę to, że artykuł jest poniekąd w zamierzeniu
zachętą do zakupienia książki za 100 zł, to wypadałoby chociaż zaprezentować
gdzieś przykładowy rozdział z tej książki i spis treści.
mateusz-zahorski 2022-06-04 21:51:19 +0
#programowanie #asembler #assembler #programista15k

Czy jest tu ktoś kto potrafi zrobić w assemblerze jakieś proste rzeczy typu litera K z gwiazdek? Poziom studiów, albo jakieś trójkąty, proste figury
zwei 2022-06-04 23:30:43 +3
@mateusz-zahorski: spokojnie, od początku. Jaki to jest asembler? Jakie dokładnie jest zadanie? Czego oczekujesz - pomocy w samodzielnym rozwiązaniu czy gotowca? Bo gotowiec to kosztuje pieniądze
zwei 2022-06-08 17:15:20 +2
@mateusz-zahorski: no ew. pomyłka to nauka 16-bitowego asm w 2022 roku xD ale cóż
pokaż komentarze (18)
shiningsky 2022-05-06 10:12:35 +0
Mireczki, dostałem zadanie z #assembler na zasadzie:
Jeśli przycisk dołączony do linii PA1 jest wciśnięty, to dioda nie świeci, jeśli nie jest to PA0 świeci. No dobra, z racji że assemblera nigdy nie miałem, to odpaliłem sobie dokumentacje, schemat do ATMEGA32 i klikam po kolei, sprawdzam jak to wygląda. No i coś tu mi się nie podoba, bo według schematu atmega ma 8 pinów PA, a w zadaniu dostałem 8 lampek led (na wszystkich liniach PA) i przycisk podłączony do tego samego pina co LED1.
Gdy próbuję sobie porównać bit na PA1 w momencie przyciskania (za pomocą polecenia SBIS i jmp do funkcji), to w sumie nic się nie dzieje, tylko zapala LED1. Może ktoś rzucić okiem o co tu chodzi i czy schemat jest dobry? xD
#naukaprogramowania #programowanie #elektronika
Maneti 2022-05-06 10:24:03 +3
@shiningsky: Albo ktoś się rąbnął, albo wymyślił bardzo upierdliwe zadanie ;) Jeśli wersja upierdliwa, to na szybko - w pętli można zaświecać LED na x czasu, potem gasić na kilka ms i w tym czasie badać przycisk, potem zaświecać lub nie w zależności od przycisku - oczywiście po drodze machając DDR i PORT. Odpowiednio krótki czas nieświecenia LEDa nie będzie widoczny okiem (patrz PWM).
zetisdead 2022-05-06 10:30:36 +0
według schematu atmega ma 8 pinów PA, a w zadaniu dostałem 8 lampek led (na wszystkich liniach PA) i przycisk podłączony do tego samego pina co LED1.

@shiningsky: pokaż ten schemat
pokaż komentarze (1)
techniczniej 2022-04-28 07:47:22 +3
Ile jest warstw i jak działa API Windowsa -> https://techniczniej.pl/post/99-programistow-tego-nie-wie-jak-dziala-api-windowsa
ZohanTSW 2022-04-28 08:27:30 +17
@techniczniej: lol, tak samo jak 99% programistów nie wie jak skonfigurować DMA w STM32, co to za tytuł xD
Kolorowezworki 2022-04-28 08:42:38 +3
@ZohanTSW: Tytuł faktycznie nietrafiony. Myślę, że autor użył skrótu myślowego i chodziło mu o programistów Windows. Bzdurą by było wciągnąć do tego worka np webowców albo tak jak wspomniałeś embedded.
pokaż komentarze (2)
wytrzzeszcz 2022-04-06 15:22:38 +0
Zrobiłem listę 64 różnych języków programowania i w tagu:
#bitwyjezykowe
będziemy sobie je porównywać który lepszy
W lewym narożniku #ada Nazwany na cześć pierwszej programistki, język programowania swego czasu stosowany przez US Army z uwagi na fakt, że jak już się coś skompiluje to ciężko to wysypać w nieprzewidziany sposób
W prawym narożniku #assembler jako grupa języków niskiego poziomu odzwierciedlających to co dzieje się na procesorze.
głosowanie plusami w kometarzach
wytrzzeszcz 2022-04-06 15:22:49 +8
Wybieram:
Ada
wytrzzeszcz 2022-04-06 15:23:01 +23
Wybieram:
Asembler
pokaż komentarze (2)
Zorki4 2021-09-13 22:49:22 +0
Pracuję jako inżynier w bardzo wąskiej branży w której nie ma rynku pracownika. Jak zaczynałem 15 lat temu to były dobre pieniądze i wsiąkłem, ale przez systematyczny brak podwyżek obecnie się robi straszna lipa + absolutny brak szansy na dalszy rozwój.

Chcę się przebranżowić na #it. Kończę kurs #ccna i będę robił oficjalny świstek #cisco. Linuxa powiedzmy że podstawy znam. Programowałem mikroprocesory w #c oraz w #assembler, generalnie to programowanie dosyć szybko łapie. Formalinie doświadczenia w #it brak.

Czego się jeszcze uczyć, jakie kursy zrobić, żeby mieć szansę na załapanie się na robotę? Widzę #vmware jest teraz w modzie i ogólnie wirtualizacja.

#Warszawa jakby to miało znaczenie.
#ccna #siecikomputerowe #pracait
fajq 2021-09-13 23:03:42 +3
@Zorki4: Zdecyduj sie w co chcesz iśc a nie rób wszystko. Nie bez powodu mówi się, że człowiek który umie wszystko nie umie niczego porządnie.
Pienio69 2021-09-14 09:36:06 +2
a co innego jest obecnie wewnątrz sieci korporacyjnej? Właśnie swtche i routery i to tyle xD Jedyna zmiana/uproszczenie to brak własnego on-prem DC na sajtach i to tyle, ale tam też nigdy dużo roboty nie było bo tam ma to działać bo jak nie działa to cała firma leży

@d1sconn3cted: Ciekawa robota jest bardziej związana z DC niż z klepaniem sajtów według jakiegoś standardu ustalonego przez ludzi z architektury/engineeringu. W DC masz multum urządzeń z pogranicza sieci i aplikacji (collaboration, jakieś load balancery, jakieś firewalle)
Korpo przy większych projektach które są związane z wymianą wielu urządzeń na sajtach biorą sobie WIPRO czy inne, gdzie jest dużo, średnio wykwalifikowanej siły roboczej.
pokaż komentarze (34)
zwei 2021-08-25 20:00:05 +0
#assembler #asembler #x86 #x64 #programowanie #nasm

Mam coś takiego

`hello:
  push rbp ; robimy ramkę stosu
  mov rbp, rsp
  sub rsp, 16 ; stack musi być wyrównany do 16 bajtów w SysV ABI, ofc w tym przykładzie w ogóle nie muszę sobie robić tych 16 bajtów, bo ich nie używam, ale wstawiam, żeby napisać ten komentarz o wyrównaniu stosu :P`

  mov rcx, 10 ; loop counter

`hello_loop:
  mov rdi, hello_fmt
  mov rsi, rcx
  push rcx ; zapisuję rcx, bo _printf bruździ w rejestrach
  push rcx ; a ponieważ stos musi być wyrównany do 16 B to musimy albo zrobić sub rsp, 8 albo dwa razy zrobić push, inaczej dostaniemy segfaulta
  call _printf
  pop rcx ; przywracam rcx
  pop rcx ; wyrównuję stos
  loop hello_loop`

`  add rsp, 16 ; zwalniamy stos
  pop rbp
  ret`

`section .data
hello_fmt: db "Hello, %d", 10, 0`

No i wszystko ładnie. Tylko dlaczego to wyrównanie nie tyczy się to pierwszego push rbp? Na początku mamy odjęte 8 (push rbp), potem 16 (sub rsp, 16), potem drugie 16 (podwójny push). To gdzie jest brakujące 8?
c.....s 2021-08-25 20:23:45 +0
@zwei chciałbym się nauczyć asemblera, jakie źródła wykorzystujesz do nauki?
Passer93 2021-08-25 21:57:21 +1
Na początku mamy odjęte 8 (push rbp), potem 16 (sub rsp, 16), potem drugie 16 (podwójny push). To gdzie jest brakujące 8?

@zwei: Te 8 bajtów zostanie zajęte przez "return adress" pod który ma wrócic funkcja po wywołaniu. Jest to zazwyczaj odkładane na stosie przez "call" i zdejmowane przez "ret"
pokaż komentarze (3)
harnasiek 2021-05-05 16:55:03 +1
#assembler #programowanie #informatyka #programista15k
Hej, stworzyłem kod w assemblerze, dokładniej NASM 64bity na linuxie.
Jak przerobić ten program, żeby liczby od 1 do 9 wypisał za pomocą tablicy ASCII? I jak przerobić później żeby wypisywał same nieparzyste to jest 1 3 5 7 9 ? Męczę się od wczoraj z tym przerabianiem ale nie wychodzi mi.

Kod na pastebin
afe1 2021-05-05 19:01:13 +1
@harnasiek: uruchom, sprawdz



a zakodowanie 1 i dodawanie po prostu w pętli +2 do 9 włącznie może być?
@harnasiek: wg mnie: nie, bo masz wypsywac nieparzyste liczby a nie co druga liczbe (przynajmniej tak napisane w poleceniu)
pokaż komentarze (6)