Menu
Coddy logo textTech

ASCIIと16進数

CoddyのAssemblyジャーニー「基礎」セクションの一部 — レッスン 13/45。

コンピュータは数字しか理解できません。それでは、「A」、「b」、「?」のような文字はどのように保存されるのでしょうか?

答えは ASCII (American Standard Code for Information Interchange) です。ASCIIは、すべての文字に数値を割り当てるテーブルです。

ASCIIの仕組み:

文字ASCII番号 (10進数)ASCII番号 (16進数)
'A'650x41
'B'660x42
'C'670x43
'a'970x61
'b'980x62
'0'480x30
'1'490x31
' ' (スペース)320x20
'\n' (改行)100x0A
'\0' (ヌル文字)00x00

アセンブリのために覚えておくべき重要なASCII値:

文字16進数必要な理由
'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」という単語は、次のように格納されます:

文字16進数2進数
'H'0x4801001000
'i'0x6901101001
'\n'0x0A00001010

アセンブリでは、これを次のように記述します:db 'Hi', 0x0A

アセンブリでこれが必要な理由:

data.asm で文字列を定義すると、メモリにASCIIコードを格納することになります。文字列をプリントすると、オペレーティングシステムがそれらのASCIIコードを読み取り、対応する文字を表示します。

自分で試してみよう

このレッスンにはコードチャレンジは含まれていません。

quiz icon腕試し

このレッスンには短いクイズがあります。レッスンを始めて解答し、進捗を記録しましょう。

基礎のすべてのレッスン