Добавил:
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Шпоры по архитектуре ЭВМ.doc
Скачиваний:
46
Добавлен:
02.05.2014
Размер:
238.59 Кб
Скачать

1. Представление данных в компьютере: двоичная, шестнадцатиричная системы исчисления, числа со знаком.

I Двоичная система исчисления.

В двоичной системе исчисления 2 цифры, а вместо степени здесь применяется степень двойки.

10010111b, “b” – означает двоичная системы исчисления.

10010111b = 1*2^7 + 0 *2&6 + 1*2^4 + 0*2^3 + 1*2^2 + 1*2^1 + 1*2^0 = 151

a) Перевести из Bin в Dec

a)Перевести из Dec в Bin

151 / 2 = 75 | 1 младший

75 / 2 = 37 | 1

37 / 2 = 18 | 1

18 / 2 = 9 | 0

9 / 2 = 4 | 1

4 / 2 = 2 | 0

2 / 2 = 1 | 0

1 / 2 = 1 | 1 старший

Бит, байт и слово.

Минимальная единица цифры - бит. Он может принимать два значения 0 или 1. Единица цифры размером в 8 бит называется байтом. Байт – минимальный объём данных, который реально может использовать компьютерная программа. Ст. бит|7||6||5||4||3||2||1||0|мл. Бит. Т.к. в Байте 8-бит ,то он может принимать 2*e8-1 или 256 различных значений.

Байт используется для представления:

  • целых чисел [0..255]

  • целых чисел со знаком [-128..127]

  • наборов символов ASCII кодов или символов принимающих <256 значений/

Следующий тип данных слово, его размер 2 байта. Может принимать до 2*у16-1=65563 значений.

|15__старший байт____8|7__младший байт____0| Слово или 2Байта используется для представления:

  • целых чисел без знака [0..65563]

  • целых чисел со знаком [-32768..32767]

  • адреса сегментов и адресаций при 16-ти битной адресации.

Два слова подряд образуют двойное слово, состоящее из (32 бит), два двойных-учетверённое (64 бит), слово и двойное слово – основной тип данных.

Шестнадцатеричная система исчисления:

Использует 16 цифр. 0123456789ABCDEF

Номер позиции цифры в числе соответствует степени, в которую надо возвести число 16.

96h , “h” – означает шестнадцатеричную систему исчисления.

9h = 1001b 6h= 0110b

96h = 9*16^1 + 6*16^0 = 150

|_Dec | _ Bin_ | Hex__|

|_0 | _ 0000 | 00 __|

|_1 | _ 0001 | 01 __|

|_2 | _ 0010 | 02 __|

|_3 | _ 0011 | 03 __|

|_4 | _ 0100 | 04 __|

|_5 | _ 0101 | 05 __|

|_6 | _ 0110 | 06 __|

|_7 | _ 0111 | 07 __|

|_8 | _ 1000 | 08 __|

|_9 | _ 1001 | 09 __|

|_10 | _ 1010 | 0A _|

|_11 | _ 1011 | 0B _|

|_12 | _ 1100 | 0C _|

|_13 | _ 1101 | 0D _|

|_14 | _ 1110 | 0E _|

|_15 | _ 1111 | 0F __|

|_16 | _10000 | 10h__|

Числа со знаком.

Чтобы применить арифметические операции для представления отрицательных чисел, Существует специальная операция дополнения до двух. Для изменения знака числа выполняется инверсия, т.е. заменяют в двоичном коде 1 на 0, а 0 на 1, а затем прибавляют 1.

150 = 0096h = 00000000 1010110 в инверсии 11111111 011010101 = 0FF6Ah = -150

2.Организация памяти. Модели памяти.

Любая программа начинаеться с описания модели памяти:

  • самая простая .model tiny – сегментированнная модель памяти (каждый размером). Формирование адреса осуществляется как сегмент + смещение относительно данного сигмента. Память занимает до 4Гб.

  • model small, В данной модели памяти код размещается в одном сегменте, а данные и стек в другом, для их описания могут применяться разные сегменты, но объединённые в одну группу.

  • model compact, В данной модели памяти код размещается в одном сегменте, а для хранения данных может быть использовамно несколько сегментов. Таким образом, для обращения данным требуется указывать сегмент и смещение.

  • model medium, код нескольких сегментах, а данные в одном => для доступа к данным используется только смещение.

  • model large & model huge и код и данные могут занимать несколько сегментов.

  • model flat – память рассмартривается как единый массив, используется 32 битные сегменты, таким образом максимальный размер сегмента содержащие и данные и код и стек достигает 4 Мб.

  • Пример

.model tiny

.data – директива указания ала сегмента данных.

X dB 13,10’Привет’,13,10,$ - под переменную Х выделить память 1 байт, поместить туда “Привет”, 13,10- перевод каретки, ; завершение ввода строки.

.code указывает на начало сегмента кода.

.startup – указывает что далее идёт текст программы.

Команда пересылки данных:

mov пр., аист. – Копирует источник в приёмник, значение источника не изменяеться.

add пр., ист. – сложение, складывание содержимое источника с приёмником, соохраняем в нём результат.

div пр., ист. – деление

mul пр., ист. – умножение

sub пр., ист. – вычитание

В качестве приёмника может использоваться регистры. В качестве источника – регистр, переменная, символьное значение.

Память с точки зрения Центрального процессора – последовательность байтов, каждому из которых присвоен свой уникальный адрес со значение от 0 до 4 Г б. Программы могут работать с памятью как с одним непрерывным массивом и как с несколькими. Во втором случае для задания адреса любого байта требуются два числа: адрес начала массива и адрес искомого байта внутри массива. Помимо основной памяти программы могут использовать регистры - специальные ячейки памяти расположенные физически внутри процессора, доступ к которым осуществляется не по адресам, а по именам. Физический адрес состоит и двух 16-битных частей: адреса сдвинутого относительно адреса сегмента влево на 4 бита, сдвиг влево на 4 бита, эквивалентен умножению на 16. Исполнительный адрес называется эффективным, он всегда кратен 16. Таким образом, физический адрес имеет разрядность в 20 бит: PA = FA*16+EA