資料介紹
MCS-51系列單片機作為經典的單片機應用十分廣泛,其指令總共有111條。其指令中對操作數的尋址方式有7種,分別為立即數尋址、直接尋址、寄存器尋址、寄存器間接尋址、變址尋址、相對尋址和位尋址。在學習相對尋址的內容和有關相對尋址的指令時,許多初學者會對于偏移量的值和跳轉目的地址的值混淆不清,產生疑惑和不解。許多教材對此問題的解釋也不一致,甚至有錯誤,這加深了初學者的困惑和理解錯誤。仿真技術在電子電路設計中得到了廣泛的應用,利用Protues、偉福軟件等可以很直觀的展示程序的執行過程。為了揭示相對尋址的本質,本文將利用Protues仿真軟件和偉福軟件的仿真功能對相對尋址進行剖析。
相對尋址方式是為了程序的相對轉移而設計的,其過程是以當前PC的內容為基址,加偏移量作為轉移地址,從而實現程序的轉移。轉移的目的地址取決于表達式:目的地址=轉移指令地址+轉移指令字節數+偏移量。需要注意的是,偏移量是有正負號之分的,偏移量的取值范圍是當前PC值的-128~+127之間。該表達式應這樣理解:在執行轉移指令語句時,PC的內容是轉移指令的下一條指令的地址值,該地址值加上要偏移的地址字節數形成新目的地址,然后程序跳轉到新的目的地址,其中要偏移的地址字節數為8位有符號數二進制數,即偏移量在-128~+127之內。那么這個偏移量是如何得到的呢?在許多教材和文章中均以rel作為相對尋址的標志,這些教材和文章對相對尋址的解釋都很相似,其解釋為:以程序計數器PC的當前值為基址,加上匯編指令中給出的相對偏移量rel,形成新的PC值,即跳轉目的地址,相對偏移量rel為一字節補碼數,其表示范圍為-128~+127[1-8]。舉例來說明此問題,如下面的匯編語言程序語句:
ORG 0200H
MOV A,#36 ;雙字節指令
JNZ 30H ;雙字節指令
按這些教材和文章中的解釋,執行指令JNZ 08H時PC值變為0202H+2,30H就是相對偏移量,該指令執行后程序應該跳轉到目的地址=0202H(轉移指令地址)+2(轉移指令JZ的字節數)+30H(偏移量)=0232H上。事實上這種解釋是錯誤的,該跳轉指令執行后程序不會跳轉到計算出的目的地址上去。筆者認為應該是:進行相對尋址時,確實是以PC的當前值作為基址,加上相對偏移量形成新的目的地址,但是在匯編指令中并不能直接看出相對偏移量,這個偏移量體現在機器碼中;而匯編指令中的rel,不管是數值形式還是符號形式只能是目的地址值,且其距離在當前PC值-128~+127的范圍內。
- 單片機原理及應用的詳細資料說明 20次下載
- 51單片機的匯編指令詳細資料說明
- 使用51單片機控制小燈閃爍的程序和資料說明
- 51單片機例函數的詳細資料說明
- 使用51單片機進行按鍵控制的資料說明
- 使用51單片機進行尋址的方式詳細說明
- 單片機有哪些尋址方式?7種尋址方式的詳細資料講解
- 51單片機的一些特殊寄存器資料說明
- 51單片機匯編語言的尋址方式詳細資料說明
- 51單片機的中斷系統詳細資料說明
- 51單片機系列命名規則資料說明
- 51單片機教程之51單片機的串行口應用舉例資料說明 18次下載
- MCS-51單片機結構資料說明 4次下載
- 51單片機匯編語言教程_單片機尋址方式與指令系統 0次下載
- CPLD擴展51單片機尋址范圍
- 什么是51單片機最小系統 2802次閱讀
- PIC系列單片機的詳細資料說明 5549次閱讀
- 單片機的結構和原理說明 5517次閱讀
- 51單片機的最小系統應用說明 8207次閱讀
- PIC單片機以及51和AVR單片機的IO口操作方法解析 3127次閱讀
- 80C51單片機實現專用寄存器位尋址的設計方案 3407次閱讀
- PIC單片機以及51單片機和AVR單片機的IO口操作方法介紹 2049次閱讀
- 51單片機引腳簡介 5.4w次閱讀
- 如何學習51單片機 5082次閱讀
- 探討單片機的尋址方式 8372次閱讀
- 如何對51單片機進行外部擴展 1.5w次閱讀
- 基于80C51單片機位尋址編程 3504次閱讀
- 新手學習單片機的首選:51單片機 8836次閱讀
- 單片機8x8矩陣鍵盤原理說明 2.6w次閱讀
- 51單片機學習感悟與51單片機上拉電阻心得 4295次閱讀
下載排行
本周
- 1TC358743XBG評估板參考手冊
- 1.36 MB | 330次下載 | 免費
- 2開關電源基礎知識
- 5.73 MB | 6次下載 | 免費
- 3100W短波放大電路圖
- 0.05 MB | 4次下載 | 3 積分
- 4嵌入式linux-聊天程序設計
- 0.60 MB | 3次下載 | 免費
- 5基于FPGA的光纖通信系統的設計與實現
- 0.61 MB | 2次下載 | 免費
- 651單片機窗簾控制器仿真程序
- 1.93 MB | 2次下載 | 免費
- 751單片機大棚環境控制器仿真程序
- 1.10 MB | 2次下載 | 免費
- 8基于51單片機的RGB調色燈程序仿真
- 0.86 MB | 2次下載 | 免費
本月
- 1OrCAD10.5下載OrCAD10.5中文版軟件
- 0.00 MB | 234315次下載 | 免費
- 2555集成電路應用800例(新編版)
- 0.00 MB | 33564次下載 | 免費
- 3接口電路圖大全
- 未知 | 30323次下載 | 免費
- 4開關電源設計實例指南
- 未知 | 21549次下載 | 免費
- 5電氣工程師手冊免費下載(新編第二版pdf電子書)
- 0.00 MB | 15349次下載 | 免費
- 6數字電路基礎pdf(下載)
- 未知 | 13750次下載 | 免費
- 7電子制作實例集錦 下載
- 未知 | 8113次下載 | 免費
- 8《LED驅動電路設計》 溫德爾著
- 0.00 MB | 6653次下載 | 免費
總榜
- 1matlab軟件下載入口
- 未知 | 935054次下載 | 免費
- 2protel99se軟件下載(可英文版轉中文版)
- 78.1 MB | 537796次下載 | 免費
- 3MATLAB 7.1 下載 (含軟件介紹)
- 未知 | 420026次下載 | 免費
- 4OrCAD10.5下載OrCAD10.5中文版軟件
- 0.00 MB | 234315次下載 | 免費
- 5Altium DXP2002下載入口
- 未知 | 233046次下載 | 免費
- 6電路仿真軟件multisim 10.0免費下載
- 340992 | 191185次下載 | 免費
- 7十天學會AVR單片機與C語言視頻教程 下載
- 158M | 183279次下載 | 免費
- 8proe5.0野火版下載(中文版免費下載)
- 未知 | 138040次下載 | 免費
評論