Professional Documents
Culture Documents
Code
Code
h>
main()
{
char *s;
s=(char *)MK_FP(0xB800,0);
s[3998]=0x42; // MA B
s[3999]=0x21; //MAU BLU TREN NEN GREEN
}
----------------------------------
#include<dos.h>
main()
{
char *s;
s = (char*)MK_FP(0xB800,0);
s[1998]=0x44; // Ma D
s[1999]=0x38;
}
------------------------------------
#include<dos.h>
main()
{
char *s;
s = (char*)MK_FP(0xB800,0);
Int h = 20, c= 60,vt;
vt = ((h-1)*80 + c-1)*2; // So luong o nho nam truoc o nho ta xet
s[vt]=0x48; // Ma H
s[vt+1]=0x32; // Mau green tren nen cyan
}
----------------------------------------
Lập trình nhập chuỗi hello màu đỏ nền green ở giữa màn hình 24-72
#include<dos.h>
main()
{
char *s;
s = (char*)MK_FP(0xB800,0);
int h=13 ,c=38, vt;
vt = (h-1)*80 + c-1)*2;
char *ch = "Hello";
for (int i = 0, i < 5, i++) {
s[vt] = ch[i];
s[vt+1] =0x24;
vt+=2;
}
}
----------------------------------------
Lập trình nhập chuỗi hello màu đỏ nền green ở giữa màn hình số 3
#include<dos.h>
#include<conio.h>
main()
{
char *s;
s = (char*)MK_FP(0xB800,0);
int h=13 ,c=38, vt;
vt = (h-1)*80 + c-1)*2 + 4096*3;
char *ch = "Hello";
for (int i = 0, i < 5, i++) {
s[vt] = ch[i];
s[vt+1] =0x24;
vt+=2;
}
Lập trình đọc sector đầu tiên của đĩa cứng vào bộ nhớ
Head() 0
Track() 0 (cylinder)
Sector 1
-----------------------------------------
include<dos.h>
main(){
char A[512];
union REGS b1,b2;
struct SREGS b3; // Chứa các thanh ghi đoạn
b1.h.ah=2;
b1.h.al=1;
b1.h.ch=0;
b1.h.cl=1;
b1.h.dh=0;
b1.h.dl=0x80;
b3.es = FP_SEG(A); // Xác định địa chỉ segment của mảng A
b1.x.bx= FP_OFF(A); // Xác định địa chỉ offset của mảng A
int86x(0x13,&b1,&b2,&b3);
for(int i=0; i<512;i++) cout<<A[i];
}
------------------------------------
Ghi dữ liệu vào sector trên điĩa bằng ngắt 13h chức năng số 3
Ghi chuỗi Hello vào sector thứ 2 trên đĩa cứng
Head=0
Track = 0
Sector=2
include<dos.h>
main(){
char A[512] = "Hello";
union REGS b1,b2;
struct SREGS b3; // Chứa các thanh ghi đoạn
b1.h.ah=3;
b1.h.al=1;
b1.h.ch=0;
b1.h.cl=2;
b1.h.dh=0;
b1.h.dl=0x80;
b3.es = FP_SEG(A); // Xác định địa chỉ segment của mảng A
b1.x.bx= FP_OFF(A); // Xác định địa chỉ offset của mảng A
int86x(0x13,&b1,&b2,&b3);
char *s;
s= (char*)MK_FP(0xB800, 0);
Sau lệnh trên thì s sẽ trỏ tới đầu trang 0 của bộ nhớ hiển thị