tailieunhanh - Chương 9: Truy cập trực tiếp vào bộ nhớ
Truy nhập trực tiếp vào bộ nhớ Trong chương này trỡnh bầy cỏc vấn đề: + Hai kiểu địa chỉ: Địa chỉ phõn đoạn và địa chỉ thực + Truy nhập tới địa chỉ phõn đoạn + Đổi từ địa chỉ phõn đoạn sang địa chỉ thực + Bộ nhớ màn hỡnh, truy nhập trực tiếp vào bộ nhớ màn hỡnh + Dựng con trỏ để lấy dữ liệu từ bộ nhớ phõn đoạn + Dựng con trỏ hàm để thực hiện cỏc thủ tục của DOS § 1. Cỏc hàm truy nhập theo địa chỉ phõn đoạn 1. Hàm pokeb:. | chương 9 Truy nhập trực tiếp vào bộ nhớ Trong chưong này trỡnh bầy cỏc vấn đề Hai kiểu địa chỉ Địa chỉ phõn đoạn và địa chỉ thực Truy nhập tới địa chỉ phõn đoạn Đổi từ địa chỉ phõn đoạn sang địa chỉ thục Bộ nhớ màn hỡnh truy nhập trục tiếp vào bộ nhớ màn hỡnh Dựng con trỏ để lấy dữ liệu từ bộ nhớ phõn đoạn Dựng con trỏ hàm để thục hiện cỏc thủ tục của DOS 1. Cỏc hàm truy nhập theo địa chỉ phõn đoạn 1. Hàm pokeb Gửi một ký tụ vào bộ nhớ. Nguyờn mẫu trong nhu sau void pokeb unsigned seg unsigned off char value Cụng dụng Gửi giỏ trị ký tụ value vào bộ nhớ tại địa chỉ phõn đoạn seg off 2. Hàm peekb Nhận một ký tụ từ bộ nhớ. Nguyờn mẫu trong nhu sau char peekb unsigned seg unsigned off Cụng dụng Nhận một byte tại địa chỉ phõn đoạn seg off 3. Hàm poke Gửi một số nguyờn vào bộ nhớ. Nguyờn mẫu trong nhu sau void poke unsigned seg unsigned off int value Cụng dụng Gửi giỏ trị nguyờn value vào bộ nhớ tại địa chỉ phõn đoạn seg off 4. Hàm peek Nhận một số nguyờn từ bộ nhớ. Nguyờn mẫu trong nhu sau 491 Generated by Foxit PDF Creator Foxit Software http For evaluation only. int peek unsigned seg unsigned off Cụng dụng Nhận một word tại địa chỉ phõn đoạn seg off 5. Hàm movedata Sao cỏc byte. Nguyờn mẫu trong như sau void movedata unsigned seg-gui. unsigned off-gui. unsigned seg_nhan unsigned off_nhan int n Cụng dụng Sao n byte từ seg_gui off_gui đến segnhan offnhan 2. Bộ nhớ màn hõnh văn bản . Cỏch biểu diễn ký tự trong bộ nhớ màn hõnh Bộ nhớ màn hỡnh văn bản bắt đầu từ địa chỉ 0xb800 0x0000 Khi đua một ký tụ vào vụng nhớ màn hỡnh thờ nú sẽ hiện lờn màn hỡnh. Mỗi ký tụ trờn màn hỡnh chiếm 2 byte trong bộ nhớ màn hỡnh byte đầu chứa mó ASCII byte thứ hai biểu diễn mầu hiển thị gọi là byte thuộc tớnh. Cỏc bít của byte thuộc tớnh B7B6B5B4B3B2B1B0 đuợc chia làm 3 nhúm Nhúm 1 gồm bit B7 biểu thị sụ nhấp nhỏy. Nếu B7 0 thờ ký tụ khụng nhấp nhỏy nếu B7 l thờ ký tụ sẽ nhấp nhỏy. Nhúm 2 gồm cỏc bít B6 B5 và B4. Cỏc bít này chứa đuợc một
đang nạp các trang xem trước