微控制器 匯程式設計序問題三則

2021-07-09 14:57:45 字數 1378 閱讀 1441

其一:試編寫程式,統計資料區長度。

設資料區從片內ram的30h單元開始,該資料區以0結束,統計結果放入2fh中。

我這道題不會做,大家幫我一下。

最佳答案:

程式如下:

mov   2fh, #0         ;長度為零

mov   r0,   #30h       ;起始位址

jiang_cha:

mov   a,   @r0         ;取來資料

inc   r0

inc   2fh              ;長度加一

jnz   jiang_cha        ;不為0,就繼續檢查

;dec   2fh             ;前面的計算,是把0算做資料區內的,如果不算0,長度應該減一

ret                     ;結束

回答者:   做而論道 - 八級   2009-10-24 20:21

原題**:

其二:程式設計,將ram35h—55h單元中的內容傳送到片外ram中去。

最佳答案:

;假定片外ram的位址是2800h。

mov r0, #35h

mov dptr, #2800h

m_loop:

mov a, @r0

movx @dptr, a

inc r0

inc dptr

cjne r0, #56h, m_loop

ret

回答者:   做而論道 - 八級   2009-10-24 08:05

提問者對於答案的評價:謝謝

原題**:

其三:程式設計序。在內部ram的21h單元,開始存在有一組單位元組不帶符號數,資料長度為30h,要求找出最大數存r1單元。

程式如下:

mov r0, #21h       ;起始位址

mov r1, #00h      ;先用0當做最大值

mov r2, #30h       ;資料長度

loop:

mov a,   @r0       ;取來乙個資料

clr c

subb a,   r1         ;減「最大值」

jnc rel1            ;不夠減就算了

mov a,   @r0        ;夠減,就把這個資料

mov r1, a           ;當做最大值

rel1:

inc r0              ;轉向下乙個

djnz r2, loop        ;迴圈

sjmp $               ;結束

end

回答者: 做而論道 - 八級   2009-10-20 07:41

原題**:

微控制器反彙編程式設計師居然淪落為電工!

電線 有 火線 零線和地線之分。當你 單節 火線,不通電時,你會發現 用電筆去測插座的 火線和零線 電筆會發亮,當你把兩條電線的其中一條作為火線單插到插座,同時把插座開啟,此時,用電筆測 這兩條電線 火線和零線 你會發現兩端都使電筆發亮,用電壓表測 電表負極接到實際的地上 火線的電壓 實測交流80v...

微控制器彙編程式設計300例 微控制器基礎組合語言程式設計例項

微控制器組合語言程式設計 1 編寫程式,用位處理指令實現 p1.4 p1.0 p1.1 p1.2 p1.3 的邏輯功能。mov c,p1.1 anl c,p1.2 orl c,p1.0 orl c,p1.3 mov p1.3,c 2 編寫程式,若累加器a的內容分別滿足下列條件,則程式轉到lable儲...

初級匯程式設計序(三)

三 迴圈程式和串的傳送程式 程式設計實現將記憶體buf1中的10個位元組移至記憶體buf2中。data segment buf1 db abcdefghij buf2 db 10 dup data ends code segment assume cs code,ds data start mov ...