Język asemblera to język programowania niskiego poziomu dla komputera, mikrokontrolera lub innego urządzenia programowalnego, w którym każda instrukcja odpowiada pojedynczej instrukcji kodu maszynowego.
Programuję w językach wyższego poziomu (Python, C #, VBA, VB.NET) od około 10 lat i zupełnie nie rozumiem, co się dzieje „pod maską”. Zastanawiam się, jakie są korzyści z nauki asemblera i jak pomoże mi to jako programista? Czy możesz podać mi zasób, który pokaże mi dokładnie związek między tym, …
W dzieciństwie programowałem na radzieckim kalkulatorze MK-61 . Miał cztery rejestry operacyjne (X, Y, Z, T) i 15 rejestrów pamięci. Program może mieć 105 kroków. O ile pamiętam, miał takie polecenia jak: Zamień rejestry X i Y Rejestry przesuwne (od Z do T, od Y do Z, od X do …
Zawsze się nad tym zastanawiam i być może potrzebuję dobrej lekcji historii na temat języków programowania. Ale skoro większość współczesnych kompilatorów jest napisanych w C, jak powstały pierwsze kompilatory (AKA przed C) lub czy wszystkie języki były właśnie interpretowane? Biorąc to pod uwagę, nadal nie rozumiem, w jaki sposób powstał …
To prawie krępujące pytanie ... Mam dyplom z informatyki (i drugi w toku). Pracuję jako pełnoetatowy programista .NET od prawie pięciu lat. Generalnie wydaje mi się kompetentny w tym, co robię. Ale nie wiem, jak działają komputery! Proszę, zostań ze mną na chwilę. Szybkie Google zatytułowane „Jak działa komputer” przyniesie …
Misje Apollo posiadały technologię nie bardziej skomplikowaną niż kieszonkowy kalkulator. Z linku tutaj znajduje się informacja o Apollo Guidance Computer (AGC) Komputer pokładowy Apollo Guidance Computer (AGC) miał około 1 stopy sześciennej z 2K 16-bitowej pamięci RAM i 36K na sztywno podłączonej pamięci z rdzeniem linowym z drutami miedzianymi nawleczonymi …
Podczas kompilowania kodu C i patrzenia na asembler wszystkie stosy rosną do tyłu w następujący sposób: _main: pushq %rbp movl $5, -4(%rbp) popq %rbp ret -4(%rbp)- Czy to oznacza, że wskaźnik bazowy lub wskaźnik stosu przesuwają się w dół po adresach pamięci zamiast w górę? Dlaczego? Zmieniłem $5, -4(%rbp)się $5, …
Jestem więc na zgromadzeniu w 2011 r. I zagrano to demo: http://www.youtube.com/watch?v=69Xjc7eklxE&feature=player_embedded To tylko jeden plik, mówi to w zasadach. Powtarzam więc, w jaki sposób dopasowali to do tak małego pliku?
Jesteśmy często mówią , że sprzęt nie obchodzi, co język program jest napisany w jak to widzi tylko skompilowany kod binarny, jednak nie jest to cała prawda. Weźmy na przykład pokornego Z80; jego rozszerzenia do zestawu instrukcji 8080 obejmują instrukcje takie jak CPIR, które są przydatne do skanowania ciągów typu …
Czytam książkę The Elements of Computing Systems: Building a Modern Computer from First Principles , która zawiera projekty obejmujące budowę komputera, od bramek logicznych aż po aplikacje wysokiego poziomu (w tej kolejności). Obecny projekt, nad którym pracuję, polega na napisaniu asemblera przy użyciu wybranego przeze mnie języka wysokiego poziomu, w …
Oczywiste jest, że znajomość rzeczy niskiego poziomu jest bardzo ważna w naszej pracy. Ale w sytuacji, gdy już tworzysz komercyjne oprogramowanie na wysokim poziomie, a kiedy już wybierasz kierunek, ale nie masz umiejętności montażowych, czy nie jest rozsądniej skoncentrować się na studiowaniu rzeczy związanych z twoim kierunkiem? Czy jest powód, …
Przez lata rozważałem zagłębianie się w języki, które uważam za „niskiego poziomu”. Dla mnie oznacza to C i montaż. Jednak nie miałem jeszcze na to czasu i NIGDY nie było to konieczne. Teraz, ponieważ nie widzę żadnej konieczności, czuję, że powinienem albo zaplanować jakiś moment w czasie, kiedy będę studiował …
W zespole MIPS istnieje rejestr wskaźnika stosu i kolejny rejestr wskaźnika ramki. Co to jest wskaźnik ramki i do czego służy? Czym różni się od wskaźnika stosu?
Zamknięte. To pytanie jest nie na temat . Obecnie nie przyjmuje odpowiedzi. Chcesz poprawić to pytanie? Zaktualizuj pytanie, aby było tematem dotyczącym wymiany stosów inżynierii oprogramowania. Zamknięte 5 lat temu . Istnieje wiele książek na temat montażu. Zwykle jednak mają do czynienia z ISA, o które mnie to nie obchodzi, …
W dość wielu asemblerach instrukcja kopiowania wartości zwykle nosi nazwę „MOV”, a jej opis w instrukcjach zwykle zawiera także „move” (można jednak użyć innych słów, takich jak „load”, „store”, „extract” itp. ) Znalezienie ISA jest rzadkością ), który nie przestrzega tej konwencji. Z drugiej strony, w innych kontekstach, „ruch” różni …
Zamknięte. To pytanie jest nie na temat . Obecnie nie przyjmuje odpowiedzi. Chcesz poprawić to pytanie? Zaktualizuj pytanie, aby było tematem dotyczącym wymiany stosów inżynierii oprogramowania. Zamknięte 4 lata temu . Chcę zbudować maszynę wirtualną jako niezależny od platformy sposób uruchamiania kodu gry (w zasadzie skryptów). Maszyny wirtualne, które znam …
Używamy plików cookie i innych technologii śledzenia w celu poprawy komfortu przeglądania naszej witryny, aby wyświetlać spersonalizowane treści i ukierunkowane reklamy, analizować ruch w naszej witrynie, i zrozumieć, skąd pochodzą nasi goście.
Kontynuując, wyrażasz zgodę na korzystanie z plików cookie i innych technologii śledzenia oraz potwierdzasz, że masz co najmniej 16 lat lub zgodę rodzica lub opiekuna.