Menu
Coddy logo textTech

ASCII и Hex

Часть раздела Основы путешествия по Assembly на Coddy. Урок 13 из 45.

Компьютеры понимают только числа. Так как же они хранят такие буквы, как 'A', 'b' или '?'?

Ответ — ASCII (американский стандартный код для обмена информацией). ASCII — это таблица, которая назначает каждому символу число.

Как работает ASCII:

СимволНомер ASCII (десятичный)Номер ASCII (шестнадцатеричный)
'A'650x41
'B'660x42
'C'670x43
'a'970x61
'b'980x62
'0'480x30
'1'490x31
' ' (пробел)320x20
'\n' (новая строка)100x0A
'\0' (нулевой символ)00x00

Важные значения ASCII, которые нужно запомнить для ассемблера:

СимволHexЗачем это нужно
'A'0x41С этого значения начинаются буквы верхнего регистра
'a'0x61С этого значения начинаются буквы нижнего регистра
'0'0x30С этого значения начинаются цифры
Пробел0x20Разделение слов
Новая строка (\n)0x0AПереход к следующей строке
Нулевой символ (\0)0x00Маркер конца строки

Обратите внимание на закономерность:

ЗакономерностьПример
Прописные A-Z идут подряд'A'=65, 'B'=66, 'C'=67...
Строчные a-z идут подряд'a'=97, 'b'=98, 'c'=99...
Цифры 0-9 идут подряд'0'=48, '1'=49, '2'=50...
Строчная буква = прописная буква + 32'a' (97) = 'A' (65) + 32

Как строка хранится в памяти:

Слово "Hi" с символом новой строки хранится так:

СимволШестнадцатеричныйДвоичный
'H'0x4801001000
'i'0x6901101001
'\n'0x0A00001010

В ассемблере это записывается так: db 'Hi', 0x0A

Зачем это нужно для ассемблера:

Когда вы определяете строку в data.asm, вы сохраняете коды ASCII в памяти. Когда вы выводите строку, операционная система считывает эти коды ASCII и отображает соответствующие символы.

Попробуйте сами

В этом уроке нет задания по программированию.

quiz iconПроверьте себя

В этом уроке есть небольшой тест. Начните урок, чтобы ответить на вопросы и сохранить прогресс.

Все уроки раздела Основы

Потренируйтесь самостоятельно: Песочница Assembly