久久久久久久999_99精品久久精品一区二区爱城_成人欧美一区二区三区在线播放_国产精品日本一区二区不卡视频_国产午夜视频_欧美精品在线观看免费

 找回密碼
 立即注冊

QQ登錄

只需一步,快速開始

搜索
查看: 2195|回復: 13
收起左側

單片機匯編語言SJMP問題

[復制鏈接]
ID:883031 發表于 2022-11-29 21:48 | 顯示全部樓層 |閱讀模式
在用SJMP指令時,偏移量rel只能用符號表示嗎?如下AAA,
ORG 0000H
LJMP MAIN
ORG 0050H
MAIN:
        SJMP AAA
        MOV 50H,#30H
AAA:        MOV R0,#40H
        MOV A,R0
        MOV A,@R0
        SJMP $

rel偏移量為03,對該指令的解釋中rel應該為二進制補碼,但寫成SJMP 03H,就會跳轉到0003H地址處。根據運行的結果看,rel好像是個地址。
這里的rel除了用AAA表示外還有其他表示方法嗎?
求解答。


回復

使用道具 舉報

ID:883242 發表于 2022-11-29 22:37 | 顯示全部樓層
你完全可以這么寫:
  1.         DB    80H, 03H
復制代碼


這里面80H就是SJMP,03H就是你以為的rel,03。
回復

使用道具 舉報

ID:883031 發表于 2022-11-29 22:49 | 顯示全部樓層
Hephaestus 發表于 2022-11-29 22:37
你完全可以這么寫:

我的意思是,SJMP的偏移量只能用符號來表示嗎?
SJMP AAA
能不能在SJMP后面直接給出偏移量的值。
回復

使用道具 舉報

ID:883242 發表于 2022-11-29 23:02 | 顯示全部樓層
cn_zhx 發表于 2022-11-29 22:49
我的意思是,SJMP的偏移量只能用符號來表示嗎?
SJMP AAA
能不能在SJMP后面直接給出偏移量的值。

SJMP  $+3
回復

使用道具 舉報

ID:883031 發表于 2022-11-29 23:17 | 顯示全部樓層

$的值為FEH(補碼),那么$+3等于01h,用$+5可以跳到AAA處,+3還是不能正確跳轉。
回復

使用道具 舉報

ID:883031 發表于 2022-11-29 23:22 | 顯示全部樓層

感謝!用這種表示方法可以,需要+5。
回復

使用道具 舉報

ID:883242 發表于 2022-11-29 23:56 | 顯示全部樓層
cn_zhx 發表于 2022-11-29 23:22
感謝!用這種表示方法可以,需要+5。

你的這種做法除了讓別人和你自己看不懂以外,還有別的現實意義嗎?
回復

使用道具 舉報

ID:883031 發表于 2022-11-30 00:39 | 顯示全部樓層
Hephaestus 發表于 2022-11-29 23:56
你的這種做法除了讓別人和你自己看不懂以外,還有別的現實意義嗎?

你的說法很有道理,我贊同。多謝指教!
這是在給別人講的時候,需要講清楚rel的值是多少,當然,用符號表示是最簡便的,而且在編程的時候也不會去一條指令一條指令的去計算這個偏移量,只是覺得rel既然是偏移量,能不能用數值直接表示,試了一下,總是不能正確的跳轉,就想把這個問題搞清楚。
回復

使用道具 舉報

ID:955673 發表于 2022-11-30 15:27 | 顯示全部樓層
用符號表示,偏移量是活的,方便修改
回復

使用道具 舉報

ID:123289 發表于 2022-11-30 17:02 | 顯示全部樓層
這是由編譯平臺的翻譯方式決定的。
回復

使用道具 舉報

ID:883242 發表于 2022-11-30 20:07 | 顯示全部樓層
cn_zhx 發表于 2022-11-30 00:39
你的說法很有道理,我贊同。多謝指教!
這是在給別人講的時候,需要講清楚rel的值是多少,當然,用符號表 ...

那么我在沙發上面的例子不更加直觀嗎?不需要減掉SJMP語句自身占用的2個字節地址。
回復

使用道具 舉報

ID:401564 發表于 2022-11-30 21:20 | 顯示全部樓層
SJMP  $-4
rel就是個地址的意思,匯編沒有補碼這個說法,說補碼只是給學了C的人更好理解而已
SJMP就是這指令的當前地址向前跳轉或者身后跳轉,rel就是這個值的范圍
以前這個指令還是經常用的
現在用得不多了,直接用JMP了
別去搞那$+ $-的,那只會讓程序更亂,直接用標號就行了
回復

使用道具 舉報

ID:883242 發表于 2022-11-30 22:04 | 顯示全部樓層
Y_G_G 發表于 2022-11-30 21:20
SJMP  $-4
rel就是個地址的意思,匯編沒有補碼這個說法,說補碼只是給學了C的人更好理解而已
SJMP就是這 ...

匯編怎么可能沒有補碼,有符號運算中,ffh要看成是-1,不能看成255,這就叫補碼。
回復

使用道具 舉報

ID:883031 發表于 2022-12-17 18:34 | 顯示全部樓層
多謝各位的指教。
回復

使用道具 舉報

您需要登錄后才可以回帖 登錄 | 立即注冊

本版積分規則

手機版|小黑屋|51黑電子論壇 |51黑電子論壇6群 QQ 管理員QQ:125739409;技術交流QQ群281945664

Powered by 單片機教程網

快速回復 返回頂部 返回列表
主站蜘蛛池模板: 黑人巨大精品欧美一区二区免费 | 亚洲成人久久久 | 亚洲免费观看视频网站 | 一区二区av在线 | 一级特黄a大片 | 在线观看日本高清二区 | 欧美精品一区二区三区在线播放 | 免费看黄色国产 | 久久久不卡网国产精品一区 | 中文在线www | 久久青| 久久久久国产精品午夜一区 | 亚洲精品9999久久久久 | 亚洲一区国产精品 | 羞羞的视频在线 | 欧美成人一级 | 一区二区三区在线免费观看 | 91豆花视频| 国产一区二区三区在线看 | 超碰在线人人干 | 在线一级片 | 日韩欧美在线观看 | 国产免费一区二区三区免费视频 | 国产精品久久久久久亚洲调教 | 美日韩一区二区 | 羞羞视频在线观看免费观看 | 四虎影视在线 | 久久精品99久久 | 午夜影院普通用户体验区 | 国产精品久久久久久妇女6080 | 午夜精品久久久久久久久久久久久 | 中文字幕一区二区三区四区五区 | 午夜影院在线免费观看视频 | 精品亚洲一区二区 | 日本国产一区二区 | 免费观看毛片 | av在线播放一区二区 | 日韩精品在线观看一区二区 | 99精品视频免费观看 | 无码一区二区三区视频 | 久久午夜剧场 |