3.3組合語言程式設計實驗
實驗六分支程式設計
一、 實驗目的
1. 進一步熟悉mcs-51指令系統,了解組合語言程式設計的基本結構。
2. 掌握分支結構程式設計的方法。
3. 學會用條件轉移指令、cjne、jmp及其配合使用來編寫二分支、三分支和多分支程式。
二、 實驗內容
1. 二分支的條件轉移程式
設變數x存放於r0,函式值y存放在r1,其中x、y均為二進位制數。試按照下式的要求給y賦值:
程式框圖如圖3-5所示:
:三、實驗步驟
1. 根據實驗內容和參考程式流程圖,編出相應的分支結構程式。
2. 輸入程式,彙編成功;
3. 用f4(執行到游標處)、f7(跟蹤執行)、f8(單步執行)或斷點執行等方式除錯程式;
4. 觀察程式的流程,記錄執行結果。
四、思考題
1. cjne指令對cy 有影響嗎?用cjne 和jc/jnc指令配合應注意什麼?
在用jmp 指令前,若變址255怎麼辦?
答:1)cjne指令對cy 有影響。cjne (目的位元組),(源位元組),rel 功能 :目的位元組與源位元組比較,相等則繼續執行,不相等則轉移,同時,
若目的位元組》=源位元組,(c)=0
若目的位元組《源位元組,(c)=1
2)選取好正確的direct值以便確定cy的值
3)提前設好變址,使變址<255
2.用什麼指令可以實現多分支之間的隔離?
答:控制、條件轉移指令,包括jmp、cjne、djnz、jc、jb等,可以轉移到$或其他。
五、實驗報告要求
寫出題目執行結果。
六、參考程式清單
1、二分支的條件轉移程式
1) 用二分支結構程式實現:
org 0000h
mov a, r0
jz load等於零轉load
jnb acc.7,go大於零轉go
mov a, #0ffh
sjmp load
go: mov a, #01h
load: mov r1, a
sjmp $
end1)賦值(r0)=00h
執行結果:(r1)=0x00
2)賦值(r0)=15h
執行結果: (r1)=0x01
3)賦值(r0)=0f2h
執行結果:(r1)= 0xff
2)用三分支結構程式實現:
org 0000h
mov a, r0
jnz comp ;不等於零轉comp
mov r1,#00h ;等於零,則0 (r1)
sjmp ***
comp: cjne r0,#80h,mp1 ;(r0)中數與80h比較,不相等則轉移到mp1
mov r1,#0ffh ;若比較相等,則-1 (r1)
ljmp ***
mp1: jc mp2兩數不相等,(r0)> 0轉mp2
mov r1,#0ffh ;(r0) < 0,-1 (r1)
ljmp ***
mp2: mov r1,#01h ;(r0)>0,1 (r1)
***: sjmp $
end1) 賦值(r0)=00h
執行結果:(r1)=0x00
2) 賦值(r0)=15h
執行結果:(r1)=0x01
3)賦值(r0)=0f2h
執行結果:(r1)=0xff
實驗七迴圈程式設計
一、實驗目的
1. 進一步熟悉mcs-51指令系統,了解組合語言程式設計的基本結構。掌握迴圈結構程式設計的方法,弄清單重及多重迴圈控制過程。
2. 通過設計軟體延時程式,學會計算內外迴圈次數以及迴圈體的迴圈時間。
二、 實驗內容
1. 設計乙個迴圈程式
具體要求:將內部ram中30h至32h的內容右移四位,程式流程圖如圖3-6所示。
2. 設計迴圈程式:冒泡法排序。
具體要求:設微控制器8031外部ram從3600h單元開始存放10個無符號數,試編寫程式能使它們按從大到小的順序排列(最大數存放在3600h單元)。程式流程圖如圖3-7所示
三、 實驗步驟
1. 輸入預先編好的程式,彙編成功;
2. 用自動單步方式執行程式,觀察迴圈計數器的變化情況。
3. 用斷點執行方式除錯排序程式,記錄排序過程。
四、實驗報告要求
1. 編出相應的迴圈結構程式,列出程式清單,並且會計算迴圈體的迴圈時間。
2. 寫出自選題目的設計內容、程式清單及執行結果。
五、思考題
1. 程式中迴圈時間由什麼來控制?
上海第二工業大學微控制器實驗實訓實驗報告
微控制器實驗實訓實驗報告2 班級 10計科a1 學號 20123430074姓名 賈強強 1.實驗目的 熟練掌握對基本i o口的控制方法,通過編寫迴圈和延時程式控制p1口引腳訊號電平的高低,從而實現相對應led燈的亮滅 2 實驗要求 led燈的亮滅時間為1秒,並伴隨有你蜂鳴器1秒間隔的 嘀 聲 3....
河北工業大學陡河電廠實習報告
大唐國際陡河發電廠實習報告 河北工業大學高舉 工學並舉 偉大旗幟歷經百餘年一路走來,如今終於把口號付諸於實踐。經過熱能專業三年的學習,專業課程已將要結束,在理論知識積累快要完畢時為了加深我們對所學專業的認識,提高專業素養,培養專業熱情,為以後的就業學習做準備,學院特意精心為我們安排了到唐山陡河電廠進...
附1 塗卡要求河北工業大學
附1 塗卡要求。影象資訊採集卡填塗說明 1 所在院校名稱及院校 本一 河北工業大學10080 本三 河北工業大學城市學院 13584。1 院 系 從左向右,只填頭兩個空格 2 姓名及區位碼 從左向右依次填寫,中間不得空格,如出現編碼本內查詢不到的漢字,請將區位碼內的四個數字一律填塗 0 並請在漢字旁...