ng 4: Mã máy (Computer

ươ Ch codes)

N i dung

ạ ữ ệ

Các lo i d  li u

Mã máy

ể ể

• Dùng đ  bi u di n d  li u bên trong máy tính ễ ữ ệ • Máy tính s  d ng s  nh  phân đ  bi u di n d  li u do đó  ị ố

ể ể ữ ệ ử ụ ễ

mã máy s  d ng mã nh  phân

• Trong mã nh  phân, t

ấ ả ữ ệ ượ ể ở ộ ị t c  d  li u đ ễ c bi u di n b i m t

ử ụ ị nhóm các bits

• M t nhóm 8 bits bi u di n d  li u g i là byte ể • Các mã máy thông d ng: BCD, EBCDIC, ASCII ụ

ộ ễ ữ ệ ọ

Mã BCD (Binary Coded Decimal)

ệ ấ ầ

• M t trong các mã máy xu t hi n đ u tiên • S  d ng 6 bits đ  bi u di n m t ký hi u, trong đó g m 4  ệ ể ể

ễ ộ ồ

bit bi u di n d  li u và 2 bit dành cho mã vùng

• Có th  bi u di n 64 (26) ký t

ộ ử ụ ể ể ể ễ ữ ệ ễ ự khác nhau

Mã BCD (Binary Coded Decimal)

Mã BCD (Binary Coded Decimal)

Mã BCD (Binary Coded Decimal)

• Ví d : Dùng mã BCD bi u di n t

ễ ừ ụ ể ạ ị BASE d ng nh  phân

Mã BCD (Binary Coded Decimal)

• Ví d : bi u di n t

ễ ừ ụ ể ằ ạ DIGIT b ng mã BDC d ng bát phân

Mã BCD (Binary Coded Decimal)

Bài t p 2, 3,4 trang 59 1. Biểu diễn các số thập phân bên dưới bằng hệ nhị

phân 6-bit dưới dạng mã BCD:

a. 2510 b. 6410 c. 12810 d.102410

2. Biểu diễn các từ bên dưới bằng hệ nhị phân dưới dạng mã BCD:

c. CODE

a. BIT b. BYTE d. ZERO

Mã BCD (Binary Coded Decimal)

3. Sử dụng hệ bát phân biểu diễn các từ bên dưới với dạng mã BCD:

a. COMPUTER c. VIDEO b. INPUT d. OUTPUT

ể ể ễ ồ

Mã EBCDIC (Extended Binary Coded Decimal  Interchange Code) • Dùng 8 bits đ  bi u di n m t ký hi u, trong đó bao g m 4  ộ

ệ ữ ệ

ễ ự bit dành cho mã vùng và 4 bit cho d  li u. • Mã EBCDIC có th  bi u di n 256 (28) ký t ể ể khác nhau

Mã EBCDIC (Extended Binary Coded Decimal  Interchange Code)

Mã EBCDIC (Extended Binary Coded Decimal  Interchange Code)

Mã EBCDIC (Extended Binary Coded Decimal  Interchange Code) • Zone decimal number: ể ể ượ ử ụ

ị ủ ố ố ươ

− Đ c  s   d ng  đ   bi u  di n  giá  tr   c a  s   (s   d

ng,  âm,

ệ ậ ụ

không d u) trong mã EBCDIC ộ ố

− Ký hi u đ  bi u di n m t s  trong h  th p l c phân:

ể ể ố ươ

ng

ủ ộ

ệ • C (+): s  d • D (­): s  âmố • F: s  không d u ấ ố ả ạ ị − T i v  trí bên ph i cùng c a Zone ố − Trong m t Zone ch  có m t ký s  trên 1 byte

Mã EBCDIC (Extended Binary Coded Decimal  Interchange Code) • Ví d :ụ

ấ ỉ Giá tr  sị ố EBCDIC ệ D u hi u ch  báo

345 F3F4F5 F cho không d uấ

ố ươ +345 F3F4C5 C cho s  d ng

­345 F3F4D5 D cho s  âmố

Packed decimal numbers

ể ữ ệ ừ

• Mã Packed: Ph i chuy n d  li u t ả c  sau  thì  máy  tính  m i  th c  hi n  đ

ượ ự ạ  Zone sang d ng Packed  ệ ớ c  các

ướ ướ

ấ ả

ệ ệ

ế ự ạ ị ạ i b  lo i ra.

ướ theo  các  b ố ọ phép tính s  h c ả ủ ố  Di chuy n ký hi u d u đ n c c bên ph i c a s . – B c 1: – B  T t c  các ký hi u còn l c 2:

Packed decimal numbers

• Ví d :ụ

ạ ị ạ ị Giá tr  sị ố ự Đ nh d ng khu v c Đ nh d ng đóng gói

345 F3F4F5 345F

345C +345 F3F4C5

345D ­345 F3F4D5

3456 F3F4F5F6 03456F

Packed decimal numbers

• Ví d : ụ Sử dụng hệ nhị phân, biểu diễn từ BIT dưới dạng mã EBCDI. Bao nhiêu bytes được yêu cầu? – B= 1100 0010 trong hệ đếm nhị phân EBCDIC – I = 1100 1001 trong hệ đếm nhị phân EBCDIC – T = 1110 0011 trong hệ đếm nhị phân EBCDIC

Mã EBCDIC cho từ BIT trong nhị phân sẽ là

11000010 11001001 11100011

B

I T

Packed decimal numbers

• Ví d : ụ Dùng mã EBCDIC cho từ ZONE (dùng hệ thập

lục phân). Bao nhiêu bytes được yêu cầu?

– Z = E9 trong hệ đếm thập lục phân EBCDIC – O = D6 trong hệ đếm thập lục phân EBCDIC – N = D5 trong hệ đếm thập lục phân EBCDIC – E = C5 trong hệ đếm thập lục phân EBCDIC Mã EBCDIC cho từ ZONE trong hệ đếm thập lục phân sẽ là:

Giải pháp:

E9 D6 D5          C5

Z O N             E

Packed decimal numbers

• Ví d : dùng mã

EBCDIC biểu diễn số +256 (sử dụng hệ ụ

16). Cần bao nhiêu bytes? +256=F2F5C6 trong EBCDIC

Mỗi chữ số thập lục phân cần 4bits

cần 6 x 4 = 24 bit, hoặc 3 byte (8 bit = 1 byte)

Packed decimal numbers

• Ví  d :  Mã  hóa ­128  theo d ng packed decimal number (s   ử ạ

ậ ụ ầ

ụ d ng th p l c phân). C n bao nhiêu bytes? -128 = F1F2D8 in EBCDIC

• M i ch  s  th p l c phân yêu c u 4 bit và đòi h i ph i có

ầ ả ỏ

. =128D Định dạng đóng gói ỗ ữ ố ậ ụ ữ ố ầ ủ đ y đ  4 ch  s  thâp l c phân

ụ  cần 4 x 4 = 16 bit hoặc 2 byte (8 bit = 1 byte).

Bài t p ậ trang 60

1. S   d ng  h   th p  l c  phân  bi u  di n  các  s   sau  đây  b ng

ệ ậ ụ ử ụ ể ễ ằ ố

mã zoned­decimal:

c) -63 d) -786

ỗ ố

a) 1256 b) +439 ầ C n bao nhiêu bytes cho m i s

2. S  d ng h  th p l c phân bi u di n các s  sau đây b ng

ệ ậ ụ ử ụ ể ễ ằ ố

ỗ ố

c) 872 d) ­256 C n bao nhiêu byte cho m i s

mã packed­decimal: a) 12915 b) +9876

Bài t p ậ trang 60

3. S  d ng h  nh  phân bi u di n các t

ừ ở ạ ị ễ ệ ể sau đây d ng mã

c) CAT

d) DOG ể

ễ ừ ở ạ sau d ng mã EBCDIC:

ử ụ EBCDIC: a) SUN b) MOON ệ ử ụ 4.  S  d ng h  16 bi u di n các t a) PROGRAM c) BYTE b) OUTPUT d) OCTAL

Mã ASCII (American Standard Code for  Information Interchange) • ASCII có hai ki u ASCII­7 và ASCII­8.  ộ

ệ ể

ể − ASCII­7:  s   d ng  7­bits  bi u  di n  m t  ký  hi u,  ASCII­7    khác  nhau,  3  bits  đ u  bi u  di n  mã

ự ễ

ử ụ

bi u  di n  128(27)  kí  t ố vùng, 4 bits sau bi u di n ký s .  ễ − ASCII­8: s  d ng 8­bit bi u di n m t ký hi u, ASCII­7 bi u

khác nhau.

ễ − 128 ký t

ự di n 256 (28) ký t  đ u c a

ự ầ ủ ASCII­7 và ASCII­8 là gi ng nhau

ể ử ụ

Mã ASCII (American Standard Code for  Information Interchange)

Mã ASCII (American Standard Code for  Information Interchange)

Mã ASCII (American Standard Code for  Information Interchange)

ệ ừ ụ ể ị ạ  BOY d ng mã

Mã ASCII (American Standard Code for  Information Interchange) • Ví d : dùng h  nh  phân bi u di n t ệ ASCII­7. C n bao nhiêu byte?

ệ ệ ệ ị ị ị B = 1000010 trong ASCII­7 h  nh  phân O = 1001111 trong ASCII­7 h  nh  phân Y = 1011001 trong ASCII­7 h  nh  phân

ướ ạ BOY d

i d ng mã ASCII­7 1011001 1001111      O                   Y ầ 1000010       B ự ỗ trong ASCII­7 c n 1 byte M i ký t  c n ầ 3 byte

ễ ừ ậ ụ ụ ể

Mã ASCII (American Standard Code for  Information Interchange) • Ví d : Dùng mã th p l c phân bi u di n t

GIRL trong mã

ậ ụ ậ ụ ậ ụ ậ ụ

ệ ậ ụ

47 49 52 4C

G I R L

ASCII­7, c n bao nhiêu bytes ệ ế − G = 47 trong ASCII­7 h  đ m th p l c phân ệ ế – I  = 49 trong ASCII­7 h  đ m th p l c phân ệ ế – R = 52 trong ASCII­7 h  đ m th p l c phân ệ ế – L = 4C trong ASCII­7 h  đ m th p l c phân T  GIRL trong mã ASCII­7 h  th p l c phân:

M i ký t

trong ASCII­7 c n 1 byte

c n ầ 4 byte

ễ ừ ể ị

Mã ASCII (American Standard Code for  Information Interchange) • Ví d : dùng h  nh  phân bi u di n t ệ

SKY trong mã ASCII­

ậ ụ ậ ụ ậ ụ

ệ ế ệ ế ệ ế

ụ ầ

8. C n bao nhiêu byte? – S = 10110011 trong ASCII­8 h  đ m th p l c phân – K = 10101011 trong ASCII­8 h  đ m th p l c phân – Y = 10111001 trong ASCII­8 h  đ m th p l c phân T  SKY trong ASCII­8:

10110011 10101011 10111001         S        K    ự Y ầ ỗ trong mã ASCII­8 c n 1 byte M i ký t c n ầ 3 byte.

ậ ụ

ệ ế

ậ ụ

ệ ế

ậ ụ

ệ ế

ậ ụ

ệ ế

ụ ễ ừ ạ START d ng

Mã ASCII (American Standard Code for  Information Interchange) • Ví d : dùng h  th p l c phân bi u di n t ệ ậ ụ ể ầ mã ASCII­8. C n bao nhiêu byte? – S = B3 trong ASCII­8 h  đ m th p l c phân – T = B4 trong ASCII­8 h  đ m th p l c phân – A = A1 trong ASCII­8 h  đ m th p l c phân – R = B2 trong ASCII­8 h  đ m th p l c phân

S T   A  R

T  STAR trong mã ASCII­8: B3 B4  A1 B2

ỗ ự ầ M i ký t trong ASCII­8 c n 1 byte  c n ầ 4 byte

Bài t pậ

ị ệ ễ ừ ở ạ 1. Dùng  h   nh   phân  bi u  di n  các  t sau  đây d ng  mã

c) DAMP

b) WET

d) TERM

ể ASCII­7 and ASCII­8: a) DRY

ể ễ ừ ở ạ 3. Dùng h  16 bi u di n các t sau đây d ng mã  ASCII­8:

b) TYPE

d) GIVE

ệ a) PRINT c) RUB

Unicode

ế ế

t k  theo chu n qu c t

c thi

ố ế ỗ ợ , h  tr

• T i sao s  d ng Unicode ử ụ ạ ấ ượ ơ − Là b  mã đ n nh t đ ữ t c  các ngôn ng ủ

ấ ể

ộ ấ ả t ặ ể − Cung c p m t cách th ng nh t đ  mã hóa các văn b n đa

• Đ c đi m c a Unicode ố ấ ngôn ngữ

ự ượ ử ụ

ấ ả

− Xác đ nh các mã cho các ký t

c s  d ng trong t

đ

t c  các

ế ớ

i

ự ặ

ngôn ng  trên th  gi − Xác đ nh mã cho các ký t

đ c bi

t, ký hi u toán h c, …

Unicode

ấ ự ớ  v i m t giá tr  s  và m t tên duy nh t ủ ả

ả ệ − Có kh  năng mã hóa nhi u tri u ký t ị ố ỗ − Gán m i ký t ạ ự ơ − T o s  đ n gi n và nh t quán c a mã ascii, ngay c  nh ng   t

ng  ng có cùng m t mã

ự ươ ứ ký t ạ

ộ • Các d ng Unide thông d ng:

− UTF­8 − UTF­16 − UTF­32

ự ắ

ế

Trình t

s p x p (Collating sequence)

• Xác  đ nh  th   t ị

ứ ự ữ ự ượ ử ụ gi a  các  ký  t c  s   d ng  trong    máy đ

ự ắ ự ộ là khác nhau ph  thu c vào

tính • Trình t ạ ụ ệ c s  d ng trên các máy riêng bi t

− Thứ tự sắp xếp các chữ cái (alphabetic order)

ữ ế  s p x p gi a các ký t ượ ử ụ ấ lo i mã máy đ • Thông d ng nh t: ụ

( A < B < C < … < Z ) − Thứ tự sắp xếp các số (numeric order) (0 < 1< 2< … < 9 )

ự ắ

ế

Trình t

s p x p (Collating sequence)

• Ví d : máy tính dùng mã BCD, xác đ nh trình t

ị ự ủ c a các

ự ố

ự ủ

ụ ỗ

s

ự ữ  trình t

ch  cái

c a các

ỗ chu i là:

chu i 23, A1, 1A? − Trong mã BCD, ký t

23 < 1A < A1    23, 1A, A1.

ự ắ

ế

Trình t

s p x p (Collating sequence)

• Ví d : máy tính s  d ng mã EBCDIC,  th  t ử ụ

ứ ự ủ ụ ỗ c a các chu i

trong b ng ch  cái, do

đó chu i s  đ

ự ự ố  s  > ký t ư ế c s p x p nh  sau:

ỗ ẽ ượ ắ 23 > 1A > A1    A1, 1A, 123

23, A1, 1A là gì? − Trong mã EBCDIC, ký t

ự ắ

ế

Trình t

s p x p (Collating sequence)

• Ví d : máy tính s  d ng mã ASCII, xác đ nh trình t

ị ự ủ ụ c a

ỗ ẽ ượ ắ

s  < ký t ế

ự ữ ự ố  ch .  ư c s p x p nh  sau:

ử ụ các chu i 23, A1, 1A? − Trong mã ASCII, ký t − Do đó chu i s  đ

1A < 23 

Bài t pậ

ả ự cho các kí t .

ộ ộ ế ế ỗ ử ụ 1. M t máy tính s  d ng mã n i b  miêu t  s p x p các chu i sau th  nào?

ộ ứ ự ắ Th  t        a. ABC        b. 123        c. 245        d. ADD

Bài t pậ

ử ụ ứ ự ủ ộ ị 2. M t máy tính s  d ng ASCII. Xác đ nh th  t c a các

ỗ chu i sau:

a. BED       b. 512       c. 400       d. 128       e. BAD

Bài t pậ

ế t 4­bit, mã BCD cho s  sau đây:  3. Vi 2510 a) b) 6410 12810 c) d) 102410 ử ụ ị ệ ễ ằ ừ ể 5. S  d ng h  nh  phân, bi u di n b ng mã BCD cho các t

sau: a. BIT b. BYTE c. ZERO

Bài t pậ

5. S  d ng h  bát phân bi n di n các t

ễ ể ừ ệ bên d ướ ở ạ i d ng

ể ạ ừ ử ụ mã BCD:         a. COMPUTER        b. VIDEO        c. INPUT        d. OUTPUT ệ ị ễ 7. Dùng h  nh  phân, bi u di n d ng mã EBCDIC cho các t

sau?        a. SUN        b. MOON        c. CAT        d. DOG

Bài t pậ

ừ t mã EBCDIC cho các t sau, ệ ậ ụ 7. Dùng h  th p l c phân, vi

ế ỗ ừ ầ c n bao nhiêu bytes cho m i t ? a) PROGRAM b) OUTPUT c) BYTE d) OCTAL

ệ ậ ụ ử ụ ế ố ậ 9. S  d ng h  th p l c phân, vi t mã cho các s  th p phân

sau: a) 1256 b) +439 ­63 c) ­786 d)

Bài t pậ

a) PRINT b) TYPE c) RUB d) GIVE

ệ ậ ụ ử ụ ế 9. S  d ng h  th p l c phân, vi ố ậ t mã cho s  th p phân sau:

ả ự cho các kí t .

123 245

ộ ộ ế ế ỗ ử ụ 11. M t máy tính s  d ng mã n i b  miêu t  s p x p các chu i sau th  nào?

ộ ứ ự ắ Th  t a) ABC b) c) d) ADD

Câu h iỏ

• T i sao mã EBCDIC đ • Có bao nhiêu ký t

ở ộ c m  r ng t ượ ự ừ  mã BCD? ở ễ ể ượ  khác nhau đ c bi u di n b i các mã

sau:        a. BCD        b. EBDIC        c. ASCII­7        d. ASCII­8

Câu h iỏ

• T i sao ph i s  d ng d ng mã Packed decimal, s  khác

ả ử ụ ự ạ ạ

ữ ạ nhau gi a d ng decimal và packed decimal

• S  gi ng và khác nhau gi a ASCII 7­bit và ASCII 8­bit ữ

ự ố