青青草原综合久久大伊人导航_色综合久久天天综合_日日噜噜夜夜狠狠久久丁香五月_热久久这里只有精品

posts - 297,  comments - 15,  trackbacks - 0
在我們的C/C++學習生涯中、在我們大腦的印象里,通常只有指針的概念,很少聽說指針還有遠、近、巨之分的,從沒聽說過什么近指針、遠指針和巨指針。
可以,某年某月的某一天,你突然看到這樣的語句:
char near *p; /*定義一個字符型“近”指針*/
char far *p; /*定義一個字符型“遠”指針*/
char huge *p; /*定義一個字符型“巨”指針*/
實在不知道語句中的“near”、“far”、“huge”是從哪里冒出來的,是個什么概念!本文試圖對此進行解答,解除許多人的困惑。
這一點首先要從8086處理器體系結構和匯編淵源講起。大家知道,8086是一個16位處理器,它設定了四個段寄存器,專門用來保存段地址:CS(Code Segment):代碼段寄存器;DS(Data Segment):數據段寄存器;SS(Stack Segment):堆棧段寄存器;ES(Extra Segment):附加段寄存器。8086采用段式訪問,訪問本段(64K范圍內)的數據或指令時,不需要變更段地址(意味著段地址寄存器不需修改),而訪問本段范圍以外的數據或指令時,則需要變更段地址(意味著段地址寄存器需要修改)。
因此,在16位處理器環境下,如果訪問本段內地址的值,用一個16位的指針(表示段內偏移)就可以訪問到;而要訪問本段以外地址的值,則需要用16位的段內偏移+16位的段地址,總共32位的指針。
這樣,我們就知道了遠、近指針的區別:
Ø 近指針是只能訪問本段、只包含本段偏移的、位寬為16位的指針;
Ø 遠指針是能訪問非本段、包含段偏移和段地址的、位寬為32位的指針。
近指針只能對64k字節數據段內的地址進行存取,如:
char near *p;
p=(char near *)0xffff;
遠指針是32位指針,它表示段地址:偏移地址,遠指針可以進行跨段尋址,可以訪問整個內存的地址。如定義遠程指針p指向0x1000段的0x2號地址,即1000:0002,則可寫作:
char far *p;
p=(char far *)0x10000002;
除了遠指針和近指針外,還有一個巨指針的概念。
和遠指針一樣,巨指針也是32位的指針,指針也表示為16位段:16位偏移,也可以尋址任何地址。它和遠指針的區別在于進行了規格化處理。遠指針沒有規格化,可能存在兩個遠指針實際指向同一個物理地址,但是它們的段地址和偏移地址不一樣,如23B0:0004和23A1:00F4都指向同一個物理地址23604!巨指針通過特定的例程保證:每次操作完成后其偏移量均小于10h,即只有最低4位有數值,其余數值都被進位到段地址上去了,這樣就可以避免Far指針在64K邊界時出乎意料的回繞的行為。當然,一次操作必須小于64K。下面的函數可以將遠指針轉換為巨指針:
void normalize(void far ** p)
{
  *p=(void far *)(((long)*p&0xffff000f)+(((long)*p&0x0000fff00<<12));
}
從上面的函數中我們再一次看到了指針之指針的使用,這個函數要修改指針的值,因此必須傳給它的指針的指針作為參數。
講到這里,筆者要強調的是:近指針、遠指針、巨指針是段尋址的16bit處理器的產物(如果處理器是16位的,但是不采用段尋址的話,也不存在近指針、遠指針、巨指針的概念),當前普通PC所使用的32bit處理器(80386以上)一般運行在保護模式下的,指針都是32位的,可平滑地址,已經不分遠、近指針了。但是在嵌入式系統領域下,8086的處理器仍然有比較廣泛的市場,如AMD公司的AM186ED、AM186ER等處理器,開發這些系統的程序時,我們還是有必要弄清楚指針的尋址范圍。
如果讀者還想更透徹地理解本文講解的內容,不妨再溫習一下微機原理、8086匯編,并參考C/C++高級編程書籍的相關內容。
posted on 2008-07-23 16:27 chatler 閱讀(127) 評論(0)  編輯 收藏 引用 所屬分類: C++_BASIS
<2025年9月>
31123456
78910111213
14151617181920
21222324252627
2829301234
567891011

常用鏈接

留言簿(10)

隨筆分類(307)

隨筆檔案(297)

algorithm

Books_Free_Online

C++

database

Linux

Linux shell

linux socket

misce

  • cloudward
  • 感覺這個博客還是不錯,雖然做的東西和我不大相關,覺得看看還是有好處的

network

OSS

  • Google Android
  • Android is a software stack for mobile devices that includes an operating system, middleware and key applications. This early look at the Android SDK provides the tools and APIs necessary to begin developing applications on the Android platform using the Java programming language.
  • os161 file list

overall

搜索

  •  

最新評論

閱讀排行榜

評論排行榜

青青草原综合久久大伊人导航_色综合久久天天综合_日日噜噜夜夜狠狠久久丁香五月_热久久这里只有精品
  • <ins id="pjuwb"></ins>
    <blockquote id="pjuwb"><pre id="pjuwb"></pre></blockquote>
    <noscript id="pjuwb"></noscript>
          <sup id="pjuwb"><pre id="pjuwb"></pre></sup>
            <dd id="pjuwb"></dd>
            <abbr id="pjuwb"></abbr>
            欧美三级日本三级少妇99| 亚洲自拍16p| 免费观看久久久4p| 亚洲人成毛片在线播放| 亚洲免费观看高清在线观看 | av成人免费观看| 欧美三日本三级少妇三2023| 亚洲一区免费视频| 亚洲欧美在线播放| 黑丝一区二区三区| 亚洲区中文字幕| 欧美日韩精品| 久久高清福利视频| 久久综合99re88久久爱| 99re在线精品| 亚洲在线黄色| 亚洲国产欧美精品| 中文在线资源观看网站视频免费不卡 | 国产日韩一区二区三区在线| 狼人社综合社区| 欧美激情一区| 欧美在线不卡视频| 欧美大片一区二区三区| 亚洲欧美中文日韩在线| 久久免费精品视频| 亚洲欧美清纯在线制服| 久久这里只精品最新地址| 亚洲一区二区三区久久| 久久久www成人免费精品| 91久久精品国产91久久| 亚洲永久免费| 99国产精品| 久久www成人_看片免费不卡| 一本久久知道综合久久| 久久精品99| 亚洲一二三区精品| 免费亚洲网站| 久久久久久高潮国产精品视| 国产精品成人一区二区三区夜夜夜 | 国产免费亚洲高清| 91久久综合| 在线观看亚洲| 欧美一级片一区| 亚洲综合三区| 欧美精品videossex性护士| 久久综合久久久久88| 国产精品久久久久毛片软件| 亚洲精品乱码久久久久久蜜桃麻豆| 国产自产女人91一区在线观看| 一区二区欧美日韩| 亚洲欧美视频在线观看| 欧美精品在线免费播放| 欧美激情视频一区二区三区不卡| 国产亚洲成精品久久| 亚洲一区欧美激情| 亚洲在线视频免费观看| 欧美日韩精品一区视频| 91久久午夜| 日韩午夜在线| 欧美精品首页| 最新国产乱人伦偷精品免费网站 | 亚洲国产免费| 美女露胸一区二区三区| 欧美成人情趣视频| 在线欧美小视频| 老司机67194精品线观看| 久久中文字幕一区| 亚洲国产精品久久久| 久久亚洲视频| 欧美搞黄网站| 亚洲国产视频直播| 欧美激情1区| 一本一道久久综合狠狠老精东影业 | 久久久亚洲国产美女国产盗摄| 国产中文一区二区三区| 久久久亚洲午夜电影| 欧美wwwwww| 亚洲乱码国产乱码精品精天堂| 欧美激情视频在线播放| 亚洲免费av片| 久久精品国产第一区二区三区| 韩日在线一区| 欧美高清视频www夜色资源网| 亚洲精品久久久一区二区三区| 亚洲一区在线播放| 国产欧美日韩一级| 久久久一二三| 亚洲理论电影网| 久久er99精品| 亚洲国产一成人久久精品| 欧美日韩精品欧美日韩精品一| 亚洲一区二区欧美| 乱码第一页成人| 亚洲精品中文字幕有码专区| 国产精品九九| 六十路精品视频| 亚洲视频大全| 欧美成人精品在线| 午夜一区二区三区在线观看| 伊人色综合久久天天五月婷| 欧美日韩一区二区三区免费 | 宅男噜噜噜66一区二区66| 久久精品30| 亚洲视频免费看| 在线观看亚洲视频啊啊啊啊| 欧美日韩一级大片网址| 久久黄色小说| 亚洲午夜精品网| 亚洲国产成人久久综合一区| 欧美一区二区三区在线观看视频 | 久久精品国产99| 亚洲美女av网站| 国产一区清纯| 欧美日韩一卡| 欧美岛国激情| 久久国产加勒比精品无码| 日韩午夜免费| 免播放器亚洲一区| 亚洲在线一区二区| 亚洲人体偷拍| 一区免费在线| 国产欧美一区二区精品性| 欧美日韩亚洲一区二区三区在线| 蜜臀av性久久久久蜜臀aⅴ四虎| 亚洲欧美影音先锋| 中文网丁香综合网| 亚洲激情影视| 亚洲电影免费在线观看| 鲁大师影院一区二区三区| 久久精品国产96久久久香蕉| 欧美一级片久久久久久久| 亚洲色在线视频| 一区二区三区 在线观看视频| 亚洲欧洲精品一区二区精品久久久| 国模精品娜娜一二三区| 国产精品一区免费观看| 国产精品久久久久久久久久久久久| 欧美美女操人视频| 欧美精品一区二区三区蜜桃| 欧美黄色成人网| 欧美日韩第一区| 欧美午夜一区二区福利视频| 国产精品theporn| 国产精品免费视频xxxx| 国产精品日本精品| 国产精品一卡二卡| 国产视频在线观看一区二区三区| 国产精品久久久一区麻豆最新章节| 国产精品www| 国产精品久久久久久久久果冻传媒| 国产精品xxxxx| 国产精自产拍久久久久久| 国产日韩成人精品| 国产主播一区| 亚洲青色在线| 亚洲一区二区三区高清 | 榴莲视频成人在线观看| 老司机成人网| 亚洲人成网站在线播| 一本色道久久加勒比88综合| 午夜久久久久久久久久一区二区| 欧美一区二区三区四区高清| 久久一本综合频道| 欧美精品一区二区三区很污很色的| 国产精品理论片| 精品二区久久| 亚洲视频观看| 久久久久一区二区| 亚洲国产清纯| 亚洲欧美日本另类| 卡通动漫国产精品| 欧美日韩免费精品| 国模 一区 二区 三区| 亚洲精品乱码久久久久久日本蜜臀| 亚洲在线视频网站| 欧美成人情趣视频| 亚洲性线免费观看视频成熟| 久久亚洲精品伦理| 国产精品久久久久久久久久免费| 国产一区二区三区久久久久久久久| 亚洲精品国产品国语在线app| 亚洲欧美日韩综合| 亚洲国产精品毛片| 欧美一级久久久| 欧美激情偷拍| 精品不卡一区| 午夜精品国产更新| 一本色道久久综合亚洲精品高清 | 国产日韩精品一区二区三区在线 | 精品91在线| 亚洲视频免费在线| 免费视频亚洲| 午夜精品久久久久久久久久久| 欧美 亚欧 日韩视频在线| 国产精品视频一区二区三区 | 国产乱子伦一区二区三区国色天香 | 欧美成年人视频网站| 国产一区二区三区最好精华液| 一区二区三区久久| 亚洲东热激情|