Hacker - Khái niệm về bit ,byte ,word

LÝ THUYẾT ASSEMBLY

Part 1: Khái niệm về bit ,byte ,word


I. Bộ nhớ

a. Byte:- Các thông tin xử lý được lưu trữ trên bộ nhớ --> Nhóm 8 bits kết hợp lại thành 1 byte nhớ.
- Byte nhớ được xác định bằng 1 con số Address. Byte nhớ đầu tiên có Address = 0. Các byte nhớ có địa chỉ riêng khác nhau và cố định.
- Số bits khả thi của CPU càng cao thì khả năng truy cập byte nhớ càng lớn
- Dữ liệu lưu trong byte nhớ là Content hay còn gọi là Value.
-->> Conten luôn là giá trị 8 bits, trong khi Address byte nhớ phụ thuộc vào số bits khả thi của CPU. (8086 xử dụng Address 20 bits, 80286 thì dùng 24 bits.)
-->> 1 bits có khả năng chứa 2 giá trị (0/1), như vậy với n bits ta chứa được 2n giá trị. Example: 20 bits -->>220 = 1,048,576. Con số này được xem là 1 Mega và 210 là Kilo
b. Word:
- 1 word được tạo thành từ 2 bytes.
- Address thấp hơn (lấy Address của Byte) sẽ được lấy làm Address cho Word. -->> Example: 2 bytes có Address 2,3 tạo thành Word có Address là 2.
II. Ví trị Bits trong Byte or Word:
- Vị trí bit trong Byte/Word được đánh theo thứ tự từ phải sang trái:
7 6 5 4 3 2 1 0
<<-- Vị trí bits trong Byte

15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0
|<------Byte cao------>|<-Byte thấp->|
III. Biểu diễn số nguyên:
- Với một Byte/Word ta có 1 bit msb (Most Significant Bit) và 1 bit lsg (Least Significant Bit)
- msb là bit cuối cùng bên trái (bit 7 đối với Byte, và 15 với Word).
- lsb thì ngược lại, nằm cuối cùng bên phải.
Để biểu diễn một số nguyên ta dùng hết 1 word (16 bits) mà không cần sử dụng bit xác định dấu. Do đó con số nguyên lớn nhất ta có là 1111 1111 1111 1111 = 65535.
-->> Ở đây lsb mang giá trị 0 cho số chẳn và ngược lại.
Đối với số nguyên có dấu, ta sử dụng msb làm bit xác định dấu (0: Dương). Giá trị này lưu trên máy tính dạng số bù 2 (với số âm).
* Số bù 1: Là kết quả phép đảo bits.
0000 0000 0000 0101
--> Bù 1 1111 1111 1111 1010
* Số bù 2: Kết quả phép cộng số bù 1 và 1
--> Bù 1 1111 1111 1111 1010
+ 1
--> Bù 2 1111 1111 1111 1011
Vì sao bù 2 là biểu diễn số âm? Ta lấy con số gốc + bù 2 của nó sẽ cho kết quả là 0 vì msb sẽ bị mất do word chỉ có khả năng lưu giá trị 16 bits. Và suy ra nếu ta lấy bù 2 thêm lần nữa sẽ cho ra giá trị gốc.
***Vấn đề tiếp theo là biểu diễn Value của Bytes hay Word dưới dạng số thập phân.
- Để biểu diễn dạng không dấu đơn giản chỉ là phép tính chuyển cơ số.
- Với dạng có dấu ta chuyển tính dưới dạng bits, lấy bù 2. Con số thập phân của kết quả này là dạng biểu diễn.
-->> Các lưu ý mục này <<--
1. Như đã nói msb = 0 khi là số dương và ngược lại và qua việc test nhiều lần ta có: Các số Hex bắt đầu tứ 0-7 là dương và tiếp theo là âm.
2. Dạng biểu diễn thập phân có dấu và không dấu cho 1 word:
- 0000h-7FFFh: Thập phân có dấu = không dấu.
- 8000h-FFFFh: Có dấu bằng không dấu trừ 65536.
- và tương tự cho 1 byte.
OkAi..Đến đây tạm xong một chút về ASM…..Part tiếp theo là về các thanh ghi, offset…



In bài này
Copyright © 2012-2015 VNCongnghe
Đặt làm trang chủ Đặt làm trang chủ

Trang chủ | Quảng cáo | Liên hệ | RSS | Sitemap | Lên đầu trang