1樓:匿名使用者
設r0=20h,r1=25h,(20h)=70h,(21h)=80h,(22h)=a0h,(22h)=a0h,(25h)=a0h(26h)=6fh,(27h)=76h,下列程式執行後,
clr c ;cy=0
mov r2,#3 ;r2=03h r2=02h r2=01h
loop:
mov a,@r0 ;a=70h a=80h a=a0h
addc a,@r1 ;cy=1,a=10h cy=0,a=f0h cy=1,a=16h
mov @r0,a ;(20h)=10h (21h)=f0h (22h)=16h
inc r0 ;r0=21h r0=22h r0=23h
inc r1 ;r1=26h r1=27h r1=28h
djnz r2,loop ;
jnc next ;
mov @r0,#01h ; 23h=01h
sjmp $
next: dec r0 ;
sjmp $
結果:(20h)=10h ,(21h)=f0h ,(22h)=16h ,(23h)=01h ,(a)=16h ,(cy)=1 .
分析過程參照註釋
2樓:匿名使用者
知道@的意義不久知道怎麼算了。指標的作用。
3樓:匿名使用者
10h; 3fh; 16h; 01h; 16h; 1;幾句話也說不清
4樓:牟涆單于丹蝶
movro,#20h
;r0=20h
mova,@ro
;a=(20h)=40h
movr1,a
;r1=40h
movb,@r1
;b=(40h)=22h
mov@r1,r1
;(40h)=40h
movp3,p1
;p3=p1=0cfh
綜上,(a)=
40h(b)=
22h(r0)=
20h(r1)=40h
(p1)=
(p3)=
0cfh
(20h)=40h
(22h)=10h
微控制器程式分析題求解答
5樓:
以上程式轉換成c語言如下:
data unsigned char *pr0 =( data unsigned char data *)0x40;
data unsigned char *pr1 =( data unsigned char data *)0x4f;
unsigned char i = 3;
for(i = 3;i>0;i--)
這樣就比較好看清楚了:
即把 地址為40h 的ram裡的內容 賦值給 地址為 4fh 的ram
地址為41h 的ram裡的內容 賦值給 地址為 4eh 的ram地址為42h 的ram裡的內容 賦值給 地址為 4dh 的ram程式就是做這事的,至於為什麼做這事,那要看你的大環境
6樓:匿名使用者
mov r0,# 40h //立即數40送r0mov r1,# 4fh
mov r2,# 03h
loop:mov a,@r0 // 行標 loop:r0內容送amov @r1,a //a內容送r1inc r0 //r0地址+1
dec r1 //r1地址-1djnz r2,loop //r2-1不為「0」程式就跳轉到行標為loop
ret //過程返回
7樓:做而論道
本程式的功能是:
在片內 ram 裡面進行資料傳送。
具體的說,就是:
把的 40h、41h、42h 三個單元中的內容,分別傳送到 4fh、4eh、4dh。
微控制器延遲程式詳解,微控制器延時程式的延時時間怎麼算的?
如果是51,晶振是12m,你的程式可延遲4ms左右。如果一定要用它延遲40ms,那就把晶振換成1m左右的吧!晶振12m時,一條djnz花的時間是2us,mov r5,108h 花的時間是1us ret 花的時間是2us 你算一下它們執行了幾次,把他們花掉的時間加起來,就是延遲時間了。你可以參巧延遲算...
求51微控制器程式,求一個51微控制器程式
需要樓主給出64個不同顏色led的連線圖。手動,也要有電路圖。18b20溫度感測器,當然了。沒有電路,求程式?先求一個電路吧。求個51微控制器程式 10 組合語言可以嗎?org 0000h jmp start org 000bh mov th0,4ch 定時50ms 11.0592mhz djnz ...
微控制器問題,我會寫微控制器程式可是讓我自己設計電路板都不會,什麼電阻選用也不會該怎麼學
那你從最基礎的電工學和數位電路開始學起了,如果這個還難的話,中學的物理可以再回頭看看。看看模電書,再自己做點小玩意 會寫微控制器程式,但是不會設計微控制器電路,該怎麼學 微控制器程式和硬體密切相關,必須兩者都熟悉才行,不象電腦技術,不懂硬體照樣可以在軟體領域內大有作為。要設計微控制器電路,必須有基本...