Tải bản đầy đủ (.pdf) (2 trang)

Bài giảng tin học đại cương C++ (chương 5)

Bạn đang xem bản rút gọn của tài liệu. Xem và tải ngay bản đầy đủ của tài liệu tại đây (163.02 KB, 2 trang )

CHNG5:TRUYCPTRCTIPB

§1.CÁCHÀMTRUYCPTHEOĐACHPHÂNĐON
1.Hàmpokeb():Dùnggimtkítvaluevàobnhtiđachphânđon
off.Nguyênmucahàmtrongdos.hlà:
 voidpokeb(unsignedseg,unsignedoff,
charvalue)

2.Hàmpeekb():Nhnmtbytetichseg:off.Nguyênmucahàmtrong
dos.hlà:
 charpeekb(unsignedseg,unsignedoff)

3.Hàmpoke():Gimtsnguyênvaluevàobtiđachseg:off.Nguyên
muc
ahàmtrongdos.hlà:
 voidpoke(unsignedseg,unsignedoff,intvalue)

4.Hàmpeek():Nhnmtwordtiđachseg:off.Nguyênmuhàmtrong
dos.hlà:
 voidpeek(unsignedseg,unsignedoff)

5. Hàm movedata(): Sao n byte tiđa ch seg_gui:off_guiđ
nđa ch
seg_nhan:off_nhan.Nguyênmucahàmtrongmenu.hlà:
 void movedata(unsigned seg_gui,unsigned off_gui, unsigned
seg_nhan,unsignedoff_nhan,intn)

§1.ĐITĐACHPHÂNĐONSANGĐACHTHC
1.Đitđachthc:Đitđichthc
sangđachphânđontadùng
macrosau:


 unsignedFP_SEG(diachithuc)
unsignedFP_OFF(diachithuc)

2.Đitđachphânđon:Đitđachphânđonsangmacro:
 voidfar*MK_FP(seg:off)
Víd:Saukhithchincáccâu
lnh:
charbuf[100]
 unsignedds,dx;
 ds=FP_SEG(buf)
 dx=FP_OFF(buf)
thìds:dxchađachcamngbuf.
 Saukhithchincâulnh:

51
 char*pchar;
 pchar=(char*)MK_FP(0xb800:0)
thìpchartrtibnhmànhình.Khiđótacóthdùngcáclnhđtruy
cptibnhmànhình.

Chngtrình51:Lpchngtrìnhxácđnhđachc
amtngt.
#include<dos.h>
#include<conio.h>
#include<stdio.h>
voidmain()
{
unsignedcharfar*p;
intn,k;
unsignedseg,off;

clrscr();
p=(unsignedcharfar*)MK_FP(0,0);
while(1)
{
 printf(\nSohieungat(Bam0deketthuc):);
 scanf(%d,&n);
 if(n==0)
break;
 k=(n
1)*4;
 off=p[k]+256*p[k+1];
 seg=p[k+2]+256*p[k+3];
 printf(\nDiachicuangat%x:%x,seg,off);
}
}

 Shiucamingtđcđánhst0nhngnđcnhpt1,mi
ngtchim4bytenên:
 k=
(n1)*4;




52

×