#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,
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
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 to
  • 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
Elko mirki z #programowanie w #asm #assembler - mam problem, pisze sobie funkcje do programu 64bitowego w #nasm, jako argument przyjmuje adres do tablicy floatow no i chce załadować jej fragment do ymm0. Używam instrukcji vmovaps, ale zamiast przesłać się 256bity przesyłają się tylko 128. Po prostu zamiast 8 floatow lądują się 4, dane w tablicy są na pewno ok. Ma ktoś pomysł w którą stronę szukać problemu?
Cześć mirki - zna ktoś jakieś godne polecenia(bo googla mam) ebooki, poradniki, tutoriale, instrukcje, które wprowadzą mnie szybko, na praktycznych przykładach w asm x86? Nie chcę biblii asemblera, coś co mnie na przykładach wprowadzi w to. Ogarniałem trochę mipsa, ale tutaj z tego co widzę trochę inaczej te rejestry są ponumerowane, nie ogarniam do końca ile tego jest, ile tak naprawdę mogę przechowywać wartości równocześnie itd. #programowanie #assembler #nasm
@g500s:
1. jeżeli CI życie miłe to nie korzystaj z OGLa - inicjalizacja okna z wcześniejszej biblioteki rozrosła się 2-3 razy, trzeba mieć też relatywnie dużo intuicji/doświadczenia żeby ogarnąć wszystko(a robiłem wcześniej GKOMy, więc trochę to ogarniam). Plus taki że możesz np. liczyć kolory na shaderach


2. wcześniej próbowałem działać na SFMLu - całkiem przyjemnie, nawet da radę - problem w tym że strasznie nie lubi się w konfiguracjach wielomonitorowych -
  • Odpowiedz