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

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>
            午夜在线电影亚洲一区| 亚洲人体影院| 欧美不卡三区| 亚洲人被黑人高潮完整版| 一区精品在线| 极品尤物久久久av免费看| 国产亚洲一级高清| 曰本成人黄色| 亚洲精品免费在线播放| 9国产精品视频| 亚洲免费影院| 久久精品视频亚洲| 亚洲国产精品va| 欧美成人情趣视频| 亚洲人成77777在线观看网| 99在线|亚洲一区二区| 在线视频欧美一区| 久久国产精彩视频| 欧美精品久久99| 欧美午夜宅男影院| 黄色亚洲精品| 一区二区三区精品视频| 欧美在线视频观看免费网站| 欧美插天视频在线播放| 一本色道久久| 久久久久久9| 欧美日韩一区二区三区四区五区 | 亚洲视频999| 欧美一区二区三区在线观看视频| 久久午夜色播影院免费高清| 欧美绝品在线观看成人午夜影视| 国产精品自拍在线| 亚洲精品一区二区三区婷婷月| 亚洲综合久久久久| 欧美xxx成人| 亚洲一区免费观看| 女人香蕉久久**毛片精品| 国产精品美女| 亚洲精品在线观看视频| 欧美自拍偷拍午夜视频| 欧美黄在线观看| 香蕉成人啪国产精品视频综合网| 欧美成人中文| 极品少妇一区二区三区| 午夜精品久久久久久久久| 欧美激情第8页| 久久精品人人做人人爽电影蜜月| 欧美午夜女人视频在线| 亚洲日本黄色| 国产精品色婷婷久久58| 一本一本a久久| 欧美成人精品在线| 欧美一区二视频在线免费观看| 欧美日韩专区在线| 日韩午夜在线播放| 欧美国产在线观看| 久久久综合视频| 国产一区二区三区在线观看免费| 亚洲综合首页| aa级大片欧美| 欧美日韩精品免费观看| 亚洲精品黄色| 欧美激情精品久久久久久变态| 久久精品网址| 国模 一区 二区 三区| 久久久999成人| 午夜精品电影| 国内自拍视频一区二区三区| 欧美一区二区免费视频| 亚洲欧美成人一区二区三区| 国产精品成人在线观看| 亚洲尤物视频在线| 亚洲一二三区视频在线观看| 国产精品爱啪在线线免费观看| 亚洲视频在线二区| 亚洲一区二区四区| 国产日韩欧美| 鲁大师成人一区二区三区| 久久久亚洲国产天美传媒修理工 | 91久久精品一区二区别| 欧美黄色免费网站| 欧美日韩国产一区二区| 亚洲新中文字幕| 亚洲欧美一级二级三级| 国产亚洲精品7777| 欧美岛国激情| 欧美人与性禽动交情品 | 欧美成黄导航| 欧美精品系列| 欧美亚洲三区| 久久久亚洲高清| 一本一本久久a久久精品综合麻豆 一本一本久久a久久精品牛牛影视 | 亚洲一区影音先锋| 国产欧美午夜| 欧美成人资源网| 欧美三级视频在线播放| 欧美在线亚洲综合一区| 久久综合一区二区| 亚洲一区视频| 久久久www成人免费精品| 亚洲三级电影全部在线观看高清| 99视频超级精品| 国内伊人久久久久久网站视频| 欧美激情亚洲精品| 国产伦精品一区二区三区| 亚洲另类视频| 欧美一区二区三区四区高清| 亚洲日本激情| 久久久久久穴| 午夜一区二区三区在线观看| 免费日本视频一区| 久久精品国产96久久久香蕉| 欧美—级在线免费片| 久久精品综合一区| 欧美日韩天天操| 欧美大成色www永久网站婷| 国产精品高潮呻吟久久| 欧美激情1区| 狠狠色丁香婷婷综合| 正在播放亚洲| 一本大道久久a久久精品综合| 久久精品国内一区二区三区| 亚洲综合精品自拍| 欧美日韩一区二区三区在线| 欧美国产免费| 亚洲第一精品福利| 久久精品国产综合精品| 久久久久国产精品一区三寸| 国产精品久久久久一区二区三区| 亚洲精品欧美精品| 亚洲精品久久久久中文字幕欢迎你| 久久精品论坛| 久久久久9999亚洲精品| 国产美女精品视频免费观看| 在线亚洲电影| 亚洲欧美电影院| 国产精品卡一卡二卡三| 99这里只有精品| 亚洲一级二级| 国产精品乱码久久久久久| 亚洲少妇中出一区| 亚洲欧美日韩在线| 国产精品一国产精品k频道56| 99精品国产99久久久久久福利| 夜夜爽99久久国产综合精品女不卡| 久久免费偷拍视频| 欧美国产日韩一二三区| 亚洲日本va在线观看| 欧美激情亚洲| 99re热精品| 亚洲一区视频在线| 国产欧美91| 性娇小13――14欧美| 久久久久久久尹人综合网亚洲| 国内精品久久久| 久久在线精品| 亚洲精品国产精品国自产观看浪潮 | 国产欧美日韩精品一区| 午夜久久tv| 免费av成人在线| 亚洲精品欧美精品| 欧美日韩hd| 亚洲伊人色欲综合网| 久久天堂国产精品| 91久久久久久久久久久久久| 欧美欧美在线| 亚洲一区二区三区免费视频| 久久久久久有精品国产| 亚洲精品小视频在线观看| 欧美三日本三级三级在线播放| 亚洲欧美日韩另类精品一区二区三区| 国产一区二区三区自拍| 久久亚洲美女| aa亚洲婷婷| 欧美成人国产| 亚洲欧美视频一区| 在线精品一区二区| 欧美性做爰毛片| 久久夜色精品国产欧美乱| 日韩天堂在线视频| 久久久人成影片一区二区三区观看| 亚洲欧洲在线视频| 国产欧美日韩精品专区| 欧美美女日韩| 蜜桃久久av一区| 欧美一区二区免费视频| 亚洲精品女av网站| 久久国产福利| 亚洲欧美日韩在线不卡| 亚洲人成人一区二区在线观看 | 亚洲欧美日韩高清| 亚洲电影有码| 久久女同互慰一区二区三区| 亚洲视频一区二区| 亚洲美洲欧洲综合国产一区| 黄色资源网久久资源365| 国产精品乱码妇女bbbb| 欧美高清影院| 老司机免费视频一区二区| 亚洲一区二区三区色|