0xB8000000 là địa chỉ của buffer màn hình ở chế độ text. 0x0742 gồm có 8 bit thấp là 0x42 ( mã ascii của ký tự 'B' ) và 8 bit cao 0x07 là màu chữ xám nền đen. *p = 0x0742 tức là in vào tọa độ (0,0) ký tự 'B' có màu xám nền đen.
màn hình xuất hiện BA thay vì AA mình ko hiểu tại sao?? ai biết giải thích giùm mình với! mình chạy trên Borland C.C Code:
#include "stdio.h" #include "conio.h" void main() { unsigned int far *p; p=(unsigned int far *) 0xB8000000; *p= 0x0742; }
lưu ý: Tiêu đề bài viết và bài viết phải có dấu, code bỏ trong tag code. đọc nội qui để biết thêm chi tiết
Đã được chỉnh sửa lần cuối bởi zkday2686 : 30-09-2008 lúc 09:42 PM.
0xB8000000 là địa chỉ của buffer màn hình ở chế độ text. 0x0742 gồm có 8 bit thấp là 0x42 ( mã ascii của ký tự 'B' ) và 8 bit cao 0x07 là màu chữ xám nền đen. *p = 0x0742 tức là in vào tọa độ (0,0) ký tự 'B' có màu xám nền đen.
Đã được chỉnh sửa lần cuối bởi meoconlongvang : 30-09-2008 lúc 09:51 PM.
Càng yêu mèo thì mèo càng mập. Mèo càng mập ta lại càng yêu.
vậy là chữ B ghi đè lên chữ A phải hông bạn
cho mình hỏi thêm vì sao với đoạn code trên chạy ở LCC-win32 thì không chạy được vậy?
win32 quản lý bộ nhớ bằng protected mode khác với mô hình bộ nhớ trong dos real mode. Trong win32 ko có buffer cho màn hình text, chỉ có buffer cho màn hình đồ họa và địa chỉ trong đoạn code trên cũng ko còn đúng nữa.
Càng yêu mèo thì mèo càng mập. Mèo càng mập ta lại càng yêu.
Vậy trên LCC có các tác động khác để cho ra kết quả giống BC3.1 được không?
Nếu có thì viết code thế nào
PS: Để tìm hiểu thêm về vấn đề này, có thể tìm đọc ở những tài liệu nào vậy? Có thể cho mình xin tên một vài quyển sách (hoặc ebook) về vấn đề này không
Đã được chỉnh sửa lần cuối bởi NapoleonVN : 06-10-2008 lúc 12:03 AM.
Càng yêu mèo thì mèo càng mập. Mèo càng mập ta lại càng yêu.