欧美极品高清xxxxhd,国产日产欧美最新,无码AV国产东京热AV无码,国产精品人与动性XXX,国产传媒亚洲综合一区二区,四库影院永久国产精品,毛片免费免费高清视频,福利所导航夜趣136

 找回密碼
 立即注冊

QQ登錄

只需一步,快速開始

搜索
查看: 3294|回復: 8
打印 上一主題 下一主題
收起左側

關于單片機查表指令的問題

[復制鏈接]
跳轉到指定樓層
樓主
ID:450037 發表于 2019-1-18 22:23 來自觸屏版 | 只看該作者 |只看大圖 回帖獎勵 |倒序瀏覽 |閱讀模式
關于查表指令的問題
第一:為什么開始匯編程序給累加器是14的偏移量
第二:當進入Roop子程序時,入棧累加器A,那么A是不是要加一,那么偏移量是不是就變成了15
第三:在比較指令不想等時,累加器加一和地址指針分別加一是什么意思,為什么要兩個都加一

Screenshot_20190117-203424.jpg (296.06 KB, 下載次數: 40)

Screenshot_20190117-203424.jpg
分享到:  QQ好友和群QQ好友和群 QQ空間QQ空間 騰訊微博騰訊微博 騰訊朋友騰訊朋友
收藏收藏 分享淘帖 頂 踩
回復

使用道具 舉報

沙發
ID:7485 發表于 2019-1-19 08:49 | 只看該作者
從本條指令起,到TAB4表中間的各條指令的機器碼一共有14個,所以是14
回復

使用道具 舉報

板凳
ID:7485 發表于 2019-1-19 08:55 | 只看該作者
本帖最后由 ahshmj 于 2019-1-19 14:08 編輯

上次在你的另外的一個帖子里已經告訴你了:“
MOVC  A,  @A+PC 本條指令是查表指令,也叫作:“程序存儲器讀指令”,要讀的值在“TAB3”表中。“PC”是當前(本條指令)代碼在程序存儲器中的位置,而TAB3表距離當前“PC”還有6個字節的距離,所以當前的“PC”值+6,才是TAB3的首字符位置。”


你看看從“MOVC  A,  @A+PC”這語句到“TAB3”之間有幾條指令(不含本語句)?這幾條指令的機器碼就是6個字節。

在沒有給“TAB3”指定位置的情況下,程序的機器碼是按先后順序存放燒寫的。

“PC”的值就是當前語句的機器碼燒寫在程序存儲器中的地址。再加上6個字節,就到“TAB3”的首地址了。

你可以打開你的本工程目錄下,經過編譯產生的*.lst文件看看便知。

根據你的提問,你現在理解這些還有一定的難度,如果你真心的想學、想掌握這門技術,建議你還是扎扎實實的打好基礎。

有好幾個網友的回帖都講的非常詳細了,就是基礎再差也該看懂了。
這么詳細還是看不懂?
回復

使用道具 舉報

地板
ID:7485 發表于 2019-1-19 09:00 | 只看該作者
在看不懂你就別用這個指令了。用:

MOV   DPTR,  #TAB4
MOVC    A,   @A+DPTR

這個可以不用考慮偏移量。
回復

使用道具 舉報

5#
ID:450037 發表于 2019-1-19 17:18 來自觸屏版 | 只看該作者
ahshmj 發表于 2019-1-19 08:49
從本條指令起,到TAB4表中間的各條指令的機器碼一共有14個,所以是14

一個字節是一個機器碼嗎?我數的是12個機器碼,中間是不是有哪個是兩個機器碼的啊
回復

使用道具 舉報

6#
ID:7485 發表于 2019-1-20 08:01 | 只看該作者
zhangzhao2423 發表于 2019-1-19 17:18
一個字節是一個機器碼嗎?我數的是12個機器碼,中間是不是有哪個是兩個機器碼的啊

每條指令的機器碼不一定相同,有單字節的、兩字節的、三字節的。
回復

使用道具 舉報

7#
ID:450037 發表于 2019-1-20 10:05 來自觸屏版 | 只看該作者
ahshmj 發表于 2019-1-20 08:01
每條指令的機器碼不一定相同,有單字節的、兩字節的、三字節的。

我想請問一下,它這個機器碼怎么算的啊
MOV  R2,DPH和MOV R3,DPL分別占用幾個字節
MOV   R2,#00H和MOV  R3,#00H分別占用幾個字節啊?我算出來不止14個機器碼了
回復

使用道具 舉報

8#
ID:7485 發表于 2019-1-20 18:41 | 只看該作者
第一問:
   操作內容:Rn←(direct),(n=0~7)
    字節數: 2
    機器周期:2
第二問:
    操作內容:Rn←data,(n=0~7)
    字節數: 2
    機器周期:1

你問的4條指令全是2字節。

回復

使用道具 舉報

9#
ID:450037 發表于 2019-1-21 07:11 來自觸屏版 | 只看該作者
ahshmj 發表于 2019-1-20 18:41
第一問:
   操作內容:Rn←(direct),(n=0~7)
    字節數: 2

你好前輩,如果給寄存器的算兩個字節的話,那么我從查表指令數下來就有16個偏移量啦,這還是不對啊??
回復

使用道具 舉報

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

本版積分規則

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

Powered by 單片機教程網

快速回復 返回頂部 返回列表