Определение позиционной СС

Курсовая

Экзамен

Литература и ПО

Голубь Н.Д. "Искусство программирования на assembler"

Бериан "Программирование на ассемблере системы IBM/370"

Borland assembler compiller

Borland C++

Лекция 1

ЗАЧЕМ НУЖЕН ASSEMBLER?

Стили программирования:

1. Машинно-ориентированный стиль. Программы писались в машинных кодах.

0001 1010 0100 0001 -> A R 4, 1

AR - Имя функции

4 - первый аргумент

1 - Второй аргумент

A - ADD

R - REGISTER

2. Процедурно -ориентированный стиль. Появились языки высокого уровня. Основу языка составляют процедуры или подпрограммы. Появилось разделение программы на высокоуровневый интерфейс и низкоуровневое ядро. Появились программы которые называются компиляторами.

3. Структурное(модульное) программирование. Программа делится на модули в которых данные и команды объединены в один так называемый "модуль".

4. ОО стиль программирования. В которых данные и команды объединяются по смыслу.

Зачем нужен ассемблер? Знание Ассемблера позволяют: понять принципы обработки информации на современных компьютерах,а именно: как хранятся в памяти компьютера разнообразные данные, как записываются и выполняются арифметические и логические операции, как организуется ввод\вывод информации. Позволяет понять, что такое ОС.Понять что такое многозадачность и управлять ею. Понять, что такое файловая система и управлять ею.Позволяет создавать эффективные и оптимизированные команды.

ЛЕКЦИЯ 2

ПОЗИЦИОННЫЕ СИСТЕМЫ СЧИСЛЕНИЯ

Определение позиционной СС

До наших дней дошли 2 системы счисления: римская(не позиционная) и арабская(позиционная).

Позиционная СС - такая система в которой позиция цифры однозначно связана с значением числа.

Пусть задано вещественное число состоящее из n+1 цифр целых и k цифр дробных. Тогда такое вещественное число мы можем представить следующим образом

Цифра Цn ... ... Ц1 Цо Д1 ... ... Дк
Позиция n ... ...       ... ... к

Цn*q^n + Ц1*q^1 + Ц0 q^0+q^-1Д1+... q^-k*д (*)

Десятичная система исчисления

q=10 {0,1,3,4,5,6,7,8,9}

5*10^3+3*10^2+4*10^1+2*10^0 = 5342

82563.947

8*10^4 + 2*10^3 + 5*10^2 + 6*10^1 + 3*10^0 + 9*10^-1 + 4*10^-2 + 7*10^-3

Binary

q=2 {0,1}

базовая единица компьютерных данных - бит (bit->binary digit)

Перевод ЦЕЛЫХ ДЕСЯТИЧНЫХ ЧИСЕЛ В 2

Необходимо число последовательно делить на 2 до получения целого остатка меньшего чем 2. Результат в 2й СС имеет вид упорядоченной последовательности остатков в порядке обратном их получения. младшую цифру - первый остаток.

137(10) -> (2)

137/2=68->1

68/2=34->0

34/2=17 ->0

17/2=8 ->1

8/2=4 ->0

4/2=2 ->0

2/2=1 ->0

1 ->1

перевод правильных 10х дробей в двоичную СС

НЕобходимо данное число последовательно УМНОЖАТЬ на 2 до тех по пока в мантиссе не будет чистый 0 либо нужное количество разрядов. получаемые значения не учитываются,но образуют результат в виде упорядоченной последовательности в виде упорядоченных последовательностей целых двоичных чисел

0.5d

0.5*2=1.0 -> 0.1b

0.703125d

0.703125->0.

0.703125*2=1.406250 ->1

1.406250 *2= 0.8125 ->0

0.8125 *2=1.625->1

1.625*2=1.25->1

1.25*2=0.5->0

0.5*2=1->1

0.703125d->0.101101

0.05d

0.05d ->0.

0.05*2=0.1 ->0

0.1*2=0.2 ->0

0.2*2=0.4 ->0

0.4*2=0.8 ->0

0.8*2=1.6 ->0

1.6*2=1.2 ->1

1.2*2=....->1

0.05d-> 0.0000011 (0011)b

Вещественные числа в общем случае невозможно точно представить в памяти компьютера. Точность (количество представляемых разрядов) зависит от разрядности процессора.

ПЕРЕВОД СМЕШАННЫХ ДЕСЯТИЧНЫХ ЧИСЕЛ В 2ю СС

Результат образуется путем соединения(Конкатенация)


Понравилась статья? Добавь ее в закладку (CTRL+D) и не забудь поделиться с друзьями:  



double arrow
Сейчас читают про: