微控制器指令判斷正誤,微控制器的指令判斷正誤

時間 2021-10-14 23:45:02

1樓:匿名使用者

1、clr a 對

2、mul r0,r1 錯,只有mul a,b

3、mov dptr,1050h 錯,猜測該題意圖應該是mov dptr,#1050h,並且dptr除了立即數賦值外只能用movx @dptr,a來為其賦值

4、 mov a,@r7 錯,只有r0與r1可以間址

5、 add 30h,20h 錯,add後面只能跟a,也就是add a,direct

6、 mov r1,c 錯,c是位,位與位元組不能這樣傳輸

7、 jmp @ro+dptr 錯,該指令只能用jmp @a+dptr

8、 mov a,#3000h 錯,a是8位的,不能將16位立即數賦值給a

9、 movc @a+dptr,a 錯,該指令應該為 movc a,@a+dptr

10、 movx a,@a+dptr

2樓:匿名使用者

你指的是彙編還是c?如果是彙編,要注意暫存器有沒有用錯啦~立即數有沒有加#啦~無非就是這些,c就不用考慮那麼多了~基本出不了什麼錯~

3樓:匿名使用者

1、clr a 錯,clr是位指令,對位的,如:clr c

2、mul r0,r1 錯,只能mul ab

3、mov dptr,1050h 錯,dptr有2個位元組 地址1050h就個8位

4、 mov a,@r7 對,片內地址可以用,片外就得movx

5、 add 30h,20h 錯,20h改為#20h就可以,20h是地址,不是立即數

6、 mov r1,c 錯,c為位地址,不是8位的位元組地址

7、 jmp @ro+dptr 錯,沒這領命 jmp @a+dptr

8、 mov a,#3000h 錯,#3000h是2個位元組了,只能給dptr

9、 movc @a+dptr,a 錯,沒這命令 movc a, @a+pc

10、 movx a,@a+dptr 錯,沒這命令 movx a , @dptr

微控制器的指令判斷正誤

微控制器判斷指令正誤,如有錯誤改正1.div r0,r1; 2.mov r1,@r7;

4樓:匿名使用者

這兩條都是錯誤的,1.除法dlv只在a中進行,a/b,正確:div ab

2.沒有@r7定址,正確

mov r1 , a

或,mov a , @r1

這條改法是很多的

微控制器指令的合法性如何判斷

微控制器的指令系統和定址方式 微控制器要正常運作,事先需編制程式,再把程式放入存貯器中,然後由cpu執行該程式。程式是由指令組成的,指令的基本組成是操作碼和運算元。微控制器的品種很多,設計時怎樣表示操作碼和運算元,都有各自的規定,再有指令 也各不相同,因此,必須對所選微控制器的全部指令,也就是所謂 ...

返回主程式指令是什麼微控制器,微控制器中斷返回指令

飄渺迷人 ret 普通子程式 reti 中斷子程式 古梵吉 我仔細看了一下所有人的回答,有根本沒看懂樓主問題答非所問的,也有回答的差不離的,我來切一下重點好了。樓主這所有問題其實歸根結底就是一個問題,堆疊和sp 堆疊指標 的問題 call指令執行時,就是先把當前程式指標壓入堆疊並使sp加1,然後開始...

微控制器加法指令只怎麼執行的,51微控制器的加法指令到底怎麼加啊,例如12A4H 0FE7H

a,30h是將30h記憶體中數加a放到a的儲存單元。84h 8dh,d是13,加4為17,0到15即0到f這16個數,結果為1,進位標誌c為有效,然後加進8 8 c 17,還是保留1並進位,所以最後是11h。psw是微控制器內部標誌暫存器,是微控制器執行必不可少的基本運算基礎,cy是進位標誌,是位元...