1樓:做而論道
32位數,以十進位制顯示,就太麻煩了。
2樓:匿名使用者
我有用16進位制顯示32位暫存器值的子程式,若需要跟我說。
誰給我寫一個最簡單的組合語言程式
3樓:rq冬樺幻憶
............上來就是lcd人家看得懂麼......
org 0000h
ajmp main
org 0030h
main:
mov p0,#00h
mov p1,#00h
mov p2,#00h
mov p3,#00h
acall del
mov p0,#ffh
mov p1,#ffh
mov p2,#ffh
mov p3,#ffh
acall del
ajmp main
org 200h
del: mov r5,#04h
del1:mov r6,#0ffh
del2:mov r7,#0ffh
del3:djnz r7,del3
djnz r6,del2
djnz r5,del1
retend
給新手的新手註釋 :h表示地址 mov 是賦值的含義 r1,r2.....是暫存器,main相當於c語言中主函式,是程 序的入口 0h~30h 一般用於存放中斷函式無條件跳轉語句(即為ajmp,sjmp,ljmp, 3者無條件跳轉的地址量有限,ljmp最大(64kbyte空間內語句可跳轉),sjmp最小(-128h~+127h )) ,ajmp為2kbyte無條件跳轉
del 在該程式中表示延時函式,首先對暫存器r5,r6,r7賦值,r5*r6*r7*機器週期為延時時間 【 機器週期:12mhz晶振=1us 6mhz=2us】 執行完del中的mov後 執行的是djnz命令,相當於c中i - -,不同的是若 i - -!=0,則跳轉到 [djnz r...
,()] 中()所代表的自定義函式
end表程式結束符(必須有)acall是表示呼叫子程式(這裡,子函式是延時函式del)。。。。。與ret配套ret表返**用子程式處
另外,該函式p0的點亮反映了共陰極合共陽極的不同,共陽極是mcu(即為微控制器)接上若干發光二極體,並接電源vcc=+5v,如此一來,共陽極 熄滅整個一組埠ffh,點亮整個一組埠為00h 共陰極熄滅與點亮與共陽極恰起相反,因為共陰極mcu接上發光二極體後(從電路圖看發光二極體上那一小豎道要面向gnd而不是像共陽極那樣面向mcu,當然在實際上也要注意接法的正負)接gnd
4樓:做而論道
;在螢幕上輸出「hello world!」,最簡**如下:
c_s segment
assume cs: c_s, ds: c_ss_t:
mov ax, c_s
mov ds, ax
lea dx, p_s
mov ah, 9
int 21h
mov ah, 4ch
int 21h
p_s db 'hello world!', 36c_s ends
end s_t
5樓:匿名使用者
在螢幕上輸出「hello world!」,**如下:
datas segment
string db 13,10,'hello world!',13,10,'$'
datas ends
codes segment
assume cs:codes,ds:datasstart:
mov ax,datas
mov ds,ax
lea dx,string
mov ah,9
int 21h
mov ah,4ch
int 21h
codes ends
end start
請幫我編個組合語言的程式
6樓:
入口條件:資料塊的首址在dptr中,資料個數在r7中。
出口資訊:最大值在r6中,地址在r2r3中;最小值在r7中,地址在r4r5中。
影響資源:psw、a、b、r1~r7 堆疊需求: 4位元組mm: mov b,r7 ;儲存資料個數
movx a,@dptr ;讀取第一個資料mov r6,a ;作為最大值的初始值
mov r7,a ;也作為最小值的初始值
mov a,dpl ;取第一個資料的地址
mov r3,a ;作為最大值存放地址的初始值mov r5,a ;也作為最小值存放地址的初始值mov a,dph
mov r2,a
mov r4,a
mov a,b ;取資料個數
dec a ;減一,得到需要比較的次數
jz mme ;只有一個資料,不需要比較
mov r1,a ;儲存比較次數
push dpl ;保護資料塊的首址
push dph
mm1: inc dptr ;指向一個新的資料movx a,@dptr ;讀取這個資料
mov b,a ;儲存
setb c ;與最大值比較
subb a,r6
jc mm2 ;不超過當前最大值,保持當前最大值mov r6,b ;超過當前最大值,更新最大值存放地址mov r2,dph ;同時更新最大值存放地址mov r3,dpl
sjmp mm3
mm2: mov a,b ;與最小值比較
clr c
subb a,r7
jnc mm3 ;大於或等於當前最小值,保持當前最小值mov r7,b ;更新最小值
mov r4,dph ;更新最小值存放地址mov r5,dpl
mm3: djnz r1,mm1 ;處理完全部資料pop dph ;恢復資料首址
pop dpl
mme: ret
7樓:匿名使用者
厲害 .我也學到了一點東西.
幫我 用組合語言寫一個程式,謝謝!
幫忙寫一下51彙編程式的註釋,求會51微控制器的大神幫忙給彙編程式加點註釋!!
flag bit 00h 定義flag為00h位 org 00h 以下彙編的程式 從0000h單元開始連續存放 start jb p1.7,start 測試等待報警訊號 p1.7為1則等待 jnb flag,next 有報警則測flag位,為0轉next,控制蜂鳴器響和不響的時間長短 mov r2,...
誰給我解釋一段Verilog程式
經 無法檢測下降沿。不知道lz用意何在?不直接用clk下降沿而採用posedge 檢測?clk negedge 不是一直會為低電平嗎?有為高電平 1 的情況?樓主對這段 做過 沒?不好意思,前面錯將iclk看成lclk了。若iclk的下降沿到達則iclk delay1 前一次採集到1,後一次採集到0...
幫我寫的一段文字
文人相輕,自古有之。樵夫道人,本應攜手。同競風流,共譜華章。不能倖免,實為憾事!依我觀之,樵夫之評,也算入木三分,只是言詞稍嫌尖刻,易令人誤為漫罵。道人聞過則怒,大可不必。所謂良藥苦口,忠言逆耳,道人豈不知曉?況且樵夫之說終為一家之言,一件作品,仁者見仁,智者見智,如同一塊石頭,在數學家 物理學家 ...