Wszystko
Najnowsze
Archiwum
65
Oryginalny kod programu Apollo 12 i 1202 poprawek

Raj dla miłośników kodu maszynowego i informatycznej archeologii ;)
z- 12
- #
- #
- #
- #
- #
- #
No witam, bawie sie w nauke asm x64 i dzis chcialem sobie poprobowac pare syscalli w linuxie i mam problem z tym programem
global start
section .text
start:
global start
section .text
start:
- 1
@ImperiumCienia: I zamiast 0x0a daj 0x00 null terminuje nie enter
#programista15k #asembler #programowanie #gamedev Cześć, wytłumaczy Ktoś ten kawałek kodu w asemblerze krok po kroku, troche jak krowie na granicy, czesc rzeczy rozumiem, ale nie wiem np. o co chodzi kiedy jest napisane (a0) w nawiasie itp
gdzie:
d0 = adres bitmapy w pamieci
d1 = szerokosc bitmapy np. 320
d2 = wysokosc bitmapy np. 256
gdzie:
d0 = adres bitmapy w pamieci
d1 = szerokosc bitmapy np. 320
d2 = wysokosc bitmapy np. 256
- 6
@ZawzietyRobaczek: (a0) w nawiasie to użycie pamięci pod adresem zawartym w a0, to samo co \*a0 w C.
d(a0) to mniej więcej \*(d+a0) (przy czym obliczenia są tu w zawsze bajtach), gdzie d to jakaś stała.
Masz poczytaj: https://archive.org/details/Pocket_Guide_Assembly_Language_for_the_68000_Series/mode/2up
Kod wygląda, że wczytuje 16-bitową szerokość spod adresu w d0 i 32-bitowy adres bitmapy z d+d0, po czym włącza pixel o współrzędnych X=d1 Y=d2. Bitmapa jest jednobitowa (pewnie jeden bitplane na
d(a0) to mniej więcej \*(d+a0) (przy czym obliczenia są tu w zawsze bajtach), gdzie d to jakaś stała.
Masz poczytaj: https://archive.org/details/Pocket_Guide_Assembly_Language_for_the_68000_Series/mode/2up
Kod wygląda, że wczytuje 16-bitową szerokość spod adresu w d0 i 32-bitowy adres bitmapy z d+d0, po czym włącza pixel o współrzędnych X=d1 Y=d2. Bitmapa jest jednobitowa (pewnie jeden bitplane na
- 6
@ZawzietyRobaczek: Zauważyłem właśnie, że szerokość w strukturze jest podana w bajtach, czyli szerokość w pikselach podzielona przez 8
MOVE.l d0,a0 – kopiuje do a0 wskaźnik na szerokość (nie można używać wskaźników bezpośrednio w d0-d7, bo 68000 tak już ma; .l oznacza operację 32-bitową)
MULU (a0),d2 – mnoży 16-bitową szerokość odczytaną przez wskaźnik razy Y, dając numer bajtu na początku wiersza
MOVE.l d(a0),a0 – odczytuje z d+a0 w a0 wskaźnik na początek bitmapy
ADD.l d2,a0
MOVE.l d0,a0 – kopiuje do a0 wskaźnik na szerokość (nie można używać wskaźników bezpośrednio w d0-d7, bo 68000 tak już ma; .l oznacza operację 32-bitową)
MULU (a0),d2 – mnoży 16-bitową szerokość odczytaną przez wskaźnik razy Y, dając numer bajtu na początku wiersza
MOVE.l d(a0),a0 – odczytuje z d+a0 w a0 wskaźnik na początek bitmapy
ADD.l d2,a0
#programowanie #asembler #gamedev Czy ktoś jest mi w stanie wytłumaczyć ta linię w asemblerze:
MOVEM.l d0-d6/a1-a3, -(a0)
po co się pisze ten zakres d0-d6 / a1-a3 co to ma niby dać
MOVEM.l d0-d6/a1-a3, -(a0)
po co się pisze ten zakres d0-d6 / a1-a3 co to ma niby dać
- 3
@Kopytko1: To jest odpowiednik instrukcji PUSH na innych platformach. Zawartość rejestrów d0,d1,d2,d3,d4,d5, d6,a1,a2,a3 zostaje zapisana w pamięci wskazywanej przez a0 po uprzednim przesunięciu a0 o 10 longów (=40 bajtów) w lewo. A służy to najprawdopodobniej temu, że za chwilę będzie MOVEM.l (a0)+, d0-d6/a1-a3, który jest odpowiednikiem POP i przywróci wartości tych rejestrów. Program po prostu zachowuje wartości kilku rejestrów, bo za chwilę te rejestry będą używane, ale potem ich wartości
- 0
@vytah: dzięki.. zrobiło się trochę jaśniej :)
- 0
.globl _main_main:
# pierwsza wersja - wstawiam po prostu wszystko inline
lea rdi, [rip + L_.hello]
xor rax, rax
call _printf
konto usunięte via Wykop Mobilny (Android)
- 1
- 3
Treść przeznaczona dla osób powyżej 18 roku życia...
Hakerzy!
Czy asembler na #linux jest dziwny? Wykładowca mówi, że Linux nie stosuję się do standardów Intela. Dlaczego tak jest?
#programowanie #asembler #pytaniedoeksperta
Czy asembler na #linux jest dziwny? Wykładowca mówi, że Linux nie stosuję się do standardów Intela. Dlaczego tak jest?
#programowanie #asembler #pytaniedoeksperta
#programista15k i reszto ekspertów od programowania. Czy w obecnych czasach warto jest się uczyć Visual Basic'a i Asembler'a? Coś tam koduje w Pythonie i Javie a te dwa języki zainteresowały mnie pod względem programowania hardwarowego. Jeśli tak to jakie IDE polecacie do tych języków?
#programowanie #pytaniedoeksperta #visualbasic #asembler
#programowanie #pytaniedoeksperta #visualbasic #asembler
Komentarz usunięty przez autora
- 5
@WonszBonsz: kurde ostry rozrzut visal vs asembler :). Co takiego harwerowego w visualu Ciebie urzekło?
- 1
Totalnie nie ogarniam #asembler, a na wykładzie nic o tym jeszcze nie było. Czy może ktoś wytłumaczyć co robi ten program?
tab: equ 30h
ld de,tab
ld b,8 ;licznik powtórzeń pętli
ld a,80h
powt: ld (de),a ;wpis bajtu do
tab: equ 30h
ld de,tab
ld b,8 ;licznik powtórzeń pętli
ld a,80h
powt: ld (de),a ;wpis bajtu do
@timszel: czytaj dokumentacje asembler jest bardzo prosty wystarczy trochę samozaparcia nikt za ciebie tego nie zrobi pozdrawiam.
@timszel no ja miałem to samo, 3 dni siedzieliśmy z ziomkami po nocach na jakichś kompilatorach online i próbowaliśmy zrozumieć, robiliśmy burze mózgów i w końcu jakoś do tego doszliśmy (jak jedna osoba zrozumiała to już poszło, bo wytłumaczyła)
Mam 33 lata. W swojej branży zarabiam całe gie 4k/msc
Chciałbym zacząć uczyć się #programowanie
Od czego zacząć? Logomocji? #phyton #webdev
#asembler #javascript czy #cplusplus #pytanie
Chciałbym zacząć uczyć się #programowanie
Od czego zacząć? Logomocji? #phyton #webdev
#asembler #javascript czy #cplusplus #pytanie
Ścieżka dobrego programisty: Logo > Basic >Pascal>Assembler. I tego się trzymaj.
- 5
5
Kod relokowalny/wstrzykiwalny (x64) | haker.info | Etyczny hacking

Każdy początkujący, który interesuje się analizą i zwalczaniem złośliwego oprogramowania (malware) powinien poznać sposób działania kodu relokowalnego (ang. relocatable) określanego też jako kod niezależny od miejsca w pamięci (ang. position–independent code) czy wstrzykiwalny (ang. injectable).
z- 0
- #
- #
- #
- #
Jakieś dobre tutki do nauki assemblera? Na zajęciach używamy nasma.
#naukaprogramowania #assembler #asembler #programowanie
#naukaprogramowania #assembler #asembler #programowanie
@inquis1t0r: spróbuję coś skrobnąć w niedzielę ale to zależy czy rzeczy na studia zrobię
- 1
@numeryczny_mikolaj12: zrobiłbym tak:
1. zm1 i zm2 są buforami na ciąg znaków, powinny zatem być odpowiednio dużymi tablicami.
2. po odczytaniu danych od użytkownika, przeleć się bo obydwu buforach i poodejmuj '0' od każdego elementu
3. w pętli dodawaj jeden bufor do drugiego. Tu się robi trochę problematycznie bo: 1. trzeba, dla wyników większych od 10 robić przeniesienie do kolejnej pary cyfr, 2. trzeba pamiętać, że liczby mogą być różnej
1. zm1 i zm2 są buforami na ciąg znaków, powinny zatem być odpowiednio dużymi tablicami.
2. po odczytaniu danych od użytkownika, przeleć się bo obydwu buforach i poodejmuj '0' od każdego elementu
3. w pętli dodawaj jeden bufor do drugiego. Tu się robi trochę problematycznie bo: 1. trzeba, dla wyników większych od 10 robić przeniesienie do kolejnej pary cyfr, 2. trzeba pamiętać, że liczby mogą być różnej
- 5
Drogie mirki, powiedzcie mi od czego zacząć naukę asemblera? Z tego co widziałem asembler ma wiele wersji? Zestawy instrukcji pod różne architektury procesorów, fasm, nasm, tasm? Której wersji tego języka używa się we wstawkach dla języka wyższego poziomu?
#asembler #programowanie #naukaprogramowania #informatyka
#asembler #programowanie #naukaprogramowania #informatyka
Komentarz usunięty przez autora
@TMBRK: Assembly Language for x86 Processors, Kip Irvine. Przystępna książka, polecam
hello #asembler Jak ktoś (tak jak ja) wgryza się w asm i nie wie od czego zacząć to polecam tą publikację: http://www.egr.unlv.edu/~ed/assembly64.pdf
#asembler #programowanie
Mireczki mam problem, mam do napisania 2 kody w asemblerze ( pare linijek) a jestem kompletnie w tym zielony.
1. wykonać 100 razy instrukcje inc R1
2. pomnożyć daną znajdującą się w rejestrze r0 przez 5 (zaproponować kilka rozwiązań, w tym użyć instrukcji arytmetycznych i logicznych. Wynik < 0FFH)
Wiem, że są to całkowite podstawy i dla kogoś kto w tym siedzi zajmię to kilka minut
Mireczki mam problem, mam do napisania 2 kody w asemblerze ( pare linijek) a jestem kompletnie w tym zielony.
1. wykonać 100 razy instrukcje inc R1
2. pomnożyć daną znajdującą się w rejestrze r0 przez 5 (zaproponować kilka rozwiązań, w tym użyć instrukcji arytmetycznych i logicznych. Wynik < 0FFH)
Wiem, że są to całkowite podstawy i dla kogoś kto w tym siedzi zajmię to kilka minut
Treść przeznaczona dla osób powyżej 18 roku życia...
- 1
Chciałby ktoś pomóc z prostymi zadaniam w assemblerze?
#asembler #pmc #programowanie #maszyna #cyfrowa
#asembler #pmc #programowanie #maszyna #cyfrowa
Potrzebuje kompilatora nasm->arm, ale takiego 1:1, co mi nie doklei elfa ani nic takiego. Piszę po MBC i mi to nie potrzebne, a kodowanie każdej instrukcji ręcznie zaczyna zakrawać o masochizm
Wołam @wytrzeszcz bo coś tam z asemblerem miałeś wspólnego chyba
#programowanie #asembler
Wołam @wytrzeszcz bo coś tam z asemblerem miałeś wspólnego chyba
#programowanie #asembler
- 1
@wytrzzeszcz: O, dzięki, powinno działać dla x86. W międzyczasie znalazłem arm-none-eabi-objcopy, które z elfa robi bi hexa/binarkę i to ma już zawartość zbliżoną do tego co potrzebuję.
- 1
@znowu_musze_wymyslac: Tak, jak ktoś tu zabłądzi kiedyś z podobnym problemem to
Wygenerowało ten sam zestaw op-code'ów co ja ręcznie
arm-none-eabi-as -o exp3.bin -g exp3.nasm -k;arm-none-eabi-objcopy -O binary exp3.bin exp3.img
Wygenerowało ten sam zestaw op-code'ów co ja ręcznie
- 1
Mam zadanie z asemblera - napisac program ktory tylko raz kopiuje dane z TAB_ROM do PORT B - i wyswietla to na ekranie - czy ktoś mógłby mi dać jakieś wskazówki albo za drobną opłata napisać?
#naukaprogramowania #asembler
#naukaprogramowania #asembler
























Mam do wykonania zadanie na studia, ale kompletnie nie rozumiem tego przedmiotu i szukam kogoś, kto mógłby mi pomóc i chociaż troszku wytłumaczyć...
#architektura #komputery #informatyka #programowanie #studbaza #dos #asembler