<li id="8g3ty"><tbody id="8g3ty"><th id="8g3ty"></th></tbody></li>
    <label id="8g3ty"><samp id="8g3ty"></samp></label>
  • <span id="8g3ty"></span>

    1. <center id="8g3ty"><optgroup id="8g3ty"></optgroup></center>
    2. <bdo id="8g3ty"><meter id="8g3ty"><bdo id="8g3ty"></bdo></meter></bdo><center id="8g3ty"><optgroup id="8g3ty"></optgroup></center>
      <label id="8g3ty"><samp id="8g3ty"></samp></label>

    3. 電子開發(fā)網(wǎng)

      電子開發(fā)網(wǎng)電子設(shè)計(jì) | 電子開發(fā)網(wǎng)Rss 2.0 會(huì)員中心 會(huì)員注冊(cè)
      搜索: 您現(xiàn)在的位置: 電子開發(fā)網(wǎng) >> 電子開發(fā) >> EDA開發(fā)應(yīng)用 >> Keilc >> 正文

      關(guān)于KeilC的寄存器絕對(duì)定位

      作者:佚名    文章來源:本站原創(chuàng)    點(diǎn)擊數(shù):    更新時(shí)間:2011/3/3

      在KeilC的選項(xiàng)中,C51這一項(xiàng)里有一項(xiàng)叫做“Don't use absolute register accesses”。我們已經(jīng)因?yàn)檫@一項(xiàng)出了三次Bug了。

      那么這一項(xiàng)有什么作用呢?

      在KeilC默認(rèn)中,這一項(xiàng)并沒有選上,表示KeilC將使用寄存器的絕對(duì)定位來優(yōu)化程序。什么意思呢?我們知道,51中有四組通用寄存器。在寄存器組0的時(shí)候,R0-R7實(shí)際上就映射到了0x01-0x07這段地址。也就是說有時(shí)候?yàn)榱藘?yōu)化,KeilC將會(huì)使用0x01-0x07這樣的絕對(duì)地址。舉個(gè)簡(jiǎn)單的例子吧,比如說我們需要將寄存器R5的值存入R7,正常我們會(huì)這樣寫:
      MOV A, R5
      MOV R7, A
      但是如果使用寄存器的絕對(duì)定位呢?我們就可以這樣寫了:
      MOV R7, 0x05
      節(jié)省了一條指令的執(zhí)行時(shí)間!
      當(dāng)然,正常時(shí)候這樣使用當(dāng)然沒有任何問題。然而,如果有一個(gè)中斷的服務(wù)程序,我們使用了寄存器組1呢?這時(shí)候,R5就不再是0x05了,而是0x0D!因此,Bug就出來了。
      當(dāng)然,我們可以在這個(gè)中斷服務(wù)程序上所調(diào)用的所有子程序中加在using 1的關(guān)鍵字來解決這個(gè)問題。不過這樣還是帶來了一些不便,更有一些時(shí)候,一些子函數(shù)是多處調(diào)用了。因此,有時(shí)我們一般都直接勾選了這個(gè)選項(xiàng)來取消KeilC的這項(xiàng)優(yōu)化。

      Tags:keilc,keil,寄存器  
      責(zé)任編輯:admin
      相關(guān)文章列表
      信捷 XD PLC 數(shù)據(jù)寄存器的偏移量_信捷plc寄存器d參數(shù)表
      單片機(jī)編程軟件KEIL使用入門_keil入門
      KEIL的基本使用操作
      三菱PLC編程初學(xué)者必看內(nèi)容:定時(shí)器、輸入輸出點(diǎn)、輔助繼電器、特
      【圖】三菱plc計(jì)數(shù)器用法詳解,三菱PLC的內(nèi)部寄存器
      西門子plc中的vb100,vw100,vd100有什么聯(lián)系嗎?寄存器知識(shí)
      西門子plc S7-200多個(gè)寄存器累加程序梯形圖實(shí)例
      西門子plc smart軟元件寄存器存儲(chǔ)器_西門子PLC先從S7-200 SMART 
      西門子plc變量存儲(chǔ)器知識(shí)_西門子S7-200的VB、VW和VD
      西門子plc寄存器的vb vw vd 數(shù)據(jù)長度及關(guān)系
      西門子plc變量存儲(chǔ)器v0.0與VB0、VD0、VW0的關(guān)系
      Modbus寄存器分類及地址分配表 寄存器分類及說明 寄存器的地址
      Modbus協(xié)議中寄存器40001,30001是什么意思?
      西門子plc smart 200數(shù)據(jù)存取區(qū)及數(shù)據(jù)類型入門
      數(shù)字量輸入和輸出映象區(qū) _詳解西門子S7-200PLC的數(shù)據(jù)區(qū)
      modbus讀取保持寄存器實(shí)例
      西門子PLC內(nèi)部寄存器VB;VD.VW什么時(shí)使用VB,什么時(shí)使用VD;和VW. 
      西門子200PLC的內(nèi)部寄存器V和M有什么區(qū)別
      西門子PLC中MW什么意思
      在西門子PLC中 vw是看成整數(shù)還是字?怎么區(qū)分整數(shù)和字?
      請(qǐng)文明參與討論,禁止漫罵攻擊,不要惡意評(píng)論、違禁詞語。 昵稱:
      1分 2分 3分 4分 5分

      還可以輸入 200 個(gè)字
      [ 查看全部 ] 網(wǎng)友評(píng)論
      關(guān)于我們 - 聯(lián)系我們 - 廣告服務(wù) - 友情鏈接 - 網(wǎng)站地圖 - 版權(quán)聲明 - 在線幫助 - 文章列表
      返回頂部
      刷新頁面
      下到頁底
      晶體管查詢
      主站蜘蛛池模板: 天天爽天天狠久久久综合麻豆| 亚洲成色在线综合网站| 亚洲综合无码AV一区二区| 久久综合精品国产一区二区三区| 狠狠色噜噜狠狠狠狠色综合久| 久久精品国产亚洲综合色| 亚洲综合无码一区二区三区| 无码国内精品久久综合88| HEYZO无码综合国产精品227| 五月婷婷综合在线| 东京热TOKYO综合久久精品| 亚洲国产精品成人综合久久久 | 欧洲 亚洲 国产图片综合| 综合五月激情二区视频| 一本色道久久99一综合| 99久久国产综合精品五月天| 国产色综合久久无码有码| 色欲综合久久躁天天躁蜜桃| 狠狠做深爱婷婷综合一区| 亚洲综合在线成人一区| 久久大香线蕉综合爱| 亚洲伊人久久综合影院| 国产成人久久综合二区| 亚洲国产精品综合久久20| 久久综合给久久狠狠97色 | 精品第一国产综合精品蜜芽| 亚洲综合色区中文字幕| 亚洲狠狠综合久久| 伊人色综合久久天天人手人婷| 一本一道色欲综合网中文字幕| 精品久久综合一区二区| 亚洲综合精品伊人久久| 久久综合九色综合久99| 亚洲国产亚洲综合在线尤物| 色综合色综合色综合色欲| 伊人丁香狠狠色综合久久| 天天久久影视色香综合网| 曰韩人妻无码一区二区三区综合部 | 国产在线一区二区综合免费视频 | 狠狠色丁香久久婷婷综合| 中文字幕色综合久久|