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是進位標誌,是位元...