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

 找回密碼
 立即注冊

QQ登錄

只需一步,快速開始

搜索
查看: 34120|回復(fù): 0
打印 上一主題 下一主題
收起左側(cè)

正確區(qū)分LJMP、AJMP、SJMP、JMP單片機跳轉(zhuǎn)指令

[復(fù)制鏈接]
跳轉(zhuǎn)到指定樓層
樓主
ID:325686 發(fā)表于 2018-5-9 10:09 | 只看該作者 回帖獎勵 |倒序瀏覽 |閱讀模式
MCS-51的控制轉(zhuǎn)移類指令,共17條,分為無條件轉(zhuǎn)移指令、條件轉(zhuǎn)移指令、子程序調(diào)用和返回指令、空操作指令等四類。

無條件轉(zhuǎn)移指令(共4條)
LJMP addr16   ; PC〈—— addr16
AJMP addr11   ; PC〈—— PC+2 , PC10-0〈—— addr11
SJMP rel      ; PC〈—— PC+2 ,   PC  〈—— PC+rel
JMP  @A+DPTR  ; PC〈—— A+DPTR  

第一條指令稱為長轉(zhuǎn)移指令(Long Jump);
第二條指令叫作絕對轉(zhuǎn)移指令(Absolute Jump);
第三條指令稱作短轉(zhuǎn)移指令(Short Jump);
第四條指令是變址尋址轉(zhuǎn)移指令(散轉(zhuǎn)指令)。

顯然,每條指令均以改變程序計數(shù)器PC(Program Counter)中的內(nèi)容為宗旨。

(1)長轉(zhuǎn)移指令(64KB范圍內(nèi)轉(zhuǎn)移指令)
長轉(zhuǎn)移指令的功能是:把指令碼中的目標(biāo)地址addr16裝入程序計數(shù)器PC,使機器執(zhí)行下一條指令時無條件轉(zhuǎn)移到addr16處執(zhí)行程序,不影響任何標(biāo)志。由于addr16是一個16位二進(jìn)制地址(地址范圍為0000H—FFFFH),因此長轉(zhuǎn)移指令一條可以在64KB范圍內(nèi)轉(zhuǎn)移的指令。為了使程序設(shè)計方便易編,addr16常采用標(biāo)號地址(如:LOOP、LOOP1、MAIN、START、DONE、NEXT1……)表示,只有在上機執(zhí)行前才被匯編(或代真)為16位二進(jìn)制地址。
長轉(zhuǎn)移指令為三字節(jié),雙周期指令。
上機試試吧!很直觀的!  For Example: LJMP F886H
注意:
在下載的這個8051DEBUG軟件中,不支持標(biāo)號,且程序狀態(tài)字PSW(Program State Word)中的D0位,即奇偶標(biāo)志位P,與正確的正好相反,這一點是錯誤的,用的時候留意一下。

只要記好:累加器ACC中1的個數(shù)為奇數(shù),則P=1;否則P=0。

(2)絕對轉(zhuǎn)移指令(2KB范圍內(nèi)的轉(zhuǎn)移指令)
絕對轉(zhuǎn)移指令是一條雙字節(jié)雙周期指令,11位地址addr11(a10—a0)在指令中的分布是:
a10 a9 a8 0 0 0 1|a7 a6 a5 a4 a3 a2 a1 a0,其中,00001B是操作碼。在程序設(shè)計中,11位地址也可以用符號表示,但在上機執(zhí)行前必須按照上述指令格式加以代真。
絕對轉(zhuǎn)移指令執(zhí)行時分為兩步:
第一步是取指令操作,程序計數(shù)器PC中內(nèi)容被加1兩次;
第二步是把PC加2后的高5為地址PC15—PC11和指令代碼中低11位構(gòu)成目標(biāo)轉(zhuǎn)移地址:PC15—PC11   a10  a9   a8   a7   a6   a5   a4   a3   a2   a1   a0

其中,a10—a0的地址范圍是全“0”——全“1”。因此,絕對轉(zhuǎn)移指令可以在2KB范圍內(nèi)向前或向后跳轉(zhuǎn)。
如果把單片機64KB尋址區(qū)分成32頁(每頁2KB),則PC15—PC11(00000B—11111B)稱為頁面地址(即:0頁—31頁),a10—a0稱為頁內(nèi)地址,但應(yīng)注意:AJMP指令的目標(biāo)轉(zhuǎn)移地址不是和AJMP指令地址在同一個2KB區(qū)域,而是應(yīng)和AJMP指令取出后的PC地址(即:PC+2)在同一個2KB區(qū)域。例如:若AJMP指令地址為2FFEH,則PC+2=3000H,故目標(biāo)轉(zhuǎn)移地址必在3000H—37FFH這2KB區(qū)域中。
例如:MGH2001:AJMP addr11,
其中,MGH2001為AJMP addr11指令的標(biāo)號地址,由該指令在程序存儲器中的位置確定,addr11為11位地址,試分析該指令執(zhí)行后的情況以及指令碼的確定方法。
解:設(shè)MGH2001=3100H,addr11=10110100101B,則根據(jù)上述指令碼格式可得絕對轉(zhuǎn)移指令的格式碼為:1 0 1| 0 0 0 0 1|1 0 1 0 0 1 0 1|(a10 a9 a8|操作碼|a7—a0|)
即:A1A5H。該指令執(zhí)行后:
           PC15——PC11  a10 a9 a8 a7 a6 a5 a4 a3 a2 a1 a0
        PC= 0 0 1 1 0     1   0  1  1  0  1  0  0  1  0  1 B =35A5H
  即:程序轉(zhuǎn)移到35A5H處執(zhí)行。

(3)短轉(zhuǎn)移指令(-126—+129范圍內(nèi)的轉(zhuǎn)移指令)
短轉(zhuǎn)移指令的功能是先使程序計數(shù)器PC加1兩次(即:取出指令碼),然后把加2后的地址和rel相加作為目標(biāo)轉(zhuǎn)移地址。因此,短轉(zhuǎn)移指令是一條相對轉(zhuǎn)移指令,是一條雙字節(jié)雙周期指令,指令碼格式為:80H rel(操作碼  地址偏移量),這里,80H是SJMP指令的操作碼;rel是地址偏移量,在程序中也常采用符號地址,上機運行前才被代真成二進(jìn)制形式。
遇到具體問題時,頭腦中一定要清楚一個關(guān)系式:目標(biāo)轉(zhuǎn)移地址=源地址+2+rel

(4)變址尋址轉(zhuǎn)移指令(只能在256個存儲器單元內(nèi)轉(zhuǎn)移)
這是一條單字節(jié)雙周期無條件轉(zhuǎn)移指令。
在指令執(zhí)行之前,用戶應(yīng)預(yù)先把目標(biāo)轉(zhuǎn)移地址的基地址送入DPTR,目標(biāo)轉(zhuǎn)移地址對基地址的偏移量放在累加器A中。在指令執(zhí)行時,MCS-51單片機把DPTR中基地址和累加器A中地址偏移量相加,以形成目標(biāo)轉(zhuǎn)移地址送入程序計數(shù)器PC中。
通常,DPTR中基地址是一個確定的值,常常是一張轉(zhuǎn)移指令表的起始地址,累加器A中之值為表的偏移量地址,機器通過變址尋址轉(zhuǎn)移指令便可實現(xiàn)程序的分支轉(zhuǎn)移跳轉(zhuǎn)的范圍不一樣,可以說是到達(dá)的遠(yuǎn)近距離不一樣。存儲空間占用不一樣。
AJMP 的范圍是11位地址,也就是2K的空間內(nèi),占用存儲空間2個字節(jié),執(zhí)行周期24個時鐘周期。
LJMP 的范圍是16位地址,也就是64K的空間內(nèi),占用存儲空間3個字節(jié),執(zhí)行周期24個時鐘周期。
SJMP 的范圍是8位地址,也就是256BIT的空間內(nèi),占用存儲空間2個字節(jié),執(zhí)行周期24個時鐘周期。
JMP一般配合DPTR使用,存儲空間1個字節(jié),執(zhí)行周期24個時鐘周期。一般用于多分枝選擇的時候使用,比如按鍵處理。
ACALL,LCALL和以上說明類似,是調(diào)用指令,ACALL占用存儲空間2個字節(jié),執(zhí)行周期24個時鐘周期。LCALL占用存儲空間3個字節(jié),執(zhí)行周期24個時鐘周期。


完整的Word格式文檔51黑下載地址:
正確區(qū)分LJMP,AJMP,SJMP,JMP.docx (17.81 KB, 下載次數(shù): 20)


評分

參與人數(shù) 2黑幣 +61 收起 理由
laopihappy123 + 11 很給力!
admin + 50 共享資料的黑幣獎勵!

查看全部評分

分享到:  QQ好友和群QQ好友和群 QQ空間QQ空間 騰訊微博騰訊微博 騰訊朋友騰訊朋友
收藏收藏3 分享淘帖 頂1 踩
回復(fù)

使用道具 舉報

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

本版積分規(guī)則

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

Powered by 單片機教程網(wǎng)

快速回復(fù) 返回頂部 返回列表
主站蜘蛛池模板: 亚洲精品视频在线播放 | 亚洲天堂中文字幕 | 激情黄色在线观看 | 中文字幕日韩av | 天天久 | 日本精品一区二区三区四区 | 国产精品视频中文字幕 | 在线欧美小视频 | 毛片a级毛片免费播放100 | 91精产国品一二三区 | 亚洲精品一区二区在线观看 | 欧美人妖网站 | 久一精品 | 久久毛片| 在线高清免费观看视频 | 91污在线 | 91免费在线视频 | 日韩中文久久 | 欧美日韩黄色一级片 | 91资源在线观看 | 久久精品国产免费 | 中文字幕在线中文 | h片在线观看网站 | 91极品欧美视频 | 亚洲激情一级片 | 色在线看 | 亚洲午夜av久久乱码 | 久久久黄色 | 成人h免费观看视频 | 成人日韩 | 一级a性色生活片久久毛片波多野 | 欧美成人免费在线 | 国产日韩欧美在线 | 蜜桃av鲁一鲁一鲁一鲁 | 精品久久久久久一区二区 | 亚洲免费人成在线视频观看 | 东方伊人免费在线观看 | 91极品尤物在线播放国产 | 亚洲传媒在线 | 天天天天天操 | 国产三区精品 |