CHNG5:TRUYCPTRCTIPB
§1.CÁCHÀMTRUYCPTHEOĐACHPHÂNĐON
1.Hàmpokeb():Dùnggimtkítvaluevàobnhtiđachphânđon
off.Nguyênmucahàmtrongdos.hlà:
voidpokeb(unsignedseg,unsignedoff,
charvalue)
2.Hàmpeekb():Nhnmtbytetichseg:off.Nguyênmucahàmtrong
dos.hlà:
charpeekb(unsignedseg,unsignedoff)
3.Hàmpoke():Gimtsnguyênvaluevàobtiđachseg:off.Nguyên
muc
ahàmtrongdos.hlà:
voidpoke(unsignedseg,unsignedoff,intvalue)
4.Hàmpeek():Nhnmtwordtiđachseg:off.Nguyênmuhàmtrong
dos.hlà:
voidpeek(unsignedseg,unsignedoff)
5. Hàm movedata(): Sao n byte tiđa ch seg_gui:off_guiđ
nđa ch
seg_nhan:off_nhan.Nguyênmucahàmtrongmenu.hlà:
void movedata(unsigned seg_gui,unsigned off_gui, unsigned
seg_nhan,unsignedoff_nhan,intn)
§1.ĐITĐACHPHÂNĐONSANGĐACHTHC
1.Đitđachthc:Đitđichthc
sangđachphânđontadùng
macrosau:
clrscr();
p=(unsignedcharfar*)MK_FP(0,0);
while(1)
{
printf(\nSohieungat(Bam0deketthuc):);
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(\nDiachicuangat%x:%x,seg,off);
}
}
Shiucamingtđcđánhst0nhngnđcnhpt1,mi
ngtchim4bytenên:
k=
(n1)*4;
52