Учим ассемблер

Урок 4.

В прошлый раз мы написали свое первое приложение. Надеюсь вам понравилось! Теперь вам следует запастись терпением, т.к. будут несколько очень важных тем. На ближайших уроках мы заниматься практикой к сожалению не будем.

Сегодня мы поговорим о системах счисления.

Система счисления - правило по которому идет работа с числами.

Каждый человек знаком с десятичной системой счисления. В ней десять цифр. Но кто мешает нам изменить это количество? Поэтому и появляются новые системы. Самая простая - двоичная. Там всего две цифры "0" и "1". Посмотрим основные действия с ними.

Для начала -сложение

Слагаемое 1 Слагаемое 2 Сумма
0 0 0
0 1 1
1 0 1
1 1 10

Как видите ничего сложного здесь нет. Теперь посмотрим таблицу умножения:

Множитель 1 Множитель 2 Произведение
0 0 0
0 1 0
1 0 0
1 1 1

Как видите в таблице умножения всего 4 строчки! Теперь попробуем рассчитать что-нибудь, например:

11+101 = (1*10 + 1) + (1*100 + 0*10 + 1) = 1*10 + 1 + 1*100 + 1 = 1*100 + 1*10 + (1+1) = 1*100 + 1*10 + 10 = 1*100 + (1+1) * 10 = 1*100+100 = (1+1)*100 = 10*100=1000.

Как видите все не так сложно. Все это можно было записать в столбик, и действия были бы проще. Теперь попробуем перевести двоичное число в десятичное. Для этого следует действовать по определению.

101b = 1*(2^2) + 0*(2^1) + 1 * (2^0) = 1*4+1=5.

Здесь мы сделали еще одну важную вещь. Определились как отличать десятичные числа от двоичный. Для этого был использован символ "b" - сокращение от Binary (двоичный). Это обозначение принято и в ассемблере.

Теперь решим обратную задачу. Переведем число 5 в двоичную систему. Что ж,  действуем в обратном направлении. Разделим число на два. Остаток от деления - младший (правый) разряд числа. В нашем случае это 1. Далее делим частное на два. Остаток - следующий разряд. И т.д. пока частное не будет нулем.

5 / 2 = 2, остаток = 1
2/2 = 1, остаток = 0
1/2 = 0, остаток = 1

Как видите все достаточно просто!

Потренируйтесь еще в переводе чисел. В следующий раз вы рассмотрим шестнадцатеричную систему счисления.

 
Предыдущий урок Следующий урок


Рейтинг@Mail.ru
Hosted by uCoz