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
  • Odpowiedz
via Wykop Mobilny (Android)
  • 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
  • Odpowiedz
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
shiningsky - Mireczki, dostałem zadanie z #assembler na zasadzie:
Jeśli przycisk doł...

źródło: comment_1651824342bFlhZRdt3QQY8mltemKwqc.jpg

Pobierz
  • 3
  • Odpowiedz
  • Otrzymuj powiadomienia
    o nowych komentarzach

@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).
  • Odpowiedz
@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.
  • Odpowiedz
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
  • 36
  • Odpowiedz
  • Otrzymuj powiadomienia
    o nowych komentarzach

@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.
  • Odpowiedz
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
  • Odpowiedz
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"
  • Odpowiedz
#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
harnasiek - #assembler #programowanie #informatyka #programista15k
Hej, stworzyłem k...

źródło: comment_1620226273fCpOQralDV6WuVVXd4Hp4u.jpg

Pobierz
  • 8
  • Odpowiedz
  • Otrzymuj powiadomienia
    o nowych komentarzach

@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)
  • Odpowiedz
#nasm #assembler #linux #informatyka #programowanie

Jak definiować i tworzyć programy w nasmie?
Na wykładach był pokazany jedynie program typowy "hello world" , zaś zadane zadania to program ma dostać od użytkownika 2 liczby i je dodać, a 2 program to tworzenie pliku który zapisuję naszą wiadomość ( _)(,)
  • 10
  • Odpowiedz
  • Otrzymuj powiadomienia
    o nowych komentarzach

właśnie Gynvael podrzucił mi parę linków, ale nie za bardzo rozumiem x nich co i jak, używałem jeszcze godbolta


@harnasiek: mi sie przypomniała sytuacja z technikum, otóż babka z polskiego postanowiła sobie że mamy się wiersza nauczyć na pamięć. Tak wiersza, na blache, bo tak i każdy ma sie nauczyć bo będzie lufa. Ja wolałem dostać pałe niż tego się nauczyć bo bardziej ceniłem swój czas i wiedziałem że nigdzie
  • Odpowiedz
i dziwią się że po studiach trudno z pracą


@open-alpha: studia nie są kursem przygotowującym do zawodu (zakładam przy tym, że OP studiuje inżynierię oprogramowania). Zajęcia praktyczne z asemblera są bardzo cenną lekcją uświadamiającą jak wiele system operacyjny oraz kompilatory wykonują roboty. A swoją drogą nie znam nikogo kto zaczynał albo programował w asemblerze, kto by nie mógł znaleźć pracy ( ͡° ͜ʖ ͡°)
  • Odpowiedz
@Jurix: 91 stron opisu architektury procesora to jest tak jakby ktoś ci streszczał pana tadeusza w dwóch zdaniach. Normalnie instrukcja do x86 to jest kilka tomów po 1000 stron. Ten manual jest bardzo dobry i źle zgadujesz, bo jedyne, co cię tam może niezainteresować to jest binarna reprezentacja opcode'ów.
  • Odpowiedz
@zwei: ale polecam się zaznajomić przynajmniej pobieżnie z całym, bo masz wytłumaczone jak mniej więcej działa procesor.
  • Odpowiedz
Uzyskam jedynie skompilowany program, tak ? Chodzi mi bardziej o kod w assembly np. funkcję którą później wywołuję w C
  • Odpowiedz
@mkvv: Na przyszłość wołaj to szybciej odpowiem( ͡° ͜ʖ ͡°) , w GCC możesz sobie włączyć opcję, bodaj -S, która wypluwa kod programu w assemby.
  • Odpowiedz
Siemka. Jest tu ktoś kto ogarnia assemblera? Malutki program do napisania do sortowania kilku liczb. Jestem wstanie zabulić przelewem, pp czy co tam będziesz chciał. Zależy mi na czasie. ( _)
#programowanie #assembler
  • 7
  • Odpowiedz
  • Otrzymuj powiadomienia
    o nowych komentarzach

@defoxe: no tak, przecież jak taki kernel albo bootloader startuje to BACH wszystko porobione, runtime C albo lepiej JavaScript na miejscu, interrupty poustawiane, timery same się włączają tylko debile piszą w tym assembly, find . -name "*.S" nie powinien nic pokazywać a nie ponad 1000 plików w samym tree Linuksa
  • Odpowiedz
@defoxe: "odjechanego" - ty po prostu nie masz większego pojęcia o programowaniu bare metal. Te "odjechane" rzeczy jak zmiana exception level dzieją się za każdym razem jak uruchamiasz jakąś binarkę na systemie. A inline assembly to coś innego niż zwykłe assembly. I nie, dopóki nie utworzysz sobie runtime C nie będzie żadnch "wstawek z C".
  • Odpowiedz
Muszę napisać program w Assemblerze Mipsa przy użyciu procedur.
Użytkownik ma wybrać jaka procedura ma być wykonana poprzez wpisanie jakiejś cyfry, jedną z opcji jest zakończenie programu. W jaki sposób to sensownie zrobić? Wiem, że do procedur skaczemu przy uzyciu intrukcji "jal", a potem po skończniu instrukcji w procedurze wracamy do tego miejsca przy pomocy "jr". Ale nie mam pomysłu jak wykonać skakanie do odpowiedniej procedury w zależności od wybranej przez użytkownika
  • 2
  • Odpowiedz
  • Otrzymuj powiadomienia
    o nowych komentarzach