4087490694

4087490694



Jak pisać programy w języku asembler pod Linuksem?

Część 1 - Podstawy, czyli czym to się je.

Wyobraźcie sobie, jakby to było móc programować maszynę bezpośrednio - rozmawiać z procesorem bez pośrednictwa struktur wysokiego poziomu, np. takich jak spotykamy w języku C. Bezpośrednie operowanie na procesorze umożliwia przecież pełną kontrolę jego działań! Bez zbędnych instrukcji i innych śmieci spowalniających nasze programy.

Czy już czujecie chęć pisania najkrótszych i najszybszych programów na świecie?

Programów, których czasem w ogóle NIE MOŻNA napisać w innych językach? Brzmi wspaniale, prawda?

Tylko pomyślcie o tym, co powiedzieliby znajomi, gdybyście się im pochwalili. Widzicie już te ich zdumione miny?

Miła perspektywa, prawda? No, ale dość już gadania. Zabierajmy się do rzeczy!

Zacznijmy od krótkiego wprowadzenia:

Niedziesiętne systemy liczenia.

1. Dwójkowy (binarny)

Najprostszy dla komputera, gdzie coś jest albo włączone, albo wyłączone. System ten operuje na liczbach zwanych bitami (bit = binary digit = cyfra dwójkowa). Bit przyjmuje jedną z dwóch wartości: 0 lub 1.

Na bajt składa się 8 bitów. Jednym bajtem można przedstawić więc 2A8=256 możliwości.

Przeliczenie liczby zapisanej w systemie dwójkowym na dziesiętny jest proste. Podobnie jak w systemie dziesiętnym, każdą cyfrę mnożymy przez odpowiednią potęgę podstawy (podstawa wynosi 2 w systemie dwójkowym, 10 w systemie dziesiętnym).

Oto przykład (daszek A oznacza potęgowanie):

1010 1001 dwójkowo =

1 *(2A7) + 0*(2A6) + 1 *(2A5) + 0*(2A4) + 1*(2A3) + 0*(2A2) + 0*(2A1) + 1*(2A0) =

128 + 32 + 8 + 1 =

169 dziesiętnie (lub dec, od decimal).

Działanie odwrotne też nie jest trudne: naszą liczbę dzielimy ciągle (do chwili uzyskania ilorazu równego 0) przez 2, po czym zapisujemy reszty z dzielenia wspak:

(przeskocz konwersje liczby dziesiętnej na dwójkowa)

169

84


1

0

0


42

21

9


Część 1 - Podstawy, czyli czym to się je.



Wyszukiwarka

Podobne podstrony:
Jak pisać programy w języku asembler?Wstęp. Pewnie wiele osób spośród Was słyszało już o tym, jaki t
01. "Programowanie" - z czym to się je? Zarówno w Internecie, jak i wśród dostępnych książ
Skrypty shella — programowanie w języku powłoki. Zacznijmy od przypomnienia. Shell, czyli powłoka, t
pds059 (2) tif Podstawy konstruowania programów w języku Asembler 59 wym może być też symbol zdefini
pds061 (2) tif Podstawy konstruowania programów w języku Asembler 61 adresowanie pośrednie stwarza m
pds063 (2) tif Podstawy konstruowania programów w języku Asembler 63 asembler MASM praktycznie różni
Zrozumiec Assembler7 3.4 Proces tworzenia programu w języku Asemblera 89 3-4.1 Asemblowanie kodu
• str. 10 JAK PISAĆ I TWORZYĆ PREZENTACJE? Paweł SygnowskiPróba Próba jest podstawową częścią
Image110 (4) Forum Czytelników Jak widać, program jest bardzo prosiy, tylko polecenie „Waitms 20” mo
14 (82) jgg Część L Podstawy komunikacji Kiedy komunikujesz się z mężczyznami lub kobietami, unikaj
zabawy dla maluchów0041 VII. Jak pajacyk szukał domu?KÓŁKA I PROSTOKĄTY Dzieci robią z cukru koła i

więcej podobnych podstron