1樓:匿名使用者
第乙個意思是將累加器a中的內容複製到暫存器r0中的內容中去,第二個是將指標中的內容中的內容複製到累加器a中,具體是什麼定址我忘了,應該是間接定址吧!
2樓:匿名使用者
這是尋找片外ram 方式是暫存器間接定址
mov a,@r0 movx a,@r0 movc a,@a+dptr 這三個指令的作用分別是什麼?
3樓:匿名使用者
mov a,@r0:將r0這個值表示的內部ram位址裡面的資料大小傳送給累加器
movx a,@r0 :將r0這個值表示的外部ram位址裡面的資料大小傳送給累加器
movc a,@a+dptr: 將dptr位址加上累加器a得到的位址的資料傳送給累加器a
movx a,@r0和movx a,@dptr有何區別
4樓:做而論道
主要的區別在於對外輸出位址的方式上。
movx a,@r0
movx a,@r1
只是占用p0口,輸出r0或r1中的8位位址。
而:movx a,@dptr
要占用p0、p2口,輸出dptr中的16位位址。
movx a,@dptr和mov a ,@dptr有什麼區別?
5樓:做而論道
movx a,@dptr
mov a,@dptr
有什麼區別?
前者,正確;後者,是非法指令。
6樓:匿名使用者
前者是從片外儲存區(dptr指向的單元)將資料讀到a暫存器;後者是從片內儲存區(dptr指向的單元)將資料讀到a暫存器。具體片內片外的位址範圍,書上或手冊上會有介紹。
【彙編】mov dptr,#e000h;movx a,@dptr與movx a, #e000h有什麼區別?
7樓:胖大海君
嘿嘿mov dptr,#e000h;movx a,@dptr與movx a, #e000h有什麼區別?
最大的區別就是乙個是51微控制器的合法指令,另乙個是51微控制器的非法指令
你是想訪問片外資料儲存器,將片外資料儲存器位址為e000h單元的內容傳送給累加器a。
訪問片外資料儲存器必須要使用資料指標dptr做間接暫存器來訪問
mov dptr,#e000h; 首先將要訪問的位址送給指標 即要確定資料指標的指向(e000h的單元)
movx a;使用片外資料儲存器的傳送指令,將指標所指的單元的內容送給累加器a。
因此 以上指令時正確的。
而movx a, #e000h 在8051微控制器的指令表中時不存在的,
movx指令 只能採用暫存器間接定址 即如,@dptr ,@r0; 而不能採用其它定址方式
如: #e000h 立即數定址 e000h 直接定址 都是不對的 ,即違法的。
呵呵 滿意 就選滿意回答啊
8樓:做而論道
mov dptr,#0e000h;
movx a,@dptr
這兩條是正確的寫法。
movx a, #0e000h
這一條,是非法指令。
編寫程式,必須使用指令系統中存在的指令。
自己創造的指令,就是非法指令。
mov a,@ri 和mov a,@dptr的區別
9樓:做而論道
它們都是從片外ram讀出乙個位元組,到a中。
但是使用的位址線,是不同的。
movx a,@ri 僅僅使用低8位的位址線(p0口),有效範圍是0~255;
movx a,@dptr 使用16位的位址線(p0、p2口),有效範圍是0~65535。
10樓:匿名使用者
我記得ri好像是8位的,dptr是16位的,如果位數少的話,都可以用,但是要是用到的位數多的話,ri就不能用了
for與since的用法與區別,for與since的用法與區別
since 時間段,for 時間點 for和since 都可用於完成時態。區別 for 後接時間段,如 for2 years since後接時間點,如 since 2yearsago since和for的區別用法 1 用法不同。這兩個詞都可以和表示時間的詞語連用。一般說來,for後接一段時間 累計時...
Coreldraw與photoshop與3Dmax什麼區別
coreldraw 向量設計軟體 主要用於向量圖形設計 例如商標 企業vi ci等 還有網路產品的ui設計 photoshop 使用範圍更廣,與影象設計有關的都可以使用ps處理設計 3dmax 三維影像設計軟體 簡單說 coreldraw 平面軟體,大多用來排版 印刷。photoshop 平面軟體,...
與同學對話,與同學對話
a 你還記得小時候的事情嗎?b 當然,小時候我經常和爺爺奶奶到外面去玩呢 a 看來,你的童年一定很快樂,對嗎?b 嗯,家裡的人都特別喜歡我。爺爺看書的時候,我總是在他身邊靜靜的坐著,後來他看我也喜歡,就經常給我講那書裡面的故事。到了吃飯的時候,是最開心的了,奶奶的手藝實在是太棒了,簡直能讓人把舌頭都...