在微控制器原理中,rel具體是什麼意思?怎麼用

2021-03-07 07:50:09 字數 962 閱讀 8156

1樓:匿名使用者

你說的應該是跳轉指令後面的rel助記符吧rel是relative的簡寫,表示相對當前地址的跳轉偏移,它是一個有符號數。具體範圍要參閱處理器的指令手冊。以常見的51系列為例,它是一個8位有符號數,因此範圍是-128至127。

現在一般都不用自己去計算具體的數值了,彙編器和連結器會做好轉換和重定位工作的。

2樓:匿名使用者

rel 是偏移量,就是相對一條指令來說的相對地址 每條指令都是要佔用地址的不過寫彙編時直接寫絕對地址就行 想跳轉到**就在那裡做個標記 象 xx:這樣djnz r7,xx;就在滿足要求的時候就能跳轉到地址為xx:的地方了,編譯時彙編程式會自動將絕對地址換算成偏移量 在寫跳轉時候 不用管rel什麼的例如:

sjmp rel ;中跳到pc+2+rel 中pc表示 sjmp這條指令的地址 每條指令都有他的地址(都有它的pc指標地址的)其中中2是這整條語句的長度 這整體的意思就是 要跳到 這整條語句開始的地址 加上被它這條地址佔據的2個地址 再加rel偏移量在實際程式設計中只要在一個地方標記xx:語句;當執行到sjmp xx;的時候就會跳到標記地址為xx的地方了 其中xx可以使任何標記

微控制器相對定址jc rel值怎麼算出來?

3樓:做而論道

相對轉移的偏移量,是用目的

地的地址,減去發源地的地址,結果再變成補碼。

如果是向後轉移,目的地的地址號碼小,將得到負數。

這時,應該用發源地的地址,減去目的地的地址,得到這個負數的絕對值。

寫成負數之後,再變成補碼,即可。

rel = 0f85h - (1003h + 02h),顯然不夠減,那麼,反過來相減:

即:1005 - 0f85 = 80h,這就是絕對值:128。

-128,其補碼就是 80h。

這個計算過程,現在不用人工計算了,編譯軟體會替人們完成。

微控制器中ltlt是什麼符號,微控制器中 是什麼符號

con way con way 4 左移4位 在微控制器程式設計中這個符號 還有這個 符號分別是什麼意思啊?求大神賜教 在微控制器程式設計中這個符號 就是 左移等於 還有這個 或等於 的意思啊 比如 char i 1 i 1 此時i 2 i 0x10 此時i 0x12 就和i 1類似 51微控制器c...

關於微控制器裡相對轉移指令中rel的問題

sjmp是短轉移指令,用相對地址,相對地址是有符號數,所以用的都是補碼,89是一回個負數,答因為第一位是1,所以他如果變成雙位元組就要填ff,如果是正數才填00。補碼你應該懂得把,負數的補碼就是反碼 1,實際這個語句是向前跳轉,是一個減法,加上一個數的補碼就是相當於執行了減法,89h不是原碼他更不代...

微控制器中cs是什麼意思,微控制器中CS是什麼意思

比如說在擴充套件儲存器的時候,假如有兩個儲存器,可以用cs訊號接到一個儲存器的使能訊號,再引一個cs反到另一個儲存器的使能訊號,這樣就可以通過cs訊號來選擇當前選中的是哪個儲存器 微控制器中的 od是什麼意思?od屬於特殊暫存器,該位跟串列埠通訊相關,是對定時器t0 t1工作方式跟模式的選擇。它是8...