Menu
CoddyTech

ASCII và hệ thập lục phân

Thuộc phần Kiến thức nền tảng trong hành trình Assembly của Coddy. Bài học 13 trên 45.

Máy tính chỉ hiểu các con số. Vậy chúng lưu trữ các chữ cái như 'A', 'b' hoặc '?' bằng cách nào?

Đáp án là ASCII (American Standard Code for Information Interchange). ASCII là một bảng gán một số cho mỗi ký tự.

Cách ASCII hoạt động:

Ký tựSố ASCII (thập phân)Số ASCII (thập lục phân)
'A'650x41
'B'660x42
'C'670x43
'a'970x61
'b'980x62
'0'480x30
'1'490x31
' ' (dấu cách)320x20
'\n' (xuống dòng)100x0A
'\0' (ký tự null)00x00

Các giá trị ASCII quan trọng cần ghi nhớ khi lập trình hợp ngữ:

Ký tựHệ thập lục phânLý do cần biết
'A'0x41Các chữ cái viết hoa bắt đầu từ đây
'a'0x61Các chữ cái viết thường bắt đầu từ đây
'0'0x30Các chữ số bắt đầu từ đây
Dấu cách0x20Dùng để phân tách các từ
Dòng mới (\n)0x0AChuyển sang dòng tiếp theo
Ký tự null (\0)0x00Ký hiệu kết thúc chuỗi

Hãy chú ý đến quy luật:

Quy luậtVí dụ
Các chữ cái viết hoa từ A đến Z nằm liên tiếp nhau'A'=65, 'B'=66, 'C'=67...
Các chữ cái viết thường từ a đến z nằm liên tiếp nhau'a'=97, 'b'=98, 'c'=99...
Các chữ số từ 0 đến 9 nằm liên tiếp nhau'0'=48, '1'=49, '2'=50...
Chữ thường = chữ hoa + 32'a' (97) = 'A' (65) + 32

Cách chuỗi được lưu trong bộ nhớ:

Từ "Hi" kèm ký tự xuống dòng được lưu như sau:

Ký tựHệ thập lục phânNhị phân
'H'0x4801001000
'i'0x6901101001
'\n'0x0A00001010

Trong hợp ngữ, bạn viết như sau: db 'Hi', 0x0A

Tại sao bạn cần biết điều này khi học hợp ngữ:

Khi định nghĩa một chuỗi (string) trong data.asm, bạn lưu các mã ASCII trong bộ nhớ. Khi in ra một chuỗi, hệ điều hành đọc các mã ASCII đó và hiển thị những ký tự tương ứng.

Tự làm thử

Bài học này không có thử thách code.

quiz iconTự kiểm tra

Bài học này có một bài trắc nghiệm ngắn. Bắt đầu bài học để trả lời và theo dõi tiến độ.

Tất cả bài học trong Kiến thức nền tảng

Tự luyện tập: Playground Assembly

Tra mã của ký tự bất kỳ: Công cụ chuyển đổi ASCII