新聞中心

        EEPW首頁 > 嵌入式系統 > 設計應用 > 找到地址去送信——單片機尋址方式學習心得

        找到地址去送信——單片機尋址方式學習心得

        作者: 時間:2016-11-23 來源:網絡 收藏
        剛開始學單片機時,由于沒有數字電路和微機原理的基礎,很多概念都不是很清楚,特別是在學習單片機原理的時候,那些概念弄得煩不勝煩。尤其是什么寄存器、尋址、地址、指針……都快把我折磨得瘋掉了。想放棄又覺得不甘心,于是就硬著頭皮狂啃了幾天,才有點了解。現將心得記錄如下,能力有限,如果有錯誤或不足請指正。
        CPU執行指令過程:由程序存儲器(ROM)中讀取指令代碼,送入指令寄存器中,經過譯碼器譯后由定時于控制電路發出相應的控制信號,完成控制功能。
        程序計數器(PC):存放即將要執行的指令地址的地方。
        寄存器:寄存器是CPU在運算過程中用于存放操作數的地方。相當與一個加工廠的貨物暫時存放點。在這貨物暫時存放點里存放有一些貨物即操作數。CPU沒執行一次運算和命令都會從里邊提取操作數執行指令。CPU中若干個不同的寄存器。可以從不通的寄存器中提取不同的操作指令進行操作。
        存儲器:存儲器就相當余個倉庫,是存儲數據的地方。CPU通過指令對存儲器進行訪問。
        指針:這真就相當一個地址,即倉庫里邊存放貨物的地址。和我么寄信的地址一樣,通過他可以尋找到想要的數據或者指令。
        立即數:立即數就是存放在寄存器中的常數。
        知道這些以后,對于單片機的尋址方式的理解就沒有多大問題。單片機的尋址方式主要有五種:立即數尋址、存儲器絕對尋址、寄存器直接尋址、寄存器間接尋址、寄存器變址尋址。
        立即數尋址:將某一立即數直接賦予到寄存器當中。相當于將一份貨物拿的指定貨物暫時存放點上去。
        存儲器絕對尋址:將存儲器地址指定的操作數賦予到寄存器當中。這種尋址方式和立即數尋址方式不通,同樣是直接將操作數直接賦予寄存器當中,但形式不一樣,立即數尋址是直接將操作數賦予寄存器。而直接尋址卻是拿到的只是一個操作數地址,通過這個地址,在存儲器中尋找到想要的操作數后,再將操作數賦予寄存器。這個相當于你拿到倉庫貨物地址后,在倉庫里找到貨物,然后將貨物拿到指定的貨物暫時存放點上。
        寄存器直接尋址:這種方式是指操作數存放在寄存器中,直接通過尋址寄存器,取出操作數。這中方式相當直接將特定貨物暫時存放點里的貨物裝車進行處理。
        寄存器間接尋址:這種方式是寄存器里存放的是操作數在存儲器里存放的地址。通過那在指定的寄存器里拿到地址后,再通過地址到存儲器中尋找到相應的操作數,然后執行操作數。這種方式相當于該貨物暫時存放點存放的并不是貨物,而只是貨物在倉庫存儲的地址,我們還得通過地址到倉庫去尋找到貨物,然后再進行加工。
        寄存器變址尋址:這種尋址方式比較復雜,且很麻煩,好像是故意在繞路一樣,難為人。他首先給定一個基址寄存器,并在基址寄存器中存放一個數據,然后再給你一個公式和一個操作數,公式是:目的寄存器=基址寄存器中數據+給定操作數。通過計算出公式結果后才能找到目的寄存器當中的操作數。這就相當于找東西的游戲,不告訴你要找的東西在那你,只是給你一個謎語,你靠著這個謎語的謎底去尋找所要尋找的東西。


        評論


        技術專區

        關閉
        主站蜘蛛池模板: 屯昌县| 临城县| 建阳市| 兴城市| 景东| 闵行区| 吉木乃县| 大石桥市| 开江县| 南投市| 邯郸县| 垦利县| 四川省| 富民县| 开江县| 洛阳市| 常宁市| 弋阳县| 兴化市| 镇宁| 团风县| 资兴市| 鄂伦春自治旗| 宁国市| 青龙| 东莞市| 绥棱县| 保山市| 河曲县| 新邵县| 鄯善县| 哈尔滨市| 特克斯县| 蒙阴县| 那曲县| 托克托县| 阜南县| 湘阴县| 宁明县| 开江县| 上林县|