<ruby id="bdb3f"></ruby>

    <p id="bdb3f"><cite id="bdb3f"></cite></p>

      <p id="bdb3f"><cite id="bdb3f"><th id="bdb3f"></th></cite></p><p id="bdb3f"></p>
        <p id="bdb3f"><cite id="bdb3f"></cite></p>

          <pre id="bdb3f"></pre>
          <pre id="bdb3f"><del id="bdb3f"><thead id="bdb3f"></thead></del></pre>

          <ruby id="bdb3f"><mark id="bdb3f"></mark></ruby><ruby id="bdb3f"></ruby>
          <pre id="bdb3f"><pre id="bdb3f"><mark id="bdb3f"></mark></pre></pre><output id="bdb3f"></output><p id="bdb3f"></p><p id="bdb3f"></p>

          <pre id="bdb3f"><del id="bdb3f"><progress id="bdb3f"></progress></del></pre>

                <ruby id="bdb3f"></ruby>

                ThinkChat2.0新版上線,更智能更精彩,支持會話、畫圖、視頻、閱讀、搜索等,送10W Token,即刻開啟你的AI之旅 廣告
                ## 2.2 數據類型 字節,字和雙字是基本數據類型(參考圖2-2)。字節開始于任何邏輯地址,由8位連續位組成。位被從0到7編號;位0是最低有效位。 字開始于任何邏輯地址,由連續的2個字節組成。因此字含有16位。位編號從0到15;位0是最低有效位。包含位0的字節稱為低位字節;包含位15的字節為高位字節。 字中的每個字節都有自己的地址,較小的地址為字的起始地址。低位地址包含字的低8位,高位地址包含高8位。 雙字開始于任何邏輯地址,由連續的2個字組成。因此字含有32位。位編號從0到31;位0是最低有效位。包含位0的字稱為低位字;包含位31的字節為高位字。 雙字中的每個字節都有自己的地址,最小的地址為雙字的起始地址。含有最低位地址的字節包含8位最低位,位于最高地址處的字節包含8位最高位。圖2-3展示了字和雙字的布局。 注意:字不必分配在偶數地址,雙字也不用在被4整除的地址上。這允許數據結構(例如,混合包含了字節,字和雙字)在存儲器的使用上可以有更多的自由和更高的效率。在32位總線配置下,雙字在處理器和存儲器之間的實際傳輸發生在被4整除的地址處;然而,處理器會將未對齊的字和雙字轉換為存儲器接口可以接受的合適的請求序列。這種未對齊數據的傳輸會因為額外的存儲器指令周期而降低性能。為了獲得最高性能,數據結構(包括堆棧)應該以下面的方式來設計:無論何時,只要有可能,將字對齊在偶數地址處,雙字對齊在被4整數的地址處。由于指令預取和隊列,不要求指令在字和雙字邊界上。(不過,如果傳輸控制的目標地址能夠被4整除將導致速度的微小提升。) 盡管字節,字和雙字是操作數的基本類型,處理器同樣也支持對其他操作數的解釋。依賴于和操作數有關的指令,下面附加的數據類型可以被識別: 整型: 包含在32位雙字,16位字,或8位字節中的有符號二進制數值。所有的操作數等于2的冪。符號位位于字節的位7,字的位15,雙字的位31。符號位0為正值,1為負值。由于最高位用于符號位,8位整數的取值范圍從-128到+127;16位整數從-32,768到+32,767;32位整數從-3231到+231-1。零的符號位為正。 序數: 包含在32位雙字,16位字,或8位字節中的無符號二進制數值。所有位都被視為確定數字的量級。8位序數的取值范圍從0-255;16位序數從0-65,536;32位序數從0-232 -1。 短指針: 32位邏輯地址。短指針是段內偏移。短指針用于平坦模式或段模式。 長指針: 48位的邏輯地址:16位段選擇符和32位的偏移量。長指針只有系統設計者選擇了段模式時才能使用。 字符串: 連續的字節,字或雙字序列。字符串包含0-232 -1(4G)個字節。 位域: 連續的位序列。位域可以開始于字節的任何位置,最多32位。 位字符串: 連續的位序列。位域可以開始于字節的任何位置,最多232 -1位。 BCD碼: 一個字節(未壓縮),代表從0-9的十進制數。未壓縮十進制數被存儲為無符號字節數。每個字節存一個數。數字的大小由字節的低4位決定;十六進制值0-9是合法值,被解釋為十進制數。高4位在乘法和除法中必須為零;加法和減法中可以含有任何值。 壓縮BCD碼: 一個字節(已壓縮),代表兩位十進制數,每位從0-9。每個十進制數存在字節的高/低4位中。高4位中數字為高數量級。0-9為合法值。壓縮十進制字節取值范圍從0-99。 圖2-4用圖形總結了80386支持的數據類型。 ![](https://box.kancloud.cn/2016-03-06_56dbfdac41859.png) ![](https://box.kancloud.cn/2016-03-06_56dbfdac57101.png) ![](https://box.kancloud.cn/2016-03-06_56dbfdac6a533.png) ![](https://box.kancloud.cn/2016-03-06_56dbfdac7ffdc.png) ![](https://box.kancloud.cn/2016-03-06_56dbfdac981ae.png) ![](https://box.kancloud.cn/2016-03-06_56dbfdacb57fb.png)
                  <ruby id="bdb3f"></ruby>

                  <p id="bdb3f"><cite id="bdb3f"></cite></p>

                    <p id="bdb3f"><cite id="bdb3f"><th id="bdb3f"></th></cite></p><p id="bdb3f"></p>
                      <p id="bdb3f"><cite id="bdb3f"></cite></p>

                        <pre id="bdb3f"></pre>
                        <pre id="bdb3f"><del id="bdb3f"><thead id="bdb3f"></thead></del></pre>

                        <ruby id="bdb3f"><mark id="bdb3f"></mark></ruby><ruby id="bdb3f"></ruby>
                        <pre id="bdb3f"><pre id="bdb3f"><mark id="bdb3f"></mark></pre></pre><output id="bdb3f"></output><p id="bdb3f"></p><p id="bdb3f"></p>

                        <pre id="bdb3f"><del id="bdb3f"><progress id="bdb3f"></progress></del></pre>

                              <ruby id="bdb3f"></ruby>

                              哎呀哎呀视频在线观看