Chương 9: Truy cập trực tiếp vào bộ nhớ
Số trang: 7
Loại file: pdf
Dung lượng: 124.44 KB
Lượt xem: 15
Lượt tải: 0
Xem trước 2 trang đầu tiên của tài liệu này:
Thông tin tài liệu:
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:...
Nội dung trích xuất từ tài liệu:
Chương 9: Truy cập trực tiếp vào bộ nhớ Generated by Foxit PDF Creator © Foxit Software http://www.foxitsoftware.com For evaluation only. int peek(unsigned seg, unsigned off); chương 9 T ruy nhập trực tiếp vào bộ nhớ + 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. Trong chương này trỡnh bầy cỏc vấn đề: + Nguyờn mẫu trong mem.h như sau: + Hai kiểu địa chỉ: Địa chỉ phõn đoạn và địa chỉ thực void movedata(unsigned seg_gui, unsigned off_gui, + Truy nhập tới địa chỉ phõn đoạn unsigned seg_nhan, unsigned off_nhan, int n); + Đổi từ địa chỉ phõn đoạn sang địa chỉ thực + Cụng dụng: Sao n byte từ seg_gui:off_gui đến + Bộ nhớ màn hỡnh, truy nhập trực tiếp vào bộ nhớ màn hỡnh seg_nhan:off_nhan + 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 § 2. Bộ nhớ màn hỡnh văn bản § 1. Cỏc hàm truy nhập theo địa chỉ phõn đoạn 2.1. 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ỉ : 1. Hàm pokeb: Gửi một ký tự vào bộ nhớ. (0xb800:0x0000) + Nguyờn mẫu trong dos.h như sau: Khi đưa một ký tự vào vựng nhớ màn hỡnh, thỡ nú sẽ hiện lờn void pokeb(unsigned seg, unsigned off, char value); màn hỡnh. Mỗi ký tự trờn màn hỡnh chiếm 2 byte trong bộ nhớ màn + Cụng dụng: Gửi giỏ trị ký tự value vào bộ nhớ tại địa chỉ phõn hỡnh: byte đầu chứa mó ASCII, byte thứ hai biểu diễn mầu hiển thịđoạn seg:off gọi là byte thuộc tớnh. Cỏc bit của byte thuộc tớnh: 2. Hàm peekb: Nhận một ký tự từ bộ nhớ. B7B6B5B4B3B2B1B0 + Nguyờn mẫu trong dos.h như sau: được chia làm 3 nhúm: char peekb(unsigned seg, unsigned off); + 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=1 thỡ ký tự sẽ nhấp nhỏy. + Cụng dụng: Nhận một byte tại địa chỉ phõn đoạn seg:off + Nhúm 2 gồm cỏc bit B6, B5 và B4. Cỏc bit này chứa được một 3. Hàm poke: Gửi một số nguyờn vào bộ nhớ. số nguyờn từ 0 đến 7 và biểu thị 8 mầu nền của ký tự. + Nguyờn mẫu trong dos.h như sau: + Nhúm 3 gồm cỏc bit B3, B2, B1 và B0. Cỏc bit này chứa được void poke(unsigned seg, unsigned off, int value); một số nguyờn từ 0 đến 15 và biểu thị 16 mầu của ký tự. + Cụng dụng: Gửi giỏ trị nguyờn value vào bộ nhớ tại địa chỉ 2.2. Trang màn hỡnhphõn đoạn seg:off Mỗi trang màn hỡnh gồm 80x25 ký tự, do đú cần 80x25x2=4000 4. Hàm peek: Nhận một số nguyờn từ bộ nhớ. byte bộ nhớ. Thực tế mỗi trang màn hỡnh được phõn bố 4096 = + Nguyờn mẫu trong dos.h như sau: 0x1000 byte. Như vậy 4 trang màn hỡnh được phõn bố như sau: 491 492 Generated by Foxit PDF Creator © Foxit Software ...
Nội dung trích xuất từ tài liệu:
Chương 9: Truy cập trực tiếp vào bộ nhớ Generated by Foxit PDF Creator © Foxit Software http://www.foxitsoftware.com For evaluation only. int peek(unsigned seg, unsigned off); chương 9 T ruy nhập trực tiếp vào bộ nhớ + 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. Trong chương này trỡnh bầy cỏc vấn đề: + Nguyờn mẫu trong mem.h như sau: + Hai kiểu địa chỉ: Địa chỉ phõn đoạn và địa chỉ thực void movedata(unsigned seg_gui, unsigned off_gui, + Truy nhập tới địa chỉ phõn đoạn unsigned seg_nhan, unsigned off_nhan, int n); + Đổi từ địa chỉ phõn đoạn sang địa chỉ thực + Cụng dụng: Sao n byte từ seg_gui:off_gui đến + Bộ nhớ màn hỡnh, truy nhập trực tiếp vào bộ nhớ màn hỡnh seg_nhan:off_nhan + 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 § 2. Bộ nhớ màn hỡnh văn bản § 1. Cỏc hàm truy nhập theo địa chỉ phõn đoạn 2.1. 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ỉ : 1. Hàm pokeb: Gửi một ký tự vào bộ nhớ. (0xb800:0x0000) + Nguyờn mẫu trong dos.h như sau: Khi đưa một ký tự vào vựng nhớ màn hỡnh, thỡ nú sẽ hiện lờn void pokeb(unsigned seg, unsigned off, char value); màn hỡnh. Mỗi ký tự trờn màn hỡnh chiếm 2 byte trong bộ nhớ màn + Cụng dụng: Gửi giỏ trị ký tự value vào bộ nhớ tại địa chỉ phõn hỡnh: byte đầu chứa mó ASCII, byte thứ hai biểu diễn mầu hiển thịđoạn seg:off gọi là byte thuộc tớnh. Cỏc bit của byte thuộc tớnh: 2. Hàm peekb: Nhận một ký tự từ bộ nhớ. B7B6B5B4B3B2B1B0 + Nguyờn mẫu trong dos.h như sau: được chia làm 3 nhúm: char peekb(unsigned seg, unsigned off); + 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=1 thỡ ký tự sẽ nhấp nhỏy. + Cụng dụng: Nhận một byte tại địa chỉ phõn đoạn seg:off + Nhúm 2 gồm cỏc bit B6, B5 và B4. Cỏc bit này chứa được một 3. Hàm poke: Gửi một số nguyờn vào bộ nhớ. số nguyờn từ 0 đến 7 và biểu thị 8 mầu nền của ký tự. + Nguyờn mẫu trong dos.h như sau: + Nhúm 3 gồm cỏc bit B3, B2, B1 và B0. Cỏc bit này chứa được void poke(unsigned seg, unsigned off, int value); một số nguyờn từ 0 đến 15 và biểu thị 16 mầu của ký tự. + Cụng dụng: Gửi giỏ trị nguyờn value vào bộ nhớ tại địa chỉ 2.2. Trang màn hỡnhphõn đoạn seg:off Mỗi trang màn hỡnh gồm 80x25 ký tự, do đú cần 80x25x2=4000 4. Hàm peek: Nhận một số nguyờn từ bộ nhớ. byte bộ nhớ. Thực tế mỗi trang màn hỡnh được phõn bố 4096 = + Nguyờn mẫu trong dos.h như sau: 0x1000 byte. Như vậy 4 trang màn hỡnh được phõn bố như sau: 491 492 Generated by Foxit PDF Creator © Foxit Software ...
Tìm kiếm theo từ khóa liên quan:
kỹ thuật lập trình giáo trình kỹ thuật lập trình bài tập kỹ thuật lập trình tài liệu kỹ thuật lập trình chuyên ngành kỹ thuật lập trìnhGợi ý tài liệu liên quan:
-
Kỹ thuật lập trình trên Visual Basic 2005
148 trang 247 0 0 -
NGÂN HÀNG CÂU HỎI TRẮC NGHIỆM THIẾT KẾ WEB
8 trang 188 0 0 -
Giới thiệu môn học Ngôn ngữ lập trình C++
5 trang 181 0 0 -
Bài giảng Nhập môn về lập trình - Chương 1: Giới thiệu về máy tính và lập trình
30 trang 147 0 0 -
Luận văn: Nghiên cứu kỹ thuật giấu tin trong ảnh Gif
33 trang 147 0 0 -
Báo cáo thực tập Công nghệ thông tin: Lập trình game trên Unity
27 trang 115 0 0 -
Giáo trình về phân tích thiết kế hệ thống thông tin
113 trang 113 0 0 -
LUẬN VĂN: Tìm hiểu kỹ thuật tạo bóng cứng trong đồ họa 3D
41 trang 104 0 0 -
Bài giảng Kỹ thuật lập trình - Chương 10: Tổng kết môn học (Trường Đại học Bách khoa Hà Nội)
67 trang 102 0 0 -
Giáo trình Nhập môn lập trình VB6: Phần 2
184 trang 84 0 0