- 7條回答
-
1188天琪
06-29 15:46
如果所有的寄存器之間都可以直接賦值,MCU的總線結(jié)構(gòu)會(huì)復(fù)雜很多。
51可以MOV dir,dir,但是SFR不能 dir 訪問,只能間址訪問。
-
andyseu
06-28 07:35
LZ,51有:
MOV Rn,dir
MOV dir.dir
所以要實(shí)現(xiàn)MOV R1,R0,如果確認(rèn)R0/R1在BANK0(00H/01H)單元,則可以:
MOV r1,00h
或者
MOV 01H,00H
一般還是用ACC中轉(zhuǎn)比較好。
-
f1070388065
07-04 13:37
我想明白為什么不可以
MOV? ?R1,R0
-
li124688559
07-04 21:53
8位微控制器中Z8系列的可以,通用MCU中可以的很多。
至于為什么51核這樣,與它的微指令譯碼結(jié)構(gòu)有關(guān)。
-
jhdfvs
07-01 16:51
51核設(shè)計(jì)為8位字長指令字,如果R0~R7間直接尋址,需要6bit,占用字長過寬,得到的益處過少。如果擴(kuò)充為16位字長,速度、字長空間與MOV? ?A,R0??;MOV? ?R1,A 一樣,而且微代碼結(jié)構(gòu)復(fù)雜很多。
-
60user99
07-01 14:52
R0~R7 需要8個(gè)地址,3個(gè)bit。要直接賦值就需要兩次尋址,所以就需要占6bit。
-
qwe043
06-29 18:44
誰說不行的??你們究竟有沒有進(jìn)行過實(shí)際的測試??
至少STC的51機(jī)就可以,不信自己燒這個(gè)程序試試:
ORG 0040H
MIAN:
MOV R0,P3
MOV R1,R0
MOV P1,R1
AJMP MIAN
END
這個(gè)程序是把P3做輸入,把P3輸出狀態(tài)傳給P1,P3的所有I/O外部輸入變化的時(shí)候,P1輸出同樣值。這里就用了MOV R1,R0,測試是完全正常的!你們自己測試看看AT的行不行?