• <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>
            隨筆 - 79  文章 - 58  trackbacks - 0
            <2007年6月>
            272829303112
            3456789
            10111213141516
            17181920212223
            24252627282930
            1234567

            常用鏈接

            留言簿(9)

            隨筆分類

            隨筆檔案

            文章檔案

            相冊

            搜索

            •  

            積分與排名

            • 積分 - 295400
            • 排名 - 87

            最新評論

            閱讀排行榜

            評論排行榜

            (1)存儲模型說明偽指令

            在使用簡化的段定義方式之前,必須使用存儲模式說明偽指令來描述源程序所采用的存儲模式。該偽指令說程序所使用的存儲模式,匯編程序將用該存儲模式生成相應的ASSUME和GROUP語句,同時也為其它的簡化段創建等價的預定義。

            程序存儲模式說明偽指令的格式如下:

            .MODEL  存儲模式[,語言類型] [,操作系統類型] [,堆棧類型]

            程序可選的存儲模式有:TINY、SMALL、COMPACT、MEDIUM、LARGE、HUGE和FLAT。

            偽指令.MODEL必須寫在源程序的首部,且只能出現一次,其前內容只能是注釋。

            如果用偽指令來指定程序所遵循的語言類型,那么,將不允許子程序的嵌套定義。

            一、存儲模式

            如果要用匯編語言編寫被高級語言調用的子程序,那么,該匯編程序的存儲模式必須與該高級語言編譯(或解釋)程序所使用的存儲模式相匹配。匯編語言程序所能使用的存儲模式、符號及其相關信息如表6.2所列。

            在程序中,還可偽指令OPTION SEGMENT和SEGMENT來指定段的規模。

            有關存儲模式的具體規定如下:

            、TINY

            在匯編程序MASM 6.11和TASM 4.0,該存儲類型是為編寫COM文件類型而設置的。程序員還可用匯編命令行選項/AT和連接命令選項/TINY來達到此目的。

            、SMALL

            所有的數據變量必須在一個數據段之內,所有的代碼也必須在一個代碼段之內。在這種模型下,數據段寄存器的內容保持不變,所有轉移也都是段內轉移。

            該存儲類型是獨立匯編語言源程序常用的存儲模型。

            、MEDIUM

            所有的數據變量必須在一個數據段之內,但代碼段可以有多個。在這種模型下,數據段寄存器的內容保持不變,轉移可以是段間轉移。

            、COMPACT

            數據段可以有多個,但代碼段只能有一。

            、LARGE

            數據段和代碼段都可以有多個,但一個數組的字節數不能超過64KB。

            、HUGE

            數據段和代碼段都可以有多個,一個數組的字節數也可以超過64KB。

            、FLAT

            FLAT存儲模式在創建執行文件時,將使該程序僅含一個包括程序數據和代碼的32位段,并且只能在80386及其以后的計算機系統中運行。該程序的文件類型為EXE。

            在使用該存儲模式之前,必須先用偽指令.386、.486或其它偽指令來說明更高性能的CPU類型。也就是說:FLAT模式僅在386及其以后CPU模式下才能使用。

            在該程序中,所有代碼和數據位距的缺省值都是NEAR,子程序的類型也是NEAR,并且標識符@CodeSize,@DataSize和@Model的值分別為:0、0和7。

            在FLAT存儲模式下,程序將不使用段寄存器FS和GS。匯編程序在處理說明語句“.MODEL  FLAT”時,將自動生成下列段寄存器說明語句:

            ASSUME  CS:FLAT, DS:FLAT, SS:FLAT, ES:FLAT, FS:ERROR, GS:ERROR

            當然,程序員也可把該段寄存器說明語句寫在其指令序列之中。

            二、語言類型

               如C。

            三、操作系統類型

            OS_DOS是當前唯一支持的選項值,也是該選項的缺省值。

            四、堆棧類型

            堆棧類型的值主要影響偽指令.STARTUP所生成的指令序列。該選項有二個可選值:NEARSTACK和FARSTACK。其中:NEARSTACK是該選項的缺省堆棧類型。

            、NEARSTACK——堆棧段和數據段是同一段;

            、FARSTACK——堆棧段和數據段是不同的段,且堆棧不在段組DGROUP中。

            例如:

            .MODEL  SMALL, C, OS_DOS, FARSTACK

            (2)具體的偽指令說明形式及其功能描述如下:

            1、代碼段定義

            .CODE

            作用:說明其下面的內容是代碼段中內容。

            2、堆棧段定義

            .STACK  [堆棧字節數]

            其中,“堆棧字節數”可以不寫,其缺省值為1024B。

            3、數據段定義

            .DATA / .DATA? / .CONST

            作用:說明其下面的內容是數據段中的變量定義。

            在一個源程序中,可以有多個偽指令.DATA定義的數據段,這就好象在源程序中定義多個同段名的數據段一樣。

            偽指令.DATA?說明下面是一個未初始化數據段的開始,偽指令.CONST說明下面是一個常數數據段的開始。這二條偽指令很少使用,除非在與高級語言編寫的程序相結合時,為了遵守高級語言的某些約定,而需要特殊說明時才使用。

            匯編程序在處理簡化的堆棧段和數據段定義時,它會自動地把偽指令.STACK、.DATA、.DATA?和.CONST所定義的段組合成一個段組。如果想定義一個獨立的、不與其它段組合在一起的數據段的話,那么,就可選用下面的數據段定義方式。

            4、遠程數據段定義

            .FARDATA  [段名] / .FARDATA?  [段名]

            其中:“段名”是可選項,如果不指定的話,則該段名就取其缺省段名。

            作用:說明一個獨立的數據段。

            偽指令.FARDATA?說明下面是一個未初始化的、獨立數據段的開始。

            posted on 2007-07-16 20:46 merlinfang 閱讀(2345) 評論(0)  編輯 收藏 引用 所屬分類: 匯編語言
            噜噜噜色噜噜噜久久| 亚洲精品乱码久久久久66| 久久婷婷综合中文字幕| 激情综合色综合久久综合| 九九久久自然熟的香蕉图片| 久久99精品久久久久久9蜜桃| 久久er国产精品免费观看8| 99久久综合国产精品免费| 久久国产热这里只有精品| 久久777国产线看观看精品| 久久亚洲精品人成综合网| 久久精品国产亚洲AV忘忧草18 | 久久人人妻人人爽人人爽| 国产精品美女久久久久网| 久久精品无码一区二区三区| 性做久久久久久久久| 久久精品国产欧美日韩99热| 狠色狠色狠狠色综合久久 | 东方aⅴ免费观看久久av| 无码任你躁久久久久久| 久久精品国产亚洲AV大全| 久久精品国产2020| 亚洲午夜久久久| 伊人久久大香线蕉亚洲| 成人午夜精品久久久久久久小说 | 国产精品久久久久久久app| 91精品国产综合久久四虎久久无码一级 | 久久久久久久国产免费看| 久久成人影院精品777| 国产午夜精品久久久久免费视| 国产精品久久久久久久人人看 | 99久久精品日本一区二区免费| 久久婷婷国产剧情内射白浆| 美女久久久久久| 久久国产乱子伦免费精品| 色欲综合久久躁天天躁蜜桃| 久久99精品久久久大学生| 亚洲伊人久久大香线蕉综合图片| 日本五月天婷久久网站| 亚洲伊人久久大香线蕉综合图片| 99久久精品国产一区二区|