Ассемблер Это просто! Учимся программировать


ГЛАВА 03


  • . Если Вы полностью разберетесь во всем в данной главе, то считайте, что базу Ассемблера Вы изучили. Со следующего раздела будем изучать язык намного интенсивней.

    Для того, чтобы получше понять сегментацию памяти, нам нужно воспользоваться отладчиком. Я работал с CodeView (CV.EXE) и AFD Pro (AFD.EXE).

    Допустим, Вы написали программу на ассемблере и назвали ее lesson3.asm. Сассемблировав, Вы получили файл lesson3.com. Тогда, чтобы запустить ее под отладчиком CodeView / AFD, необходимо набрать в командной строке MS-DOS следующее:

    CV.EXE lesson3.com

    либо:

    AFD.EXE lesson3.com

    Итак, вдохните поглубже и - вперед!

    Рассмотрим, как в памяти компьютера хранятся данные. Вообще, как компьютер может хранить, например, слово "диск"? Главный принцип - намагничивание и размагничивание одной дорожки (назовем ее так). Одна микросхема памяти - это, грубо говоря, огромное количество дорожек (примерно как на магнитофонной кассете). Сейчас попробуем разобраться.

    Предположим, что:

    нуль будет обозначаться как 0000 (четыре нуля),

    Один - 0001,

    Два - 0010 (т.е. правую единицу заменяем на 0, а вторую устанавливаем в 1).

    Далее так:

    Три - 0011

    Четыре - 0100

    Пять - 0101

    Шесть - 0110

    Семь - 0111

    Восемь - 1000

    Девять - 1001

    и т.д.

    Уловили принцип? "0" и "1" - это т.н. биты. Один бит, как Вы уже заметили, может быть нулем или единицей, т.е. размагничена или намагничена та или иная дорожка ("0" и "1" - это условное обозначение). Присмотревшись, можно обнаружить, что каждый следующий установленный бит (начиная справа) увеличивает число в два раза: 0001 в нашем примере - единица; 0010 - два; 0100 - четыре; 1000 - восемь и т.д. Это и есть т.н. двоичная форма представления данных.

    Т.о., чтобы обозначить числа от 0 до 9, нам нужно четыре бита (хоть они и не до конца использованы. Можно было бы продолжить: десять - 1010, одиннадцать - 1011…, пятнадцать - 1111).

    Компьютер хранит данные в памяти именно так. Для обозначения какого-нибудь символа (цифры, буквы, запятой, точки...) в компьютере используется определенное количество бит. Компьютер "распознает" 256 (от 0 до 255) различных символов по их коду. Этого достаточно, чтобы вместить все цифры (0 - 9), буквы латинского алфавита (a - z, A - Z), русского (а - я, А - Я) и др. Для представления символа с максимально возможным кодом (255) нужно 8 бит. Эти 8 бит называются байтом. Т.о. один любой символ - это всегда 1 байт (см. рис. 1).




    Начало  Назад  Вперед



    Книжный магазин