找回密碼
 立即注冊(cè)

QQ登錄

只需一步,快速開(kāi)始

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

[求助]有段匯編看不懂,求解~~

[復(fù)制鏈接]
跳轉(zhuǎn)到指定樓層
樓主
ID:27899 發(fā)表于 2011-1-26 20:14 | 只看該作者 回帖獎(jiǎng)勵(lì) |倒序?yàn)g覽 |閱讀模式

代碼如下:

MOV DPTR,#TAB        ;置分支入口地址表首址
MOV A,R7                  ; 分支轉(zhuǎn)移序號(hào)送A
ADD A,R7                  ;分支轉(zhuǎn)移序號(hào)乘以2
MOV R3,A                 ;暫存人R3
MOVC A,@A+DPTR     ;處理程序入口地址的低8位暫存入R3//    ?問(wèn)題所在,這個(gè)怎么就是把低八位存入呢
XCH A,R3

INC  A

MOVC A,@A+DPTR     ;處理程序入口地址的低8位送入DPL//     ?這個(gè)一樣道理??

MOV DPL,A

MOV DPH,R3               ;處理程序入口地址的高8位送入DPH

CLR A                         ;累加器清零

……

……

 

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

使用道具 舉報(bào)

沙發(fā)
ID:27770 發(fā)表于 2011-1-27 04:07 | 只看該作者

MOVC A,@A+DPTR     ;處理程序入口地址的低8位暫存入R3//   

?問(wèn)題所在,這個(gè)怎么就是把低八位存入呢

解答:

DPTR 是一個(gè)16位的索引寄存器,比較特殊.它由 DPH(高字節(jié)) 與 DPL(低字節(jié)) 組合而成.----沒(méi)有它,就無(wú)法直接或間接訪問(wèn) 64K 的內(nèi)部或外部的地址空間!

通常,我們對(duì) DPTR 進(jìn)行直接賦值,可以直接給它最大 65535 的數(shù)據(jù)(16BIT).但是,如果我們通過(guò)其它寄存器(或 A))間接賦值時(shí),由于這些寄存器只有 8 位,因此,這種操作總是把這個(gè) 8 位存入到 DPL 去.

就象一臺(tái)汽車可以裝載 8 噸物資,但是,你每次只能運(yùn)送 100 公斤物資給它,不能一下子滿載.
存入--寫入--賦值---拷貝到----移動(dòng)到----.....都代表相同意思,就是把一個(gè)數(shù)據(jù)放入去某個(gè)寄存器.

某些情況下,也可以把 DPTR 作為一個(gè) 16 位或 2 個(gè) 8 位通用臨時(shí)寄存器來(lái)使用.----但是必須掌握清楚使用條件,不能有沖突!否則會(huì)影響到程序運(yùn)行.

僅供參考!

回復(fù)

使用道具 舉報(bào)

板凳
ID:28220 發(fā)表于 2011-3-4 18:54 | 只看該作者
解答的好!我是新手,剛看的時(shí)候也不明白!
回復(fù)

使用道具 舉報(bào)

本版積分規(guī)則

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

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

快速回復(fù) 返回頂部 返回列表