1樓:浴血前鋒
我也只能無奈地搖搖頭
丫問題呢?靠!浪費我時間
建議你別學這個了,回頭去學語文吧
2樓:匿名使用者
執行前r1中儲存的是一個變數的地址,是一個三位元組變數,用ab相乘後的16位結果加這個24位輸,然後儲存到這個24位的變數中。
3樓:
mul ab指令將積的低位存放在a中,然後執行上面的程式,就是將r1中的以及r1後面的2個地址中的值與存放於a中的值分別相加後存放於r1中,注意此處是帶進位的加法,很簡單的,好好看看書吧。
微控制器組合語言,求大神幫忙看下程式什麼意思
4樓:匿名使用者
程式很簡單,就是讓p1口全高電平一小段時間(執行delay延時子程式所需時間)後,再讓p1口全低電平持續20倍的時間,不斷重複上述過程。
org 0000h
start: mov p1,#0ffh ;讓p1口全高電平
acall delay ;一小段時間(呼叫一次delay延時子程式)
mov r2,#14h ;20倍
mov p1,#00h ;再讓p1口全低電平
lop: acall delay ;持續20倍的時間(直到r2為零即執行20次delay延時子程式)
djnz r2,lop
sjmp start ;不斷重複上述過程
sta delay: mov tmod,#01h ;設定定時器0模式為1模式即16位定時器
mov tl0,#0b0h ;定時器0裝入初值15536(即3cb0h)
mov th0,#3ch
setb tr0 ;啟動定時器0
loop: jbc tf0,next ;等待定時器0計滿溢位(即計數65536-15536=50000次)則清溢位標誌並重灌初值15536後返回
sjmp loop
retnext: mov tl0,#0b0h;重灌初值15536後
mov th0,#3ch
ret ;返回end
5樓:匿名使用者
org 0000h 程式從0000開始存放start: mov p1,#0ffh 向p1埠輸出ffacall delay 呼叫延遲函式,這個延遲函式動過定時器實現的mov r2,#14h 將14傳給r2暫存器mov p1,#00h 向p1埠輸出00lop: acall delay 延遲一段時間djnz r2,lop 判斷r2暫存器是不是不等於0,是的話跳轉到lop上
sjmp start 否則直接跳轉到start處sta delay: mov tmod,#01h 延遲函式的實現,配置定時器暫存器
mov tl0,#0b0h 配置定時時長mov th0,#3ch
setb tr0 開啟定時器
loop: jbc tf0,next 判斷定時器是否溢位sjmp loop 不斷判斷
retnext: mov tl0,#0b0h 重新設定定時器mov th0,#3ch
ret函式返回end
6樓:
p1=ff 1倍的時間
p1=00 20倍的時間 、、14h=20
微控制器組合語言中,呼叫子程式求a的平方,那子程式怎麼表示
7樓:讗逓量蟼
;…… mov a, #10 ;預置數 lcall pf ;呼叫子程式;……;……pf: mov b, a mul ab retend微控制器組合語言中,呼叫子程式求a的平方,那專子程式怎屬麼表示
8樓:
有什麼問題呢? 你要在數碼管上顯示的是正弦波的有效值吧? 按照有效值的定專
微控制器彙編時,子程式的ljmp問題
9樓:匿名使用者
在微控制器彙編程式中,如果ljmp到子程
序(如果不是呼叫且用ret返回的話就不能專叫子程式了,)那麼屬必須再用ljmp跳回來才行,如果是lcall呼叫,但ljmp跳回,那麼將破還堆疊結構,程式就會出現混亂了。有如下關係:
lcall
.......
ret這必須成對出現。
10樓:匿名使用者
樓上說的沒錯 你進入函式時斷點的地址入棧了 但是沒有ret 你的地址沒有出棧 你的堆疊就整體錯位瞭如果你上面的程式 在ljmp loop 前面 加入兩個pop指令那就沒問題了
微控制器組合語言程式設計,全國微控制器組合語言程式設計師
org 0000h main mov dptr,3000h clr r0 clr r1 clr r2 mov r3,100 loop mov a,dptr clr c cjne a,0h,loop1 inc r0 djnz r3,loop loop1 rl a jc fushu inc r1 djn...
微控制器大神請進,51微控制器彙編程式,程式可發至
生活如歌 1 p1口做輸出口,編寫程式,使p1口接的8個發光二極體l1 l8按16進位制加一方式點亮發光二極體。程式如下 org 0540h ha1s mov a,00h a初值為0 ha1s1 jb p3.3,ha1s1 如果p3.3為1則等待 有脈衝變0一次 mov r2,20h r2賦值為20...
微控制器彙編程式出錯
圖太不清晰了 問題可能在p0口的上拉電阻上 過小了 執行時暫停下,看p0口的邏輯電平。再一個就是檢查 網路標號了 低階錯誤 ls,對此程式而言,好像延時沒有必要!程式,我看沒問題,就看你電路的連線了。我proteus剛關掉,我就不試了,關注該問題進展。怎麼沒見你寫對數碼管的選址指令啊?數碼管顯示一位...